OLD | NEW |
| (Empty) |
1 // Copyright (c) 2015, the Dartino project authors. Please see the AUTHORS file | |
2 // for details. All rights reserved. Use of this source code is governed by a | |
3 // BSD-style license that can be found in the LICENSE.md file. | |
4 | |
5 // WARNING: Generated file, do not edit! | |
6 | |
7 part of fletch.bytecodes; | |
8 | |
9 enum Opcode { | |
10 LoadLocal0, | |
11 LoadLocal1, | |
12 LoadLocal2, | |
13 LoadLocal3, | |
14 LoadLocal4, | |
15 LoadLocal5, | |
16 LoadLocal, | |
17 LoadLocalWide, | |
18 LoadBoxed, | |
19 LoadStatic, | |
20 LoadStaticInit, | |
21 LoadField, | |
22 LoadFieldWide, | |
23 StoreLocal, | |
24 StoreBoxed, | |
25 StoreStatic, | |
26 StoreField, | |
27 StoreFieldWide, | |
28 LoadLiteralNull, | |
29 LoadLiteralTrue, | |
30 LoadLiteralFalse, | |
31 LoadLiteral0, | |
32 LoadLiteral1, | |
33 LoadLiteral, | |
34 LoadLiteralWide, | |
35 InvokeMethod, | |
36 InvokeTest, | |
37 InvokeEq, | |
38 InvokeLt, | |
39 InvokeLe, | |
40 InvokeGt, | |
41 InvokeGe, | |
42 InvokeAdd, | |
43 InvokeSub, | |
44 InvokeMod, | |
45 InvokeMul, | |
46 InvokeTruncDiv, | |
47 InvokeBitNot, | |
48 InvokeBitAnd, | |
49 InvokeBitOr, | |
50 InvokeBitXor, | |
51 InvokeBitShr, | |
52 InvokeBitShl, | |
53 InvokeStatic, | |
54 InvokeFactory, | |
55 Allocate, | |
56 AllocateImmutable, | |
57 InvokeNoSuchMethod, | |
58 InvokeTestNoSuchMethod, | |
59 InvokeNative, | |
60 InvokeNativeYield, | |
61 InvokeSelector, | |
62 Pop, | |
63 Drop, | |
64 Return, | |
65 ReturnNull, | |
66 BranchWide, | |
67 BranchIfTrueWide, | |
68 BranchIfFalseWide, | |
69 BranchBack, | |
70 BranchBackIfTrue, | |
71 BranchBackIfFalse, | |
72 BranchBackWide, | |
73 BranchBackIfTrueWide, | |
74 BranchBackIfFalseWide, | |
75 PopAndBranchWide, | |
76 PopAndBranchBackWide, | |
77 AllocateBoxed, | |
78 Negate, | |
79 StackOverflowCheck, | |
80 Throw, | |
81 SubroutineCall, | |
82 SubroutineReturn, | |
83 ProcessYield, | |
84 CoroutineChange, | |
85 Identical, | |
86 IdenticalNonNumeric, | |
87 EnterNoSuchMethod, | |
88 ExitNoSuchMethod, | |
89 InvokeMethodUnfold, | |
90 InvokeTestUnfold, | |
91 InvokeEqUnfold, | |
92 InvokeLtUnfold, | |
93 InvokeLeUnfold, | |
94 InvokeGtUnfold, | |
95 InvokeGeUnfold, | |
96 InvokeAddUnfold, | |
97 InvokeSubUnfold, | |
98 InvokeModUnfold, | |
99 InvokeMulUnfold, | |
100 InvokeTruncDivUnfold, | |
101 InvokeBitNotUnfold, | |
102 InvokeBitAndUnfold, | |
103 InvokeBitOrUnfold, | |
104 InvokeBitXorUnfold, | |
105 InvokeBitShrUnfold, | |
106 InvokeBitShlUnfold, | |
107 LoadConst, | |
108 MethodEnd, | |
109 } | |
110 | |
111 class LoadLocal0 extends Bytecode { | |
112 const LoadLocal0() | |
113 : super(); | |
114 | |
115 Opcode get opcode => Opcode.LoadLocal0; | |
116 | |
117 String get name => 'LoadLocal0'; | |
118 | |
119 bool get isBranching => false; | |
120 | |
121 String get format => ''; | |
122 | |
123 int get size => 1; | |
124 | |
125 int get stackPointerDifference => 1; | |
126 | |
127 String get formatString => 'load local 0'; | |
128 | |
129 void addTo(Sink<List<int>> sink) { | |
130 new BytecodeBuffer() | |
131 ..addUint8(opcode.index) | |
132 ..sendOn(sink); | |
133 } | |
134 | |
135 String toString() => 'load local 0'; | |
136 } | |
137 | |
138 class LoadLocal1 extends Bytecode { | |
139 const LoadLocal1() | |
140 : super(); | |
141 | |
142 Opcode get opcode => Opcode.LoadLocal1; | |
143 | |
144 String get name => 'LoadLocal1'; | |
145 | |
146 bool get isBranching => false; | |
147 | |
148 String get format => ''; | |
149 | |
150 int get size => 1; | |
151 | |
152 int get stackPointerDifference => 1; | |
153 | |
154 String get formatString => 'load local 1'; | |
155 | |
156 void addTo(Sink<List<int>> sink) { | |
157 new BytecodeBuffer() | |
158 ..addUint8(opcode.index) | |
159 ..sendOn(sink); | |
160 } | |
161 | |
162 String toString() => 'load local 1'; | |
163 } | |
164 | |
165 class LoadLocal2 extends Bytecode { | |
166 const LoadLocal2() | |
167 : super(); | |
168 | |
169 Opcode get opcode => Opcode.LoadLocal2; | |
170 | |
171 String get name => 'LoadLocal2'; | |
172 | |
173 bool get isBranching => false; | |
174 | |
175 String get format => ''; | |
176 | |
177 int get size => 1; | |
178 | |
179 int get stackPointerDifference => 1; | |
180 | |
181 String get formatString => 'load local 2'; | |
182 | |
183 void addTo(Sink<List<int>> sink) { | |
184 new BytecodeBuffer() | |
185 ..addUint8(opcode.index) | |
186 ..sendOn(sink); | |
187 } | |
188 | |
189 String toString() => 'load local 2'; | |
190 } | |
191 | |
192 class LoadLocal3 extends Bytecode { | |
193 const LoadLocal3() | |
194 : super(); | |
195 | |
196 Opcode get opcode => Opcode.LoadLocal3; | |
197 | |
198 String get name => 'LoadLocal3'; | |
199 | |
200 bool get isBranching => false; | |
201 | |
202 String get format => ''; | |
203 | |
204 int get size => 1; | |
205 | |
206 int get stackPointerDifference => 1; | |
207 | |
208 String get formatString => 'load local 3'; | |
209 | |
210 void addTo(Sink<List<int>> sink) { | |
211 new BytecodeBuffer() | |
212 ..addUint8(opcode.index) | |
213 ..sendOn(sink); | |
214 } | |
215 | |
216 String toString() => 'load local 3'; | |
217 } | |
218 | |
219 class LoadLocal4 extends Bytecode { | |
220 const LoadLocal4() | |
221 : super(); | |
222 | |
223 Opcode get opcode => Opcode.LoadLocal4; | |
224 | |
225 String get name => 'LoadLocal4'; | |
226 | |
227 bool get isBranching => false; | |
228 | |
229 String get format => ''; | |
230 | |
231 int get size => 1; | |
232 | |
233 int get stackPointerDifference => 1; | |
234 | |
235 String get formatString => 'load local 4'; | |
236 | |
237 void addTo(Sink<List<int>> sink) { | |
238 new BytecodeBuffer() | |
239 ..addUint8(opcode.index) | |
240 ..sendOn(sink); | |
241 } | |
242 | |
243 String toString() => 'load local 4'; | |
244 } | |
245 | |
246 class LoadLocal5 extends Bytecode { | |
247 const LoadLocal5() | |
248 : super(); | |
249 | |
250 Opcode get opcode => Opcode.LoadLocal5; | |
251 | |
252 String get name => 'LoadLocal5'; | |
253 | |
254 bool get isBranching => false; | |
255 | |
256 String get format => ''; | |
257 | |
258 int get size => 1; | |
259 | |
260 int get stackPointerDifference => 1; | |
261 | |
262 String get formatString => 'load local 5'; | |
263 | |
264 void addTo(Sink<List<int>> sink) { | |
265 new BytecodeBuffer() | |
266 ..addUint8(opcode.index) | |
267 ..sendOn(sink); | |
268 } | |
269 | |
270 String toString() => 'load local 5'; | |
271 } | |
272 | |
273 class LoadLocal extends Bytecode { | |
274 final int uint8Argument0; | |
275 const LoadLocal(this.uint8Argument0) | |
276 : super(); | |
277 | |
278 Opcode get opcode => Opcode.LoadLocal; | |
279 | |
280 String get name => 'LoadLocal'; | |
281 | |
282 bool get isBranching => false; | |
283 | |
284 String get format => 'B'; | |
285 | |
286 int get size => 2; | |
287 | |
288 int get stackPointerDifference => 1; | |
289 | |
290 String get formatString => 'load local %d'; | |
291 | |
292 void addTo(Sink<List<int>> sink) { | |
293 new BytecodeBuffer() | |
294 ..addUint8(opcode.index) | |
295 ..addUint8(uint8Argument0) | |
296 ..sendOn(sink); | |
297 } | |
298 | |
299 String toString() => 'load local ${uint8Argument0}'; | |
300 | |
301 operator==(Bytecode other) { | |
302 if (!(super==(other))) return false; | |
303 LoadLocal rhs = other; | |
304 if (uint8Argument0 != rhs.uint8Argument0) return false; | |
305 return true; | |
306 } | |
307 | |
308 int get hashCode { | |
309 int value = super.hashCode; | |
310 value += uint8Argument0; | |
311 return value; | |
312 } | |
313 } | |
314 | |
315 class LoadLocalWide extends Bytecode { | |
316 final int uint32Argument0; | |
317 const LoadLocalWide(this.uint32Argument0) | |
318 : super(); | |
319 | |
320 Opcode get opcode => Opcode.LoadLocalWide; | |
321 | |
322 String get name => 'LoadLocalWide'; | |
323 | |
324 bool get isBranching => false; | |
325 | |
326 String get format => 'I'; | |
327 | |
328 int get size => 5; | |
329 | |
330 int get stackPointerDifference => 1; | |
331 | |
332 String get formatString => 'load local %d'; | |
333 | |
334 void addTo(Sink<List<int>> sink) { | |
335 new BytecodeBuffer() | |
336 ..addUint8(opcode.index) | |
337 ..addUint32(uint32Argument0) | |
338 ..sendOn(sink); | |
339 } | |
340 | |
341 String toString() => 'load local ${uint32Argument0}'; | |
342 | |
343 operator==(Bytecode other) { | |
344 if (!(super==(other))) return false; | |
345 LoadLocalWide rhs = other; | |
346 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
347 return true; | |
348 } | |
349 | |
350 int get hashCode { | |
351 int value = super.hashCode; | |
352 value += uint32Argument0; | |
353 return value; | |
354 } | |
355 } | |
356 | |
357 class LoadBoxed extends Bytecode { | |
358 final int uint8Argument0; | |
359 const LoadBoxed(this.uint8Argument0) | |
360 : super(); | |
361 | |
362 Opcode get opcode => Opcode.LoadBoxed; | |
363 | |
364 String get name => 'LoadBoxed'; | |
365 | |
366 bool get isBranching => false; | |
367 | |
368 String get format => 'B'; | |
369 | |
370 int get size => 2; | |
371 | |
372 int get stackPointerDifference => 1; | |
373 | |
374 String get formatString => 'load boxed %d'; | |
375 | |
376 void addTo(Sink<List<int>> sink) { | |
377 new BytecodeBuffer() | |
378 ..addUint8(opcode.index) | |
379 ..addUint8(uint8Argument0) | |
380 ..sendOn(sink); | |
381 } | |
382 | |
383 String toString() => 'load boxed ${uint8Argument0}'; | |
384 | |
385 operator==(Bytecode other) { | |
386 if (!(super==(other))) return false; | |
387 LoadBoxed rhs = other; | |
388 if (uint8Argument0 != rhs.uint8Argument0) return false; | |
389 return true; | |
390 } | |
391 | |
392 int get hashCode { | |
393 int value = super.hashCode; | |
394 value += uint8Argument0; | |
395 return value; | |
396 } | |
397 } | |
398 | |
399 class LoadStatic extends Bytecode { | |
400 final int uint32Argument0; | |
401 const LoadStatic(this.uint32Argument0) | |
402 : super(); | |
403 | |
404 Opcode get opcode => Opcode.LoadStatic; | |
405 | |
406 String get name => 'LoadStatic'; | |
407 | |
408 bool get isBranching => false; | |
409 | |
410 String get format => 'I'; | |
411 | |
412 int get size => 5; | |
413 | |
414 int get stackPointerDifference => 1; | |
415 | |
416 String get formatString => 'load static %d'; | |
417 | |
418 void addTo(Sink<List<int>> sink) { | |
419 new BytecodeBuffer() | |
420 ..addUint8(opcode.index) | |
421 ..addUint32(uint32Argument0) | |
422 ..sendOn(sink); | |
423 } | |
424 | |
425 String toString() => 'load static ${uint32Argument0}'; | |
426 | |
427 operator==(Bytecode other) { | |
428 if (!(super==(other))) return false; | |
429 LoadStatic rhs = other; | |
430 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
431 return true; | |
432 } | |
433 | |
434 int get hashCode { | |
435 int value = super.hashCode; | |
436 value += uint32Argument0; | |
437 return value; | |
438 } | |
439 } | |
440 | |
441 class LoadStaticInit extends Bytecode { | |
442 final int uint32Argument0; | |
443 const LoadStaticInit(this.uint32Argument0) | |
444 : super(); | |
445 | |
446 Opcode get opcode => Opcode.LoadStaticInit; | |
447 | |
448 String get name => 'LoadStaticInit'; | |
449 | |
450 bool get isBranching => false; | |
451 | |
452 String get format => 'I'; | |
453 | |
454 int get size => 5; | |
455 | |
456 int get stackPointerDifference => 1; | |
457 | |
458 String get formatString => 'load static init %d'; | |
459 | |
460 void addTo(Sink<List<int>> sink) { | |
461 new BytecodeBuffer() | |
462 ..addUint8(opcode.index) | |
463 ..addUint32(uint32Argument0) | |
464 ..sendOn(sink); | |
465 } | |
466 | |
467 String toString() => 'load static init ${uint32Argument0}'; | |
468 | |
469 operator==(Bytecode other) { | |
470 if (!(super==(other))) return false; | |
471 LoadStaticInit rhs = other; | |
472 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
473 return true; | |
474 } | |
475 | |
476 int get hashCode { | |
477 int value = super.hashCode; | |
478 value += uint32Argument0; | |
479 return value; | |
480 } | |
481 } | |
482 | |
483 class LoadField extends Bytecode { | |
484 final int uint8Argument0; | |
485 const LoadField(this.uint8Argument0) | |
486 : super(); | |
487 | |
488 Opcode get opcode => Opcode.LoadField; | |
489 | |
490 String get name => 'LoadField'; | |
491 | |
492 bool get isBranching => false; | |
493 | |
494 String get format => 'B'; | |
495 | |
496 int get size => 2; | |
497 | |
498 int get stackPointerDifference => 0; | |
499 | |
500 String get formatString => 'load field %d'; | |
501 | |
502 void addTo(Sink<List<int>> sink) { | |
503 new BytecodeBuffer() | |
504 ..addUint8(opcode.index) | |
505 ..addUint8(uint8Argument0) | |
506 ..sendOn(sink); | |
507 } | |
508 | |
509 String toString() => 'load field ${uint8Argument0}'; | |
510 | |
511 operator==(Bytecode other) { | |
512 if (!(super==(other))) return false; | |
513 LoadField rhs = other; | |
514 if (uint8Argument0 != rhs.uint8Argument0) return false; | |
515 return true; | |
516 } | |
517 | |
518 int get hashCode { | |
519 int value = super.hashCode; | |
520 value += uint8Argument0; | |
521 return value; | |
522 } | |
523 } | |
524 | |
525 class LoadFieldWide extends Bytecode { | |
526 final int uint32Argument0; | |
527 const LoadFieldWide(this.uint32Argument0) | |
528 : super(); | |
529 | |
530 Opcode get opcode => Opcode.LoadFieldWide; | |
531 | |
532 String get name => 'LoadFieldWide'; | |
533 | |
534 bool get isBranching => false; | |
535 | |
536 String get format => 'I'; | |
537 | |
538 int get size => 5; | |
539 | |
540 int get stackPointerDifference => 0; | |
541 | |
542 String get formatString => 'load field %d'; | |
543 | |
544 void addTo(Sink<List<int>> sink) { | |
545 new BytecodeBuffer() | |
546 ..addUint8(opcode.index) | |
547 ..addUint32(uint32Argument0) | |
548 ..sendOn(sink); | |
549 } | |
550 | |
551 String toString() => 'load field ${uint32Argument0}'; | |
552 | |
553 operator==(Bytecode other) { | |
554 if (!(super==(other))) return false; | |
555 LoadFieldWide rhs = other; | |
556 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
557 return true; | |
558 } | |
559 | |
560 int get hashCode { | |
561 int value = super.hashCode; | |
562 value += uint32Argument0; | |
563 return value; | |
564 } | |
565 } | |
566 | |
567 class StoreLocal extends Bytecode { | |
568 final int uint8Argument0; | |
569 const StoreLocal(this.uint8Argument0) | |
570 : super(); | |
571 | |
572 Opcode get opcode => Opcode.StoreLocal; | |
573 | |
574 String get name => 'StoreLocal'; | |
575 | |
576 bool get isBranching => false; | |
577 | |
578 String get format => 'B'; | |
579 | |
580 int get size => 2; | |
581 | |
582 int get stackPointerDifference => 0; | |
583 | |
584 String get formatString => 'store local %d'; | |
585 | |
586 void addTo(Sink<List<int>> sink) { | |
587 new BytecodeBuffer() | |
588 ..addUint8(opcode.index) | |
589 ..addUint8(uint8Argument0) | |
590 ..sendOn(sink); | |
591 } | |
592 | |
593 String toString() => 'store local ${uint8Argument0}'; | |
594 | |
595 operator==(Bytecode other) { | |
596 if (!(super==(other))) return false; | |
597 StoreLocal rhs = other; | |
598 if (uint8Argument0 != rhs.uint8Argument0) return false; | |
599 return true; | |
600 } | |
601 | |
602 int get hashCode { | |
603 int value = super.hashCode; | |
604 value += uint8Argument0; | |
605 return value; | |
606 } | |
607 } | |
608 | |
609 class StoreBoxed extends Bytecode { | |
610 final int uint8Argument0; | |
611 const StoreBoxed(this.uint8Argument0) | |
612 : super(); | |
613 | |
614 Opcode get opcode => Opcode.StoreBoxed; | |
615 | |
616 String get name => 'StoreBoxed'; | |
617 | |
618 bool get isBranching => false; | |
619 | |
620 String get format => 'B'; | |
621 | |
622 int get size => 2; | |
623 | |
624 int get stackPointerDifference => 0; | |
625 | |
626 String get formatString => 'store boxed %d'; | |
627 | |
628 void addTo(Sink<List<int>> sink) { | |
629 new BytecodeBuffer() | |
630 ..addUint8(opcode.index) | |
631 ..addUint8(uint8Argument0) | |
632 ..sendOn(sink); | |
633 } | |
634 | |
635 String toString() => 'store boxed ${uint8Argument0}'; | |
636 | |
637 operator==(Bytecode other) { | |
638 if (!(super==(other))) return false; | |
639 StoreBoxed rhs = other; | |
640 if (uint8Argument0 != rhs.uint8Argument0) return false; | |
641 return true; | |
642 } | |
643 | |
644 int get hashCode { | |
645 int value = super.hashCode; | |
646 value += uint8Argument0; | |
647 return value; | |
648 } | |
649 } | |
650 | |
651 class StoreStatic extends Bytecode { | |
652 final int uint32Argument0; | |
653 const StoreStatic(this.uint32Argument0) | |
654 : super(); | |
655 | |
656 Opcode get opcode => Opcode.StoreStatic; | |
657 | |
658 String get name => 'StoreStatic'; | |
659 | |
660 bool get isBranching => false; | |
661 | |
662 String get format => 'I'; | |
663 | |
664 int get size => 5; | |
665 | |
666 int get stackPointerDifference => 0; | |
667 | |
668 String get formatString => 'store static %d'; | |
669 | |
670 void addTo(Sink<List<int>> sink) { | |
671 new BytecodeBuffer() | |
672 ..addUint8(opcode.index) | |
673 ..addUint32(uint32Argument0) | |
674 ..sendOn(sink); | |
675 } | |
676 | |
677 String toString() => 'store static ${uint32Argument0}'; | |
678 | |
679 operator==(Bytecode other) { | |
680 if (!(super==(other))) return false; | |
681 StoreStatic rhs = other; | |
682 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
683 return true; | |
684 } | |
685 | |
686 int get hashCode { | |
687 int value = super.hashCode; | |
688 value += uint32Argument0; | |
689 return value; | |
690 } | |
691 } | |
692 | |
693 class StoreField extends Bytecode { | |
694 final int uint8Argument0; | |
695 const StoreField(this.uint8Argument0) | |
696 : super(); | |
697 | |
698 Opcode get opcode => Opcode.StoreField; | |
699 | |
700 String get name => 'StoreField'; | |
701 | |
702 bool get isBranching => false; | |
703 | |
704 String get format => 'B'; | |
705 | |
706 int get size => 2; | |
707 | |
708 int get stackPointerDifference => -1; | |
709 | |
710 String get formatString => 'store field %d'; | |
711 | |
712 void addTo(Sink<List<int>> sink) { | |
713 new BytecodeBuffer() | |
714 ..addUint8(opcode.index) | |
715 ..addUint8(uint8Argument0) | |
716 ..sendOn(sink); | |
717 } | |
718 | |
719 String toString() => 'store field ${uint8Argument0}'; | |
720 | |
721 operator==(Bytecode other) { | |
722 if (!(super==(other))) return false; | |
723 StoreField rhs = other; | |
724 if (uint8Argument0 != rhs.uint8Argument0) return false; | |
725 return true; | |
726 } | |
727 | |
728 int get hashCode { | |
729 int value = super.hashCode; | |
730 value += uint8Argument0; | |
731 return value; | |
732 } | |
733 } | |
734 | |
735 class StoreFieldWide extends Bytecode { | |
736 final int uint32Argument0; | |
737 const StoreFieldWide(this.uint32Argument0) | |
738 : super(); | |
739 | |
740 Opcode get opcode => Opcode.StoreFieldWide; | |
741 | |
742 String get name => 'StoreFieldWide'; | |
743 | |
744 bool get isBranching => false; | |
745 | |
746 String get format => 'I'; | |
747 | |
748 int get size => 5; | |
749 | |
750 int get stackPointerDifference => -1; | |
751 | |
752 String get formatString => 'store field %d'; | |
753 | |
754 void addTo(Sink<List<int>> sink) { | |
755 new BytecodeBuffer() | |
756 ..addUint8(opcode.index) | |
757 ..addUint32(uint32Argument0) | |
758 ..sendOn(sink); | |
759 } | |
760 | |
761 String toString() => 'store field ${uint32Argument0}'; | |
762 | |
763 operator==(Bytecode other) { | |
764 if (!(super==(other))) return false; | |
765 StoreFieldWide rhs = other; | |
766 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
767 return true; | |
768 } | |
769 | |
770 int get hashCode { | |
771 int value = super.hashCode; | |
772 value += uint32Argument0; | |
773 return value; | |
774 } | |
775 } | |
776 | |
777 class LoadLiteralNull extends Bytecode { | |
778 const LoadLiteralNull() | |
779 : super(); | |
780 | |
781 Opcode get opcode => Opcode.LoadLiteralNull; | |
782 | |
783 String get name => 'LoadLiteralNull'; | |
784 | |
785 bool get isBranching => false; | |
786 | |
787 String get format => ''; | |
788 | |
789 int get size => 1; | |
790 | |
791 int get stackPointerDifference => 1; | |
792 | |
793 String get formatString => 'load literal null'; | |
794 | |
795 void addTo(Sink<List<int>> sink) { | |
796 new BytecodeBuffer() | |
797 ..addUint8(opcode.index) | |
798 ..sendOn(sink); | |
799 } | |
800 | |
801 String toString() => 'load literal null'; | |
802 } | |
803 | |
804 class LoadLiteralTrue extends Bytecode { | |
805 const LoadLiteralTrue() | |
806 : super(); | |
807 | |
808 Opcode get opcode => Opcode.LoadLiteralTrue; | |
809 | |
810 String get name => 'LoadLiteralTrue'; | |
811 | |
812 bool get isBranching => false; | |
813 | |
814 String get format => ''; | |
815 | |
816 int get size => 1; | |
817 | |
818 int get stackPointerDifference => 1; | |
819 | |
820 String get formatString => 'load literal true'; | |
821 | |
822 void addTo(Sink<List<int>> sink) { | |
823 new BytecodeBuffer() | |
824 ..addUint8(opcode.index) | |
825 ..sendOn(sink); | |
826 } | |
827 | |
828 String toString() => 'load literal true'; | |
829 } | |
830 | |
831 class LoadLiteralFalse extends Bytecode { | |
832 const LoadLiteralFalse() | |
833 : super(); | |
834 | |
835 Opcode get opcode => Opcode.LoadLiteralFalse; | |
836 | |
837 String get name => 'LoadLiteralFalse'; | |
838 | |
839 bool get isBranching => false; | |
840 | |
841 String get format => ''; | |
842 | |
843 int get size => 1; | |
844 | |
845 int get stackPointerDifference => 1; | |
846 | |
847 String get formatString => 'load literal false'; | |
848 | |
849 void addTo(Sink<List<int>> sink) { | |
850 new BytecodeBuffer() | |
851 ..addUint8(opcode.index) | |
852 ..sendOn(sink); | |
853 } | |
854 | |
855 String toString() => 'load literal false'; | |
856 } | |
857 | |
858 class LoadLiteral0 extends Bytecode { | |
859 const LoadLiteral0() | |
860 : super(); | |
861 | |
862 Opcode get opcode => Opcode.LoadLiteral0; | |
863 | |
864 String get name => 'LoadLiteral0'; | |
865 | |
866 bool get isBranching => false; | |
867 | |
868 String get format => ''; | |
869 | |
870 int get size => 1; | |
871 | |
872 int get stackPointerDifference => 1; | |
873 | |
874 String get formatString => 'load literal 0'; | |
875 | |
876 void addTo(Sink<List<int>> sink) { | |
877 new BytecodeBuffer() | |
878 ..addUint8(opcode.index) | |
879 ..sendOn(sink); | |
880 } | |
881 | |
882 String toString() => 'load literal 0'; | |
883 } | |
884 | |
885 class LoadLiteral1 extends Bytecode { | |
886 const LoadLiteral1() | |
887 : super(); | |
888 | |
889 Opcode get opcode => Opcode.LoadLiteral1; | |
890 | |
891 String get name => 'LoadLiteral1'; | |
892 | |
893 bool get isBranching => false; | |
894 | |
895 String get format => ''; | |
896 | |
897 int get size => 1; | |
898 | |
899 int get stackPointerDifference => 1; | |
900 | |
901 String get formatString => 'load literal 1'; | |
902 | |
903 void addTo(Sink<List<int>> sink) { | |
904 new BytecodeBuffer() | |
905 ..addUint8(opcode.index) | |
906 ..sendOn(sink); | |
907 } | |
908 | |
909 String toString() => 'load literal 1'; | |
910 } | |
911 | |
912 class LoadLiteral extends Bytecode { | |
913 final int uint8Argument0; | |
914 const LoadLiteral(this.uint8Argument0) | |
915 : super(); | |
916 | |
917 Opcode get opcode => Opcode.LoadLiteral; | |
918 | |
919 String get name => 'LoadLiteral'; | |
920 | |
921 bool get isBranching => false; | |
922 | |
923 String get format => 'B'; | |
924 | |
925 int get size => 2; | |
926 | |
927 int get stackPointerDifference => 1; | |
928 | |
929 String get formatString => 'load literal %d'; | |
930 | |
931 void addTo(Sink<List<int>> sink) { | |
932 new BytecodeBuffer() | |
933 ..addUint8(opcode.index) | |
934 ..addUint8(uint8Argument0) | |
935 ..sendOn(sink); | |
936 } | |
937 | |
938 String toString() => 'load literal ${uint8Argument0}'; | |
939 | |
940 operator==(Bytecode other) { | |
941 if (!(super==(other))) return false; | |
942 LoadLiteral rhs = other; | |
943 if (uint8Argument0 != rhs.uint8Argument0) return false; | |
944 return true; | |
945 } | |
946 | |
947 int get hashCode { | |
948 int value = super.hashCode; | |
949 value += uint8Argument0; | |
950 return value; | |
951 } | |
952 } | |
953 | |
954 class LoadLiteralWide extends Bytecode { | |
955 final int uint32Argument0; | |
956 const LoadLiteralWide(this.uint32Argument0) | |
957 : super(); | |
958 | |
959 Opcode get opcode => Opcode.LoadLiteralWide; | |
960 | |
961 String get name => 'LoadLiteralWide'; | |
962 | |
963 bool get isBranching => false; | |
964 | |
965 String get format => 'I'; | |
966 | |
967 int get size => 5; | |
968 | |
969 int get stackPointerDifference => 1; | |
970 | |
971 String get formatString => 'load literal %d'; | |
972 | |
973 void addTo(Sink<List<int>> sink) { | |
974 new BytecodeBuffer() | |
975 ..addUint8(opcode.index) | |
976 ..addUint32(uint32Argument0) | |
977 ..sendOn(sink); | |
978 } | |
979 | |
980 String toString() => 'load literal ${uint32Argument0}'; | |
981 | |
982 operator==(Bytecode other) { | |
983 if (!(super==(other))) return false; | |
984 LoadLiteralWide rhs = other; | |
985 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
986 return true; | |
987 } | |
988 | |
989 int get hashCode { | |
990 int value = super.hashCode; | |
991 value += uint32Argument0; | |
992 return value; | |
993 } | |
994 } | |
995 | |
996 class InvokeMethod extends Bytecode { | |
997 final int uint32Argument0; | |
998 const InvokeMethod(this.uint32Argument0) | |
999 : super(); | |
1000 | |
1001 Opcode get opcode => Opcode.InvokeMethod; | |
1002 | |
1003 String get name => 'InvokeMethod'; | |
1004 | |
1005 bool get isBranching => true; | |
1006 | |
1007 String get format => 'I'; | |
1008 | |
1009 int get size => 5; | |
1010 | |
1011 int get stackPointerDifference => VAR_DIFF; | |
1012 | |
1013 String get formatString => 'invoke method %d'; | |
1014 | |
1015 void addTo(Sink<List<int>> sink) { | |
1016 new BytecodeBuffer() | |
1017 ..addUint8(opcode.index) | |
1018 ..addUint32(uint32Argument0) | |
1019 ..sendOn(sink); | |
1020 } | |
1021 | |
1022 String toString() => 'invoke method ${uint32Argument0}'; | |
1023 | |
1024 operator==(Bytecode other) { | |
1025 if (!(super==(other))) return false; | |
1026 InvokeMethod rhs = other; | |
1027 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1028 return true; | |
1029 } | |
1030 | |
1031 int get hashCode { | |
1032 int value = super.hashCode; | |
1033 value += uint32Argument0; | |
1034 return value; | |
1035 } | |
1036 } | |
1037 | |
1038 class InvokeTest extends Bytecode { | |
1039 final int uint32Argument0; | |
1040 const InvokeTest(this.uint32Argument0) | |
1041 : super(); | |
1042 | |
1043 Opcode get opcode => Opcode.InvokeTest; | |
1044 | |
1045 String get name => 'InvokeTest'; | |
1046 | |
1047 bool get isBranching => true; | |
1048 | |
1049 String get format => 'I'; | |
1050 | |
1051 int get size => 5; | |
1052 | |
1053 int get stackPointerDifference => 0; | |
1054 | |
1055 String get formatString => 'invoke test %d'; | |
1056 | |
1057 void addTo(Sink<List<int>> sink) { | |
1058 new BytecodeBuffer() | |
1059 ..addUint8(opcode.index) | |
1060 ..addUint32(uint32Argument0) | |
1061 ..sendOn(sink); | |
1062 } | |
1063 | |
1064 String toString() => 'invoke test ${uint32Argument0}'; | |
1065 | |
1066 operator==(Bytecode other) { | |
1067 if (!(super==(other))) return false; | |
1068 InvokeTest rhs = other; | |
1069 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1070 return true; | |
1071 } | |
1072 | |
1073 int get hashCode { | |
1074 int value = super.hashCode; | |
1075 value += uint32Argument0; | |
1076 return value; | |
1077 } | |
1078 } | |
1079 | |
1080 class InvokeEq extends Bytecode { | |
1081 final int uint32Argument0; | |
1082 const InvokeEq(this.uint32Argument0) | |
1083 : super(); | |
1084 | |
1085 Opcode get opcode => Opcode.InvokeEq; | |
1086 | |
1087 String get name => 'InvokeEq'; | |
1088 | |
1089 bool get isBranching => true; | |
1090 | |
1091 String get format => 'I'; | |
1092 | |
1093 int get size => 5; | |
1094 | |
1095 int get stackPointerDifference => -1; | |
1096 | |
1097 String get formatString => 'invoke eq %d'; | |
1098 | |
1099 void addTo(Sink<List<int>> sink) { | |
1100 new BytecodeBuffer() | |
1101 ..addUint8(opcode.index) | |
1102 ..addUint32(uint32Argument0) | |
1103 ..sendOn(sink); | |
1104 } | |
1105 | |
1106 String toString() => 'invoke eq ${uint32Argument0}'; | |
1107 | |
1108 operator==(Bytecode other) { | |
1109 if (!(super==(other))) return false; | |
1110 InvokeEq rhs = other; | |
1111 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1112 return true; | |
1113 } | |
1114 | |
1115 int get hashCode { | |
1116 int value = super.hashCode; | |
1117 value += uint32Argument0; | |
1118 return value; | |
1119 } | |
1120 } | |
1121 | |
1122 class InvokeLt extends Bytecode { | |
1123 final int uint32Argument0; | |
1124 const InvokeLt(this.uint32Argument0) | |
1125 : super(); | |
1126 | |
1127 Opcode get opcode => Opcode.InvokeLt; | |
1128 | |
1129 String get name => 'InvokeLt'; | |
1130 | |
1131 bool get isBranching => true; | |
1132 | |
1133 String get format => 'I'; | |
1134 | |
1135 int get size => 5; | |
1136 | |
1137 int get stackPointerDifference => -1; | |
1138 | |
1139 String get formatString => 'invoke lt %d'; | |
1140 | |
1141 void addTo(Sink<List<int>> sink) { | |
1142 new BytecodeBuffer() | |
1143 ..addUint8(opcode.index) | |
1144 ..addUint32(uint32Argument0) | |
1145 ..sendOn(sink); | |
1146 } | |
1147 | |
1148 String toString() => 'invoke lt ${uint32Argument0}'; | |
1149 | |
1150 operator==(Bytecode other) { | |
1151 if (!(super==(other))) return false; | |
1152 InvokeLt rhs = other; | |
1153 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1154 return true; | |
1155 } | |
1156 | |
1157 int get hashCode { | |
1158 int value = super.hashCode; | |
1159 value += uint32Argument0; | |
1160 return value; | |
1161 } | |
1162 } | |
1163 | |
1164 class InvokeLe extends Bytecode { | |
1165 final int uint32Argument0; | |
1166 const InvokeLe(this.uint32Argument0) | |
1167 : super(); | |
1168 | |
1169 Opcode get opcode => Opcode.InvokeLe; | |
1170 | |
1171 String get name => 'InvokeLe'; | |
1172 | |
1173 bool get isBranching => true; | |
1174 | |
1175 String get format => 'I'; | |
1176 | |
1177 int get size => 5; | |
1178 | |
1179 int get stackPointerDifference => -1; | |
1180 | |
1181 String get formatString => 'invoke le %d'; | |
1182 | |
1183 void addTo(Sink<List<int>> sink) { | |
1184 new BytecodeBuffer() | |
1185 ..addUint8(opcode.index) | |
1186 ..addUint32(uint32Argument0) | |
1187 ..sendOn(sink); | |
1188 } | |
1189 | |
1190 String toString() => 'invoke le ${uint32Argument0}'; | |
1191 | |
1192 operator==(Bytecode other) { | |
1193 if (!(super==(other))) return false; | |
1194 InvokeLe rhs = other; | |
1195 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1196 return true; | |
1197 } | |
1198 | |
1199 int get hashCode { | |
1200 int value = super.hashCode; | |
1201 value += uint32Argument0; | |
1202 return value; | |
1203 } | |
1204 } | |
1205 | |
1206 class InvokeGt extends Bytecode { | |
1207 final int uint32Argument0; | |
1208 const InvokeGt(this.uint32Argument0) | |
1209 : super(); | |
1210 | |
1211 Opcode get opcode => Opcode.InvokeGt; | |
1212 | |
1213 String get name => 'InvokeGt'; | |
1214 | |
1215 bool get isBranching => true; | |
1216 | |
1217 String get format => 'I'; | |
1218 | |
1219 int get size => 5; | |
1220 | |
1221 int get stackPointerDifference => -1; | |
1222 | |
1223 String get formatString => 'invoke gt %d'; | |
1224 | |
1225 void addTo(Sink<List<int>> sink) { | |
1226 new BytecodeBuffer() | |
1227 ..addUint8(opcode.index) | |
1228 ..addUint32(uint32Argument0) | |
1229 ..sendOn(sink); | |
1230 } | |
1231 | |
1232 String toString() => 'invoke gt ${uint32Argument0}'; | |
1233 | |
1234 operator==(Bytecode other) { | |
1235 if (!(super==(other))) return false; | |
1236 InvokeGt rhs = other; | |
1237 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1238 return true; | |
1239 } | |
1240 | |
1241 int get hashCode { | |
1242 int value = super.hashCode; | |
1243 value += uint32Argument0; | |
1244 return value; | |
1245 } | |
1246 } | |
1247 | |
1248 class InvokeGe extends Bytecode { | |
1249 final int uint32Argument0; | |
1250 const InvokeGe(this.uint32Argument0) | |
1251 : super(); | |
1252 | |
1253 Opcode get opcode => Opcode.InvokeGe; | |
1254 | |
1255 String get name => 'InvokeGe'; | |
1256 | |
1257 bool get isBranching => true; | |
1258 | |
1259 String get format => 'I'; | |
1260 | |
1261 int get size => 5; | |
1262 | |
1263 int get stackPointerDifference => -1; | |
1264 | |
1265 String get formatString => 'invoke ge %d'; | |
1266 | |
1267 void addTo(Sink<List<int>> sink) { | |
1268 new BytecodeBuffer() | |
1269 ..addUint8(opcode.index) | |
1270 ..addUint32(uint32Argument0) | |
1271 ..sendOn(sink); | |
1272 } | |
1273 | |
1274 String toString() => 'invoke ge ${uint32Argument0}'; | |
1275 | |
1276 operator==(Bytecode other) { | |
1277 if (!(super==(other))) return false; | |
1278 InvokeGe rhs = other; | |
1279 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1280 return true; | |
1281 } | |
1282 | |
1283 int get hashCode { | |
1284 int value = super.hashCode; | |
1285 value += uint32Argument0; | |
1286 return value; | |
1287 } | |
1288 } | |
1289 | |
1290 class InvokeAdd extends Bytecode { | |
1291 final int uint32Argument0; | |
1292 const InvokeAdd(this.uint32Argument0) | |
1293 : super(); | |
1294 | |
1295 Opcode get opcode => Opcode.InvokeAdd; | |
1296 | |
1297 String get name => 'InvokeAdd'; | |
1298 | |
1299 bool get isBranching => true; | |
1300 | |
1301 String get format => 'I'; | |
1302 | |
1303 int get size => 5; | |
1304 | |
1305 int get stackPointerDifference => -1; | |
1306 | |
1307 String get formatString => 'invoke add %d'; | |
1308 | |
1309 void addTo(Sink<List<int>> sink) { | |
1310 new BytecodeBuffer() | |
1311 ..addUint8(opcode.index) | |
1312 ..addUint32(uint32Argument0) | |
1313 ..sendOn(sink); | |
1314 } | |
1315 | |
1316 String toString() => 'invoke add ${uint32Argument0}'; | |
1317 | |
1318 operator==(Bytecode other) { | |
1319 if (!(super==(other))) return false; | |
1320 InvokeAdd rhs = other; | |
1321 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1322 return true; | |
1323 } | |
1324 | |
1325 int get hashCode { | |
1326 int value = super.hashCode; | |
1327 value += uint32Argument0; | |
1328 return value; | |
1329 } | |
1330 } | |
1331 | |
1332 class InvokeSub extends Bytecode { | |
1333 final int uint32Argument0; | |
1334 const InvokeSub(this.uint32Argument0) | |
1335 : super(); | |
1336 | |
1337 Opcode get opcode => Opcode.InvokeSub; | |
1338 | |
1339 String get name => 'InvokeSub'; | |
1340 | |
1341 bool get isBranching => true; | |
1342 | |
1343 String get format => 'I'; | |
1344 | |
1345 int get size => 5; | |
1346 | |
1347 int get stackPointerDifference => -1; | |
1348 | |
1349 String get formatString => 'invoke sub %d'; | |
1350 | |
1351 void addTo(Sink<List<int>> sink) { | |
1352 new BytecodeBuffer() | |
1353 ..addUint8(opcode.index) | |
1354 ..addUint32(uint32Argument0) | |
1355 ..sendOn(sink); | |
1356 } | |
1357 | |
1358 String toString() => 'invoke sub ${uint32Argument0}'; | |
1359 | |
1360 operator==(Bytecode other) { | |
1361 if (!(super==(other))) return false; | |
1362 InvokeSub rhs = other; | |
1363 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1364 return true; | |
1365 } | |
1366 | |
1367 int get hashCode { | |
1368 int value = super.hashCode; | |
1369 value += uint32Argument0; | |
1370 return value; | |
1371 } | |
1372 } | |
1373 | |
1374 class InvokeMod extends Bytecode { | |
1375 final int uint32Argument0; | |
1376 const InvokeMod(this.uint32Argument0) | |
1377 : super(); | |
1378 | |
1379 Opcode get opcode => Opcode.InvokeMod; | |
1380 | |
1381 String get name => 'InvokeMod'; | |
1382 | |
1383 bool get isBranching => true; | |
1384 | |
1385 String get format => 'I'; | |
1386 | |
1387 int get size => 5; | |
1388 | |
1389 int get stackPointerDifference => -1; | |
1390 | |
1391 String get formatString => 'invoke mod %d'; | |
1392 | |
1393 void addTo(Sink<List<int>> sink) { | |
1394 new BytecodeBuffer() | |
1395 ..addUint8(opcode.index) | |
1396 ..addUint32(uint32Argument0) | |
1397 ..sendOn(sink); | |
1398 } | |
1399 | |
1400 String toString() => 'invoke mod ${uint32Argument0}'; | |
1401 | |
1402 operator==(Bytecode other) { | |
1403 if (!(super==(other))) return false; | |
1404 InvokeMod rhs = other; | |
1405 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1406 return true; | |
1407 } | |
1408 | |
1409 int get hashCode { | |
1410 int value = super.hashCode; | |
1411 value += uint32Argument0; | |
1412 return value; | |
1413 } | |
1414 } | |
1415 | |
1416 class InvokeMul extends Bytecode { | |
1417 final int uint32Argument0; | |
1418 const InvokeMul(this.uint32Argument0) | |
1419 : super(); | |
1420 | |
1421 Opcode get opcode => Opcode.InvokeMul; | |
1422 | |
1423 String get name => 'InvokeMul'; | |
1424 | |
1425 bool get isBranching => true; | |
1426 | |
1427 String get format => 'I'; | |
1428 | |
1429 int get size => 5; | |
1430 | |
1431 int get stackPointerDifference => -1; | |
1432 | |
1433 String get formatString => 'invoke mul %d'; | |
1434 | |
1435 void addTo(Sink<List<int>> sink) { | |
1436 new BytecodeBuffer() | |
1437 ..addUint8(opcode.index) | |
1438 ..addUint32(uint32Argument0) | |
1439 ..sendOn(sink); | |
1440 } | |
1441 | |
1442 String toString() => 'invoke mul ${uint32Argument0}'; | |
1443 | |
1444 operator==(Bytecode other) { | |
1445 if (!(super==(other))) return false; | |
1446 InvokeMul rhs = other; | |
1447 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1448 return true; | |
1449 } | |
1450 | |
1451 int get hashCode { | |
1452 int value = super.hashCode; | |
1453 value += uint32Argument0; | |
1454 return value; | |
1455 } | |
1456 } | |
1457 | |
1458 class InvokeTruncDiv extends Bytecode { | |
1459 final int uint32Argument0; | |
1460 const InvokeTruncDiv(this.uint32Argument0) | |
1461 : super(); | |
1462 | |
1463 Opcode get opcode => Opcode.InvokeTruncDiv; | |
1464 | |
1465 String get name => 'InvokeTruncDiv'; | |
1466 | |
1467 bool get isBranching => true; | |
1468 | |
1469 String get format => 'I'; | |
1470 | |
1471 int get size => 5; | |
1472 | |
1473 int get stackPointerDifference => -1; | |
1474 | |
1475 String get formatString => 'invoke trunc div %d'; | |
1476 | |
1477 void addTo(Sink<List<int>> sink) { | |
1478 new BytecodeBuffer() | |
1479 ..addUint8(opcode.index) | |
1480 ..addUint32(uint32Argument0) | |
1481 ..sendOn(sink); | |
1482 } | |
1483 | |
1484 String toString() => 'invoke trunc div ${uint32Argument0}'; | |
1485 | |
1486 operator==(Bytecode other) { | |
1487 if (!(super==(other))) return false; | |
1488 InvokeTruncDiv rhs = other; | |
1489 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1490 return true; | |
1491 } | |
1492 | |
1493 int get hashCode { | |
1494 int value = super.hashCode; | |
1495 value += uint32Argument0; | |
1496 return value; | |
1497 } | |
1498 } | |
1499 | |
1500 class InvokeBitNot extends Bytecode { | |
1501 final int uint32Argument0; | |
1502 const InvokeBitNot(this.uint32Argument0) | |
1503 : super(); | |
1504 | |
1505 Opcode get opcode => Opcode.InvokeBitNot; | |
1506 | |
1507 String get name => 'InvokeBitNot'; | |
1508 | |
1509 bool get isBranching => true; | |
1510 | |
1511 String get format => 'I'; | |
1512 | |
1513 int get size => 5; | |
1514 | |
1515 int get stackPointerDifference => 0; | |
1516 | |
1517 String get formatString => 'invoke bit not %d'; | |
1518 | |
1519 void addTo(Sink<List<int>> sink) { | |
1520 new BytecodeBuffer() | |
1521 ..addUint8(opcode.index) | |
1522 ..addUint32(uint32Argument0) | |
1523 ..sendOn(sink); | |
1524 } | |
1525 | |
1526 String toString() => 'invoke bit not ${uint32Argument0}'; | |
1527 | |
1528 operator==(Bytecode other) { | |
1529 if (!(super==(other))) return false; | |
1530 InvokeBitNot rhs = other; | |
1531 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1532 return true; | |
1533 } | |
1534 | |
1535 int get hashCode { | |
1536 int value = super.hashCode; | |
1537 value += uint32Argument0; | |
1538 return value; | |
1539 } | |
1540 } | |
1541 | |
1542 class InvokeBitAnd extends Bytecode { | |
1543 final int uint32Argument0; | |
1544 const InvokeBitAnd(this.uint32Argument0) | |
1545 : super(); | |
1546 | |
1547 Opcode get opcode => Opcode.InvokeBitAnd; | |
1548 | |
1549 String get name => 'InvokeBitAnd'; | |
1550 | |
1551 bool get isBranching => true; | |
1552 | |
1553 String get format => 'I'; | |
1554 | |
1555 int get size => 5; | |
1556 | |
1557 int get stackPointerDifference => -1; | |
1558 | |
1559 String get formatString => 'invoke bit and %d'; | |
1560 | |
1561 void addTo(Sink<List<int>> sink) { | |
1562 new BytecodeBuffer() | |
1563 ..addUint8(opcode.index) | |
1564 ..addUint32(uint32Argument0) | |
1565 ..sendOn(sink); | |
1566 } | |
1567 | |
1568 String toString() => 'invoke bit and ${uint32Argument0}'; | |
1569 | |
1570 operator==(Bytecode other) { | |
1571 if (!(super==(other))) return false; | |
1572 InvokeBitAnd rhs = other; | |
1573 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1574 return true; | |
1575 } | |
1576 | |
1577 int get hashCode { | |
1578 int value = super.hashCode; | |
1579 value += uint32Argument0; | |
1580 return value; | |
1581 } | |
1582 } | |
1583 | |
1584 class InvokeBitOr extends Bytecode { | |
1585 final int uint32Argument0; | |
1586 const InvokeBitOr(this.uint32Argument0) | |
1587 : super(); | |
1588 | |
1589 Opcode get opcode => Opcode.InvokeBitOr; | |
1590 | |
1591 String get name => 'InvokeBitOr'; | |
1592 | |
1593 bool get isBranching => true; | |
1594 | |
1595 String get format => 'I'; | |
1596 | |
1597 int get size => 5; | |
1598 | |
1599 int get stackPointerDifference => -1; | |
1600 | |
1601 String get formatString => 'invoke bit or %d'; | |
1602 | |
1603 void addTo(Sink<List<int>> sink) { | |
1604 new BytecodeBuffer() | |
1605 ..addUint8(opcode.index) | |
1606 ..addUint32(uint32Argument0) | |
1607 ..sendOn(sink); | |
1608 } | |
1609 | |
1610 String toString() => 'invoke bit or ${uint32Argument0}'; | |
1611 | |
1612 operator==(Bytecode other) { | |
1613 if (!(super==(other))) return false; | |
1614 InvokeBitOr rhs = other; | |
1615 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1616 return true; | |
1617 } | |
1618 | |
1619 int get hashCode { | |
1620 int value = super.hashCode; | |
1621 value += uint32Argument0; | |
1622 return value; | |
1623 } | |
1624 } | |
1625 | |
1626 class InvokeBitXor extends Bytecode { | |
1627 final int uint32Argument0; | |
1628 const InvokeBitXor(this.uint32Argument0) | |
1629 : super(); | |
1630 | |
1631 Opcode get opcode => Opcode.InvokeBitXor; | |
1632 | |
1633 String get name => 'InvokeBitXor'; | |
1634 | |
1635 bool get isBranching => true; | |
1636 | |
1637 String get format => 'I'; | |
1638 | |
1639 int get size => 5; | |
1640 | |
1641 int get stackPointerDifference => -1; | |
1642 | |
1643 String get formatString => 'invoke bit xor %d'; | |
1644 | |
1645 void addTo(Sink<List<int>> sink) { | |
1646 new BytecodeBuffer() | |
1647 ..addUint8(opcode.index) | |
1648 ..addUint32(uint32Argument0) | |
1649 ..sendOn(sink); | |
1650 } | |
1651 | |
1652 String toString() => 'invoke bit xor ${uint32Argument0}'; | |
1653 | |
1654 operator==(Bytecode other) { | |
1655 if (!(super==(other))) return false; | |
1656 InvokeBitXor rhs = other; | |
1657 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1658 return true; | |
1659 } | |
1660 | |
1661 int get hashCode { | |
1662 int value = super.hashCode; | |
1663 value += uint32Argument0; | |
1664 return value; | |
1665 } | |
1666 } | |
1667 | |
1668 class InvokeBitShr extends Bytecode { | |
1669 final int uint32Argument0; | |
1670 const InvokeBitShr(this.uint32Argument0) | |
1671 : super(); | |
1672 | |
1673 Opcode get opcode => Opcode.InvokeBitShr; | |
1674 | |
1675 String get name => 'InvokeBitShr'; | |
1676 | |
1677 bool get isBranching => true; | |
1678 | |
1679 String get format => 'I'; | |
1680 | |
1681 int get size => 5; | |
1682 | |
1683 int get stackPointerDifference => -1; | |
1684 | |
1685 String get formatString => 'invoke bit shr %d'; | |
1686 | |
1687 void addTo(Sink<List<int>> sink) { | |
1688 new BytecodeBuffer() | |
1689 ..addUint8(opcode.index) | |
1690 ..addUint32(uint32Argument0) | |
1691 ..sendOn(sink); | |
1692 } | |
1693 | |
1694 String toString() => 'invoke bit shr ${uint32Argument0}'; | |
1695 | |
1696 operator==(Bytecode other) { | |
1697 if (!(super==(other))) return false; | |
1698 InvokeBitShr rhs = other; | |
1699 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1700 return true; | |
1701 } | |
1702 | |
1703 int get hashCode { | |
1704 int value = super.hashCode; | |
1705 value += uint32Argument0; | |
1706 return value; | |
1707 } | |
1708 } | |
1709 | |
1710 class InvokeBitShl extends Bytecode { | |
1711 final int uint32Argument0; | |
1712 const InvokeBitShl(this.uint32Argument0) | |
1713 : super(); | |
1714 | |
1715 Opcode get opcode => Opcode.InvokeBitShl; | |
1716 | |
1717 String get name => 'InvokeBitShl'; | |
1718 | |
1719 bool get isBranching => true; | |
1720 | |
1721 String get format => 'I'; | |
1722 | |
1723 int get size => 5; | |
1724 | |
1725 int get stackPointerDifference => -1; | |
1726 | |
1727 String get formatString => 'invoke bit shl %d'; | |
1728 | |
1729 void addTo(Sink<List<int>> sink) { | |
1730 new BytecodeBuffer() | |
1731 ..addUint8(opcode.index) | |
1732 ..addUint32(uint32Argument0) | |
1733 ..sendOn(sink); | |
1734 } | |
1735 | |
1736 String toString() => 'invoke bit shl ${uint32Argument0}'; | |
1737 | |
1738 operator==(Bytecode other) { | |
1739 if (!(super==(other))) return false; | |
1740 InvokeBitShl rhs = other; | |
1741 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1742 return true; | |
1743 } | |
1744 | |
1745 int get hashCode { | |
1746 int value = super.hashCode; | |
1747 value += uint32Argument0; | |
1748 return value; | |
1749 } | |
1750 } | |
1751 | |
1752 class InvokeStatic extends Bytecode { | |
1753 final int uint32Argument0; | |
1754 const InvokeStatic(this.uint32Argument0) | |
1755 : super(); | |
1756 | |
1757 Opcode get opcode => Opcode.InvokeStatic; | |
1758 | |
1759 String get name => 'InvokeStatic'; | |
1760 | |
1761 bool get isBranching => true; | |
1762 | |
1763 String get format => 'I'; | |
1764 | |
1765 int get size => 5; | |
1766 | |
1767 int get stackPointerDifference => VAR_DIFF; | |
1768 | |
1769 String get formatString => 'invoke static %d'; | |
1770 | |
1771 void addTo(Sink<List<int>> sink) { | |
1772 new BytecodeBuffer() | |
1773 ..addUint8(opcode.index) | |
1774 ..addUint32(uint32Argument0) | |
1775 ..sendOn(sink); | |
1776 } | |
1777 | |
1778 String toString() => 'invoke static ${uint32Argument0}'; | |
1779 | |
1780 operator==(Bytecode other) { | |
1781 if (!(super==(other))) return false; | |
1782 InvokeStatic rhs = other; | |
1783 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1784 return true; | |
1785 } | |
1786 | |
1787 int get hashCode { | |
1788 int value = super.hashCode; | |
1789 value += uint32Argument0; | |
1790 return value; | |
1791 } | |
1792 } | |
1793 | |
1794 class InvokeFactory extends Bytecode { | |
1795 final int uint32Argument0; | |
1796 const InvokeFactory(this.uint32Argument0) | |
1797 : super(); | |
1798 | |
1799 Opcode get opcode => Opcode.InvokeFactory; | |
1800 | |
1801 String get name => 'InvokeFactory'; | |
1802 | |
1803 bool get isBranching => true; | |
1804 | |
1805 String get format => 'I'; | |
1806 | |
1807 int get size => 5; | |
1808 | |
1809 int get stackPointerDifference => VAR_DIFF; | |
1810 | |
1811 String get formatString => 'invoke factory %d'; | |
1812 | |
1813 void addTo(Sink<List<int>> sink) { | |
1814 new BytecodeBuffer() | |
1815 ..addUint8(opcode.index) | |
1816 ..addUint32(uint32Argument0) | |
1817 ..sendOn(sink); | |
1818 } | |
1819 | |
1820 String toString() => 'invoke factory ${uint32Argument0}'; | |
1821 | |
1822 operator==(Bytecode other) { | |
1823 if (!(super==(other))) return false; | |
1824 InvokeFactory rhs = other; | |
1825 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1826 return true; | |
1827 } | |
1828 | |
1829 int get hashCode { | |
1830 int value = super.hashCode; | |
1831 value += uint32Argument0; | |
1832 return value; | |
1833 } | |
1834 } | |
1835 | |
1836 class Allocate extends Bytecode { | |
1837 final int uint32Argument0; | |
1838 const Allocate(this.uint32Argument0) | |
1839 : super(); | |
1840 | |
1841 Opcode get opcode => Opcode.Allocate; | |
1842 | |
1843 String get name => 'Allocate'; | |
1844 | |
1845 bool get isBranching => false; | |
1846 | |
1847 String get format => 'I'; | |
1848 | |
1849 int get size => 5; | |
1850 | |
1851 int get stackPointerDifference => VAR_DIFF; | |
1852 | |
1853 String get formatString => 'allocate %d'; | |
1854 | |
1855 void addTo(Sink<List<int>> sink) { | |
1856 new BytecodeBuffer() | |
1857 ..addUint8(opcode.index) | |
1858 ..addUint32(uint32Argument0) | |
1859 ..sendOn(sink); | |
1860 } | |
1861 | |
1862 String toString() => 'allocate ${uint32Argument0}'; | |
1863 | |
1864 operator==(Bytecode other) { | |
1865 if (!(super==(other))) return false; | |
1866 Allocate rhs = other; | |
1867 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1868 return true; | |
1869 } | |
1870 | |
1871 int get hashCode { | |
1872 int value = super.hashCode; | |
1873 value += uint32Argument0; | |
1874 return value; | |
1875 } | |
1876 } | |
1877 | |
1878 class AllocateImmutable extends Bytecode { | |
1879 final int uint32Argument0; | |
1880 const AllocateImmutable(this.uint32Argument0) | |
1881 : super(); | |
1882 | |
1883 Opcode get opcode => Opcode.AllocateImmutable; | |
1884 | |
1885 String get name => 'AllocateImmutable'; | |
1886 | |
1887 bool get isBranching => false; | |
1888 | |
1889 String get format => 'I'; | |
1890 | |
1891 int get size => 5; | |
1892 | |
1893 int get stackPointerDifference => VAR_DIFF; | |
1894 | |
1895 String get formatString => 'allocateim %d'; | |
1896 | |
1897 void addTo(Sink<List<int>> sink) { | |
1898 new BytecodeBuffer() | |
1899 ..addUint8(opcode.index) | |
1900 ..addUint32(uint32Argument0) | |
1901 ..sendOn(sink); | |
1902 } | |
1903 | |
1904 String toString() => 'allocateim ${uint32Argument0}'; | |
1905 | |
1906 operator==(Bytecode other) { | |
1907 if (!(super==(other))) return false; | |
1908 AllocateImmutable rhs = other; | |
1909 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1910 return true; | |
1911 } | |
1912 | |
1913 int get hashCode { | |
1914 int value = super.hashCode; | |
1915 value += uint32Argument0; | |
1916 return value; | |
1917 } | |
1918 } | |
1919 | |
1920 class InvokeNoSuchMethod extends Bytecode { | |
1921 final int uint32Argument0; | |
1922 const InvokeNoSuchMethod(this.uint32Argument0) | |
1923 : super(); | |
1924 | |
1925 Opcode get opcode => Opcode.InvokeNoSuchMethod; | |
1926 | |
1927 String get name => 'InvokeNoSuchMethod'; | |
1928 | |
1929 bool get isBranching => true; | |
1930 | |
1931 String get format => 'I'; | |
1932 | |
1933 int get size => 5; | |
1934 | |
1935 int get stackPointerDifference => VAR_DIFF; | |
1936 | |
1937 String get formatString => 'invoke no such method %d'; | |
1938 | |
1939 void addTo(Sink<List<int>> sink) { | |
1940 new BytecodeBuffer() | |
1941 ..addUint8(opcode.index) | |
1942 ..addUint32(uint32Argument0) | |
1943 ..sendOn(sink); | |
1944 } | |
1945 | |
1946 String toString() => 'invoke no such method ${uint32Argument0}'; | |
1947 | |
1948 operator==(Bytecode other) { | |
1949 if (!(super==(other))) return false; | |
1950 InvokeNoSuchMethod rhs = other; | |
1951 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1952 return true; | |
1953 } | |
1954 | |
1955 int get hashCode { | |
1956 int value = super.hashCode; | |
1957 value += uint32Argument0; | |
1958 return value; | |
1959 } | |
1960 } | |
1961 | |
1962 class InvokeTestNoSuchMethod extends Bytecode { | |
1963 final int uint32Argument0; | |
1964 const InvokeTestNoSuchMethod(this.uint32Argument0) | |
1965 : super(); | |
1966 | |
1967 Opcode get opcode => Opcode.InvokeTestNoSuchMethod; | |
1968 | |
1969 String get name => 'InvokeTestNoSuchMethod'; | |
1970 | |
1971 bool get isBranching => true; | |
1972 | |
1973 String get format => 'I'; | |
1974 | |
1975 int get size => 5; | |
1976 | |
1977 int get stackPointerDifference => 0; | |
1978 | |
1979 String get formatString => 'invoke test no such method %d'; | |
1980 | |
1981 void addTo(Sink<List<int>> sink) { | |
1982 new BytecodeBuffer() | |
1983 ..addUint8(opcode.index) | |
1984 ..addUint32(uint32Argument0) | |
1985 ..sendOn(sink); | |
1986 } | |
1987 | |
1988 String toString() => 'invoke test no such method ${uint32Argument0}'; | |
1989 | |
1990 operator==(Bytecode other) { | |
1991 if (!(super==(other))) return false; | |
1992 InvokeTestNoSuchMethod rhs = other; | |
1993 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
1994 return true; | |
1995 } | |
1996 | |
1997 int get hashCode { | |
1998 int value = super.hashCode; | |
1999 value += uint32Argument0; | |
2000 return value; | |
2001 } | |
2002 } | |
2003 | |
2004 class InvokeNative extends Bytecode { | |
2005 final int uint8Argument0; | |
2006 final int uint8Argument1; | |
2007 const InvokeNative(this.uint8Argument0, this.uint8Argument1) | |
2008 : super(); | |
2009 | |
2010 Opcode get opcode => Opcode.InvokeNative; | |
2011 | |
2012 String get name => 'InvokeNative'; | |
2013 | |
2014 bool get isBranching => true; | |
2015 | |
2016 String get format => 'BB'; | |
2017 | |
2018 int get size => 3; | |
2019 | |
2020 int get stackPointerDifference => 1; | |
2021 | |
2022 String get formatString => 'invoke native %d %d'; | |
2023 | |
2024 void addTo(Sink<List<int>> sink) { | |
2025 new BytecodeBuffer() | |
2026 ..addUint8(opcode.index) | |
2027 ..addUint8(uint8Argument0) | |
2028 ..addUint8(uint8Argument1) | |
2029 ..sendOn(sink); | |
2030 } | |
2031 | |
2032 String toString() => 'invoke native ${uint8Argument0} ${uint8Argument1}'; | |
2033 | |
2034 operator==(Bytecode other) { | |
2035 if (!(super==(other))) return false; | |
2036 InvokeNative rhs = other; | |
2037 if (uint8Argument0 != rhs.uint8Argument0) return false; | |
2038 if (uint8Argument1 != rhs.uint8Argument1) return false; | |
2039 return true; | |
2040 } | |
2041 | |
2042 int get hashCode { | |
2043 int value = super.hashCode; | |
2044 value += uint8Argument0; | |
2045 value += uint8Argument1; | |
2046 return value; | |
2047 } | |
2048 } | |
2049 | |
2050 class InvokeNativeYield extends Bytecode { | |
2051 final int uint8Argument0; | |
2052 final int uint8Argument1; | |
2053 const InvokeNativeYield(this.uint8Argument0, this.uint8Argument1) | |
2054 : super(); | |
2055 | |
2056 Opcode get opcode => Opcode.InvokeNativeYield; | |
2057 | |
2058 String get name => 'InvokeNativeYield'; | |
2059 | |
2060 bool get isBranching => true; | |
2061 | |
2062 String get format => 'BB'; | |
2063 | |
2064 int get size => 3; | |
2065 | |
2066 int get stackPointerDifference => 1; | |
2067 | |
2068 String get formatString => 'invoke native yield %d %d'; | |
2069 | |
2070 void addTo(Sink<List<int>> sink) { | |
2071 new BytecodeBuffer() | |
2072 ..addUint8(opcode.index) | |
2073 ..addUint8(uint8Argument0) | |
2074 ..addUint8(uint8Argument1) | |
2075 ..sendOn(sink); | |
2076 } | |
2077 | |
2078 String toString() => 'invoke native yield ${uint8Argument0} ${uint8Argument1}'
; | |
2079 | |
2080 operator==(Bytecode other) { | |
2081 if (!(super==(other))) return false; | |
2082 InvokeNativeYield rhs = other; | |
2083 if (uint8Argument0 != rhs.uint8Argument0) return false; | |
2084 if (uint8Argument1 != rhs.uint8Argument1) return false; | |
2085 return true; | |
2086 } | |
2087 | |
2088 int get hashCode { | |
2089 int value = super.hashCode; | |
2090 value += uint8Argument0; | |
2091 value += uint8Argument1; | |
2092 return value; | |
2093 } | |
2094 } | |
2095 | |
2096 class InvokeSelector extends Bytecode { | |
2097 final int uint32Argument0; | |
2098 const InvokeSelector(this.uint32Argument0) | |
2099 : super(); | |
2100 | |
2101 Opcode get opcode => Opcode.InvokeSelector; | |
2102 | |
2103 String get name => 'InvokeSelector'; | |
2104 | |
2105 bool get isBranching => true; | |
2106 | |
2107 String get format => 'I'; | |
2108 | |
2109 int get size => 5; | |
2110 | |
2111 int get stackPointerDifference => VAR_DIFF; | |
2112 | |
2113 String get formatString => 'invoke selector'; | |
2114 | |
2115 void addTo(Sink<List<int>> sink) { | |
2116 new BytecodeBuffer() | |
2117 ..addUint8(opcode.index) | |
2118 ..addUint32(uint32Argument0) | |
2119 ..sendOn(sink); | |
2120 } | |
2121 | |
2122 String toString() => 'invoke selector${uint32Argument0}'; | |
2123 | |
2124 operator==(Bytecode other) { | |
2125 if (!(super==(other))) return false; | |
2126 InvokeSelector rhs = other; | |
2127 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
2128 return true; | |
2129 } | |
2130 | |
2131 int get hashCode { | |
2132 int value = super.hashCode; | |
2133 value += uint32Argument0; | |
2134 return value; | |
2135 } | |
2136 } | |
2137 | |
2138 class Pop extends Bytecode { | |
2139 const Pop() | |
2140 : super(); | |
2141 | |
2142 Opcode get opcode => Opcode.Pop; | |
2143 | |
2144 String get name => 'Pop'; | |
2145 | |
2146 bool get isBranching => false; | |
2147 | |
2148 String get format => ''; | |
2149 | |
2150 int get size => 1; | |
2151 | |
2152 int get stackPointerDifference => -1; | |
2153 | |
2154 String get formatString => 'pop'; | |
2155 | |
2156 void addTo(Sink<List<int>> sink) { | |
2157 new BytecodeBuffer() | |
2158 ..addUint8(opcode.index) | |
2159 ..sendOn(sink); | |
2160 } | |
2161 | |
2162 String toString() => 'pop'; | |
2163 } | |
2164 | |
2165 class Drop extends Bytecode { | |
2166 final int uint8Argument0; | |
2167 const Drop(this.uint8Argument0) | |
2168 : super(); | |
2169 | |
2170 Opcode get opcode => Opcode.Drop; | |
2171 | |
2172 String get name => 'Drop'; | |
2173 | |
2174 bool get isBranching => false; | |
2175 | |
2176 String get format => 'B'; | |
2177 | |
2178 int get size => 2; | |
2179 | |
2180 int get stackPointerDifference => VAR_DIFF; | |
2181 | |
2182 String get formatString => 'drop %d'; | |
2183 | |
2184 void addTo(Sink<List<int>> sink) { | |
2185 new BytecodeBuffer() | |
2186 ..addUint8(opcode.index) | |
2187 ..addUint8(uint8Argument0) | |
2188 ..sendOn(sink); | |
2189 } | |
2190 | |
2191 String toString() => 'drop ${uint8Argument0}'; | |
2192 | |
2193 operator==(Bytecode other) { | |
2194 if (!(super==(other))) return false; | |
2195 Drop rhs = other; | |
2196 if (uint8Argument0 != rhs.uint8Argument0) return false; | |
2197 return true; | |
2198 } | |
2199 | |
2200 int get hashCode { | |
2201 int value = super.hashCode; | |
2202 value += uint8Argument0; | |
2203 return value; | |
2204 } | |
2205 } | |
2206 | |
2207 class Return extends Bytecode { | |
2208 const Return() | |
2209 : super(); | |
2210 | |
2211 Opcode get opcode => Opcode.Return; | |
2212 | |
2213 String get name => 'Return'; | |
2214 | |
2215 bool get isBranching => true; | |
2216 | |
2217 String get format => ''; | |
2218 | |
2219 int get size => 1; | |
2220 | |
2221 int get stackPointerDifference => -1; | |
2222 | |
2223 String get formatString => 'return'; | |
2224 | |
2225 void addTo(Sink<List<int>> sink) { | |
2226 new BytecodeBuffer() | |
2227 ..addUint8(opcode.index) | |
2228 ..sendOn(sink); | |
2229 } | |
2230 | |
2231 String toString() => 'return'; | |
2232 } | |
2233 | |
2234 class ReturnNull extends Bytecode { | |
2235 const ReturnNull() | |
2236 : super(); | |
2237 | |
2238 Opcode get opcode => Opcode.ReturnNull; | |
2239 | |
2240 String get name => 'ReturnNull'; | |
2241 | |
2242 bool get isBranching => true; | |
2243 | |
2244 String get format => ''; | |
2245 | |
2246 int get size => 1; | |
2247 | |
2248 int get stackPointerDifference => 0; | |
2249 | |
2250 String get formatString => 'return null'; | |
2251 | |
2252 void addTo(Sink<List<int>> sink) { | |
2253 new BytecodeBuffer() | |
2254 ..addUint8(opcode.index) | |
2255 ..sendOn(sink); | |
2256 } | |
2257 | |
2258 String toString() => 'return null'; | |
2259 } | |
2260 | |
2261 class BranchWide extends Bytecode { | |
2262 final int uint32Argument0; | |
2263 const BranchWide(this.uint32Argument0) | |
2264 : super(); | |
2265 | |
2266 Opcode get opcode => Opcode.BranchWide; | |
2267 | |
2268 String get name => 'BranchWide'; | |
2269 | |
2270 bool get isBranching => true; | |
2271 | |
2272 String get format => 'I'; | |
2273 | |
2274 int get size => 5; | |
2275 | |
2276 int get stackPointerDifference => 0; | |
2277 | |
2278 String get formatString => 'branch +%d'; | |
2279 | |
2280 void addTo(Sink<List<int>> sink) { | |
2281 new BytecodeBuffer() | |
2282 ..addUint8(opcode.index) | |
2283 ..addUint32(uint32Argument0) | |
2284 ..sendOn(sink); | |
2285 } | |
2286 | |
2287 String toString() => 'branch +${uint32Argument0}'; | |
2288 | |
2289 operator==(Bytecode other) { | |
2290 if (!(super==(other))) return false; | |
2291 BranchWide rhs = other; | |
2292 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
2293 return true; | |
2294 } | |
2295 | |
2296 int get hashCode { | |
2297 int value = super.hashCode; | |
2298 value += uint32Argument0; | |
2299 return value; | |
2300 } | |
2301 } | |
2302 | |
2303 class BranchIfTrueWide extends Bytecode { | |
2304 final int uint32Argument0; | |
2305 const BranchIfTrueWide(this.uint32Argument0) | |
2306 : super(); | |
2307 | |
2308 Opcode get opcode => Opcode.BranchIfTrueWide; | |
2309 | |
2310 String get name => 'BranchIfTrueWide'; | |
2311 | |
2312 bool get isBranching => true; | |
2313 | |
2314 String get format => 'I'; | |
2315 | |
2316 int get size => 5; | |
2317 | |
2318 int get stackPointerDifference => -1; | |
2319 | |
2320 String get formatString => 'branch if true +%d'; | |
2321 | |
2322 void addTo(Sink<List<int>> sink) { | |
2323 new BytecodeBuffer() | |
2324 ..addUint8(opcode.index) | |
2325 ..addUint32(uint32Argument0) | |
2326 ..sendOn(sink); | |
2327 } | |
2328 | |
2329 String toString() => 'branch if true +${uint32Argument0}'; | |
2330 | |
2331 operator==(Bytecode other) { | |
2332 if (!(super==(other))) return false; | |
2333 BranchIfTrueWide rhs = other; | |
2334 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
2335 return true; | |
2336 } | |
2337 | |
2338 int get hashCode { | |
2339 int value = super.hashCode; | |
2340 value += uint32Argument0; | |
2341 return value; | |
2342 } | |
2343 } | |
2344 | |
2345 class BranchIfFalseWide extends Bytecode { | |
2346 final int uint32Argument0; | |
2347 const BranchIfFalseWide(this.uint32Argument0) | |
2348 : super(); | |
2349 | |
2350 Opcode get opcode => Opcode.BranchIfFalseWide; | |
2351 | |
2352 String get name => 'BranchIfFalseWide'; | |
2353 | |
2354 bool get isBranching => true; | |
2355 | |
2356 String get format => 'I'; | |
2357 | |
2358 int get size => 5; | |
2359 | |
2360 int get stackPointerDifference => -1; | |
2361 | |
2362 String get formatString => 'branch if false +%d'; | |
2363 | |
2364 void addTo(Sink<List<int>> sink) { | |
2365 new BytecodeBuffer() | |
2366 ..addUint8(opcode.index) | |
2367 ..addUint32(uint32Argument0) | |
2368 ..sendOn(sink); | |
2369 } | |
2370 | |
2371 String toString() => 'branch if false +${uint32Argument0}'; | |
2372 | |
2373 operator==(Bytecode other) { | |
2374 if (!(super==(other))) return false; | |
2375 BranchIfFalseWide rhs = other; | |
2376 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
2377 return true; | |
2378 } | |
2379 | |
2380 int get hashCode { | |
2381 int value = super.hashCode; | |
2382 value += uint32Argument0; | |
2383 return value; | |
2384 } | |
2385 } | |
2386 | |
2387 class BranchBack extends Bytecode { | |
2388 final int uint8Argument0; | |
2389 const BranchBack(this.uint8Argument0) | |
2390 : super(); | |
2391 | |
2392 Opcode get opcode => Opcode.BranchBack; | |
2393 | |
2394 String get name => 'BranchBack'; | |
2395 | |
2396 bool get isBranching => true; | |
2397 | |
2398 String get format => 'B'; | |
2399 | |
2400 int get size => 2; | |
2401 | |
2402 int get stackPointerDifference => 0; | |
2403 | |
2404 String get formatString => 'branch -%d'; | |
2405 | |
2406 void addTo(Sink<List<int>> sink) { | |
2407 new BytecodeBuffer() | |
2408 ..addUint8(opcode.index) | |
2409 ..addUint8(uint8Argument0) | |
2410 ..sendOn(sink); | |
2411 } | |
2412 | |
2413 String toString() => 'branch -${uint8Argument0}'; | |
2414 | |
2415 operator==(Bytecode other) { | |
2416 if (!(super==(other))) return false; | |
2417 BranchBack rhs = other; | |
2418 if (uint8Argument0 != rhs.uint8Argument0) return false; | |
2419 return true; | |
2420 } | |
2421 | |
2422 int get hashCode { | |
2423 int value = super.hashCode; | |
2424 value += uint8Argument0; | |
2425 return value; | |
2426 } | |
2427 } | |
2428 | |
2429 class BranchBackIfTrue extends Bytecode { | |
2430 final int uint8Argument0; | |
2431 const BranchBackIfTrue(this.uint8Argument0) | |
2432 : super(); | |
2433 | |
2434 Opcode get opcode => Opcode.BranchBackIfTrue; | |
2435 | |
2436 String get name => 'BranchBackIfTrue'; | |
2437 | |
2438 bool get isBranching => true; | |
2439 | |
2440 String get format => 'B'; | |
2441 | |
2442 int get size => 2; | |
2443 | |
2444 int get stackPointerDifference => -1; | |
2445 | |
2446 String get formatString => 'branch if true -%d'; | |
2447 | |
2448 void addTo(Sink<List<int>> sink) { | |
2449 new BytecodeBuffer() | |
2450 ..addUint8(opcode.index) | |
2451 ..addUint8(uint8Argument0) | |
2452 ..sendOn(sink); | |
2453 } | |
2454 | |
2455 String toString() => 'branch if true -${uint8Argument0}'; | |
2456 | |
2457 operator==(Bytecode other) { | |
2458 if (!(super==(other))) return false; | |
2459 BranchBackIfTrue rhs = other; | |
2460 if (uint8Argument0 != rhs.uint8Argument0) return false; | |
2461 return true; | |
2462 } | |
2463 | |
2464 int get hashCode { | |
2465 int value = super.hashCode; | |
2466 value += uint8Argument0; | |
2467 return value; | |
2468 } | |
2469 } | |
2470 | |
2471 class BranchBackIfFalse extends Bytecode { | |
2472 final int uint8Argument0; | |
2473 const BranchBackIfFalse(this.uint8Argument0) | |
2474 : super(); | |
2475 | |
2476 Opcode get opcode => Opcode.BranchBackIfFalse; | |
2477 | |
2478 String get name => 'BranchBackIfFalse'; | |
2479 | |
2480 bool get isBranching => true; | |
2481 | |
2482 String get format => 'B'; | |
2483 | |
2484 int get size => 2; | |
2485 | |
2486 int get stackPointerDifference => -1; | |
2487 | |
2488 String get formatString => 'branch if false -%d'; | |
2489 | |
2490 void addTo(Sink<List<int>> sink) { | |
2491 new BytecodeBuffer() | |
2492 ..addUint8(opcode.index) | |
2493 ..addUint8(uint8Argument0) | |
2494 ..sendOn(sink); | |
2495 } | |
2496 | |
2497 String toString() => 'branch if false -${uint8Argument0}'; | |
2498 | |
2499 operator==(Bytecode other) { | |
2500 if (!(super==(other))) return false; | |
2501 BranchBackIfFalse rhs = other; | |
2502 if (uint8Argument0 != rhs.uint8Argument0) return false; | |
2503 return true; | |
2504 } | |
2505 | |
2506 int get hashCode { | |
2507 int value = super.hashCode; | |
2508 value += uint8Argument0; | |
2509 return value; | |
2510 } | |
2511 } | |
2512 | |
2513 class BranchBackWide extends Bytecode { | |
2514 final int uint32Argument0; | |
2515 const BranchBackWide(this.uint32Argument0) | |
2516 : super(); | |
2517 | |
2518 Opcode get opcode => Opcode.BranchBackWide; | |
2519 | |
2520 String get name => 'BranchBackWide'; | |
2521 | |
2522 bool get isBranching => true; | |
2523 | |
2524 String get format => 'I'; | |
2525 | |
2526 int get size => 5; | |
2527 | |
2528 int get stackPointerDifference => 0; | |
2529 | |
2530 String get formatString => 'branch -%d'; | |
2531 | |
2532 void addTo(Sink<List<int>> sink) { | |
2533 new BytecodeBuffer() | |
2534 ..addUint8(opcode.index) | |
2535 ..addUint32(uint32Argument0) | |
2536 ..sendOn(sink); | |
2537 } | |
2538 | |
2539 String toString() => 'branch -${uint32Argument0}'; | |
2540 | |
2541 operator==(Bytecode other) { | |
2542 if (!(super==(other))) return false; | |
2543 BranchBackWide rhs = other; | |
2544 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
2545 return true; | |
2546 } | |
2547 | |
2548 int get hashCode { | |
2549 int value = super.hashCode; | |
2550 value += uint32Argument0; | |
2551 return value; | |
2552 } | |
2553 } | |
2554 | |
2555 class BranchBackIfTrueWide extends Bytecode { | |
2556 final int uint32Argument0; | |
2557 const BranchBackIfTrueWide(this.uint32Argument0) | |
2558 : super(); | |
2559 | |
2560 Opcode get opcode => Opcode.BranchBackIfTrueWide; | |
2561 | |
2562 String get name => 'BranchBackIfTrueWide'; | |
2563 | |
2564 bool get isBranching => true; | |
2565 | |
2566 String get format => 'I'; | |
2567 | |
2568 int get size => 5; | |
2569 | |
2570 int get stackPointerDifference => -1; | |
2571 | |
2572 String get formatString => 'branch if true -%d'; | |
2573 | |
2574 void addTo(Sink<List<int>> sink) { | |
2575 new BytecodeBuffer() | |
2576 ..addUint8(opcode.index) | |
2577 ..addUint32(uint32Argument0) | |
2578 ..sendOn(sink); | |
2579 } | |
2580 | |
2581 String toString() => 'branch if true -${uint32Argument0}'; | |
2582 | |
2583 operator==(Bytecode other) { | |
2584 if (!(super==(other))) return false; | |
2585 BranchBackIfTrueWide rhs = other; | |
2586 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
2587 return true; | |
2588 } | |
2589 | |
2590 int get hashCode { | |
2591 int value = super.hashCode; | |
2592 value += uint32Argument0; | |
2593 return value; | |
2594 } | |
2595 } | |
2596 | |
2597 class BranchBackIfFalseWide extends Bytecode { | |
2598 final int uint32Argument0; | |
2599 const BranchBackIfFalseWide(this.uint32Argument0) | |
2600 : super(); | |
2601 | |
2602 Opcode get opcode => Opcode.BranchBackIfFalseWide; | |
2603 | |
2604 String get name => 'BranchBackIfFalseWide'; | |
2605 | |
2606 bool get isBranching => true; | |
2607 | |
2608 String get format => 'I'; | |
2609 | |
2610 int get size => 5; | |
2611 | |
2612 int get stackPointerDifference => -1; | |
2613 | |
2614 String get formatString => 'branch if false -%d'; | |
2615 | |
2616 void addTo(Sink<List<int>> sink) { | |
2617 new BytecodeBuffer() | |
2618 ..addUint8(opcode.index) | |
2619 ..addUint32(uint32Argument0) | |
2620 ..sendOn(sink); | |
2621 } | |
2622 | |
2623 String toString() => 'branch if false -${uint32Argument0}'; | |
2624 | |
2625 operator==(Bytecode other) { | |
2626 if (!(super==(other))) return false; | |
2627 BranchBackIfFalseWide rhs = other; | |
2628 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
2629 return true; | |
2630 } | |
2631 | |
2632 int get hashCode { | |
2633 int value = super.hashCode; | |
2634 value += uint32Argument0; | |
2635 return value; | |
2636 } | |
2637 } | |
2638 | |
2639 class PopAndBranchWide extends Bytecode { | |
2640 final int uint8Argument0; | |
2641 final int uint32Argument1; | |
2642 const PopAndBranchWide(this.uint8Argument0, this.uint32Argument1) | |
2643 : super(); | |
2644 | |
2645 Opcode get opcode => Opcode.PopAndBranchWide; | |
2646 | |
2647 String get name => 'PopAndBranchWide'; | |
2648 | |
2649 bool get isBranching => true; | |
2650 | |
2651 String get format => 'BI'; | |
2652 | |
2653 int get size => 6; | |
2654 | |
2655 int get stackPointerDifference => 0; | |
2656 | |
2657 String get formatString => 'pop %d and branch +%d'; | |
2658 | |
2659 void addTo(Sink<List<int>> sink) { | |
2660 new BytecodeBuffer() | |
2661 ..addUint8(opcode.index) | |
2662 ..addUint8(uint8Argument0) | |
2663 ..addUint32(uint32Argument1) | |
2664 ..sendOn(sink); | |
2665 } | |
2666 | |
2667 String toString() => 'pop ${uint8Argument0} and branch +${uint32Argument1}'; | |
2668 | |
2669 operator==(Bytecode other) { | |
2670 if (!(super==(other))) return false; | |
2671 PopAndBranchWide rhs = other; | |
2672 if (uint8Argument0 != rhs.uint8Argument0) return false; | |
2673 if (uint32Argument1 != rhs.uint32Argument1) return false; | |
2674 return true; | |
2675 } | |
2676 | |
2677 int get hashCode { | |
2678 int value = super.hashCode; | |
2679 value += uint8Argument0; | |
2680 value += uint32Argument1; | |
2681 return value; | |
2682 } | |
2683 } | |
2684 | |
2685 class PopAndBranchBackWide extends Bytecode { | |
2686 final int uint8Argument0; | |
2687 final int uint32Argument1; | |
2688 const PopAndBranchBackWide(this.uint8Argument0, this.uint32Argument1) | |
2689 : super(); | |
2690 | |
2691 Opcode get opcode => Opcode.PopAndBranchBackWide; | |
2692 | |
2693 String get name => 'PopAndBranchBackWide'; | |
2694 | |
2695 bool get isBranching => true; | |
2696 | |
2697 String get format => 'BI'; | |
2698 | |
2699 int get size => 6; | |
2700 | |
2701 int get stackPointerDifference => 0; | |
2702 | |
2703 String get formatString => 'pop %d and branch -%d'; | |
2704 | |
2705 void addTo(Sink<List<int>> sink) { | |
2706 new BytecodeBuffer() | |
2707 ..addUint8(opcode.index) | |
2708 ..addUint8(uint8Argument0) | |
2709 ..addUint32(uint32Argument1) | |
2710 ..sendOn(sink); | |
2711 } | |
2712 | |
2713 String toString() => 'pop ${uint8Argument0} and branch -${uint32Argument1}'; | |
2714 | |
2715 operator==(Bytecode other) { | |
2716 if (!(super==(other))) return false; | |
2717 PopAndBranchBackWide rhs = other; | |
2718 if (uint8Argument0 != rhs.uint8Argument0) return false; | |
2719 if (uint32Argument1 != rhs.uint32Argument1) return false; | |
2720 return true; | |
2721 } | |
2722 | |
2723 int get hashCode { | |
2724 int value = super.hashCode; | |
2725 value += uint8Argument0; | |
2726 value += uint32Argument1; | |
2727 return value; | |
2728 } | |
2729 } | |
2730 | |
2731 class AllocateBoxed extends Bytecode { | |
2732 const AllocateBoxed() | |
2733 : super(); | |
2734 | |
2735 Opcode get opcode => Opcode.AllocateBoxed; | |
2736 | |
2737 String get name => 'AllocateBoxed'; | |
2738 | |
2739 bool get isBranching => false; | |
2740 | |
2741 String get format => ''; | |
2742 | |
2743 int get size => 1; | |
2744 | |
2745 int get stackPointerDifference => 0; | |
2746 | |
2747 String get formatString => 'allocate boxed'; | |
2748 | |
2749 void addTo(Sink<List<int>> sink) { | |
2750 new BytecodeBuffer() | |
2751 ..addUint8(opcode.index) | |
2752 ..sendOn(sink); | |
2753 } | |
2754 | |
2755 String toString() => 'allocate boxed'; | |
2756 } | |
2757 | |
2758 class Negate extends Bytecode { | |
2759 const Negate() | |
2760 : super(); | |
2761 | |
2762 Opcode get opcode => Opcode.Negate; | |
2763 | |
2764 String get name => 'Negate'; | |
2765 | |
2766 bool get isBranching => false; | |
2767 | |
2768 String get format => ''; | |
2769 | |
2770 int get size => 1; | |
2771 | |
2772 int get stackPointerDifference => 0; | |
2773 | |
2774 String get formatString => 'negate'; | |
2775 | |
2776 void addTo(Sink<List<int>> sink) { | |
2777 new BytecodeBuffer() | |
2778 ..addUint8(opcode.index) | |
2779 ..sendOn(sink); | |
2780 } | |
2781 | |
2782 String toString() => 'negate'; | |
2783 } | |
2784 | |
2785 class StackOverflowCheck extends Bytecode { | |
2786 final int uint32Argument0; | |
2787 const StackOverflowCheck(this.uint32Argument0) | |
2788 : super(); | |
2789 | |
2790 Opcode get opcode => Opcode.StackOverflowCheck; | |
2791 | |
2792 String get name => 'StackOverflowCheck'; | |
2793 | |
2794 bool get isBranching => true; | |
2795 | |
2796 String get format => 'I'; | |
2797 | |
2798 int get size => 5; | |
2799 | |
2800 int get stackPointerDifference => 0; | |
2801 | |
2802 String get formatString => 'stack overflow check %d'; | |
2803 | |
2804 void addTo(Sink<List<int>> sink) { | |
2805 new BytecodeBuffer() | |
2806 ..addUint8(opcode.index) | |
2807 ..addUint32(uint32Argument0) | |
2808 ..sendOn(sink); | |
2809 } | |
2810 | |
2811 String toString() => 'stack overflow check ${uint32Argument0}'; | |
2812 | |
2813 operator==(Bytecode other) { | |
2814 if (!(super==(other))) return false; | |
2815 StackOverflowCheck rhs = other; | |
2816 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
2817 return true; | |
2818 } | |
2819 | |
2820 int get hashCode { | |
2821 int value = super.hashCode; | |
2822 value += uint32Argument0; | |
2823 return value; | |
2824 } | |
2825 } | |
2826 | |
2827 class Throw extends Bytecode { | |
2828 const Throw() | |
2829 : super(); | |
2830 | |
2831 Opcode get opcode => Opcode.Throw; | |
2832 | |
2833 String get name => 'Throw'; | |
2834 | |
2835 bool get isBranching => true; | |
2836 | |
2837 String get format => ''; | |
2838 | |
2839 int get size => 1; | |
2840 | |
2841 int get stackPointerDifference => 0; | |
2842 | |
2843 String get formatString => 'throw'; | |
2844 | |
2845 void addTo(Sink<List<int>> sink) { | |
2846 new BytecodeBuffer() | |
2847 ..addUint8(opcode.index) | |
2848 ..sendOn(sink); | |
2849 } | |
2850 | |
2851 String toString() => 'throw'; | |
2852 } | |
2853 | |
2854 class SubroutineCall extends Bytecode { | |
2855 final int uint32Argument0; | |
2856 final int uint32Argument1; | |
2857 const SubroutineCall(this.uint32Argument0, this.uint32Argument1) | |
2858 : super(); | |
2859 | |
2860 Opcode get opcode => Opcode.SubroutineCall; | |
2861 | |
2862 String get name => 'SubroutineCall'; | |
2863 | |
2864 bool get isBranching => true; | |
2865 | |
2866 String get format => 'II'; | |
2867 | |
2868 int get size => 9; | |
2869 | |
2870 int get stackPointerDifference => VAR_DIFF; | |
2871 | |
2872 String get formatString => 'subroutine call +%d -%d'; | |
2873 | |
2874 void addTo(Sink<List<int>> sink) { | |
2875 new BytecodeBuffer() | |
2876 ..addUint8(opcode.index) | |
2877 ..addUint32(uint32Argument0) | |
2878 ..addUint32(uint32Argument1) | |
2879 ..sendOn(sink); | |
2880 } | |
2881 | |
2882 String toString() => 'subroutine call +${uint32Argument0} -${uint32Argument1}'
; | |
2883 | |
2884 operator==(Bytecode other) { | |
2885 if (!(super==(other))) return false; | |
2886 SubroutineCall rhs = other; | |
2887 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
2888 if (uint32Argument1 != rhs.uint32Argument1) return false; | |
2889 return true; | |
2890 } | |
2891 | |
2892 int get hashCode { | |
2893 int value = super.hashCode; | |
2894 value += uint32Argument0; | |
2895 value += uint32Argument1; | |
2896 return value; | |
2897 } | |
2898 } | |
2899 | |
2900 class SubroutineReturn extends Bytecode { | |
2901 const SubroutineReturn() | |
2902 : super(); | |
2903 | |
2904 Opcode get opcode => Opcode.SubroutineReturn; | |
2905 | |
2906 String get name => 'SubroutineReturn'; | |
2907 | |
2908 bool get isBranching => true; | |
2909 | |
2910 String get format => ''; | |
2911 | |
2912 int get size => 1; | |
2913 | |
2914 int get stackPointerDifference => -1; | |
2915 | |
2916 String get formatString => 'subroutine return'; | |
2917 | |
2918 void addTo(Sink<List<int>> sink) { | |
2919 new BytecodeBuffer() | |
2920 ..addUint8(opcode.index) | |
2921 ..sendOn(sink); | |
2922 } | |
2923 | |
2924 String toString() => 'subroutine return'; | |
2925 } | |
2926 | |
2927 class ProcessYield extends Bytecode { | |
2928 const ProcessYield() | |
2929 : super(); | |
2930 | |
2931 Opcode get opcode => Opcode.ProcessYield; | |
2932 | |
2933 String get name => 'ProcessYield'; | |
2934 | |
2935 bool get isBranching => true; | |
2936 | |
2937 String get format => ''; | |
2938 | |
2939 int get size => 1; | |
2940 | |
2941 int get stackPointerDifference => 0; | |
2942 | |
2943 String get formatString => 'process yield'; | |
2944 | |
2945 void addTo(Sink<List<int>> sink) { | |
2946 new BytecodeBuffer() | |
2947 ..addUint8(opcode.index) | |
2948 ..sendOn(sink); | |
2949 } | |
2950 | |
2951 String toString() => 'process yield'; | |
2952 } | |
2953 | |
2954 class CoroutineChange extends Bytecode { | |
2955 const CoroutineChange() | |
2956 : super(); | |
2957 | |
2958 Opcode get opcode => Opcode.CoroutineChange; | |
2959 | |
2960 String get name => 'CoroutineChange'; | |
2961 | |
2962 bool get isBranching => true; | |
2963 | |
2964 String get format => ''; | |
2965 | |
2966 int get size => 1; | |
2967 | |
2968 int get stackPointerDifference => -1; | |
2969 | |
2970 String get formatString => 'coroutine change'; | |
2971 | |
2972 void addTo(Sink<List<int>> sink) { | |
2973 new BytecodeBuffer() | |
2974 ..addUint8(opcode.index) | |
2975 ..sendOn(sink); | |
2976 } | |
2977 | |
2978 String toString() => 'coroutine change'; | |
2979 } | |
2980 | |
2981 class Identical extends Bytecode { | |
2982 const Identical() | |
2983 : super(); | |
2984 | |
2985 Opcode get opcode => Opcode.Identical; | |
2986 | |
2987 String get name => 'Identical'; | |
2988 | |
2989 bool get isBranching => true; | |
2990 | |
2991 String get format => ''; | |
2992 | |
2993 int get size => 1; | |
2994 | |
2995 int get stackPointerDifference => -1; | |
2996 | |
2997 String get formatString => 'identical'; | |
2998 | |
2999 void addTo(Sink<List<int>> sink) { | |
3000 new BytecodeBuffer() | |
3001 ..addUint8(opcode.index) | |
3002 ..sendOn(sink); | |
3003 } | |
3004 | |
3005 String toString() => 'identical'; | |
3006 } | |
3007 | |
3008 class IdenticalNonNumeric extends Bytecode { | |
3009 const IdenticalNonNumeric() | |
3010 : super(); | |
3011 | |
3012 Opcode get opcode => Opcode.IdenticalNonNumeric; | |
3013 | |
3014 String get name => 'IdenticalNonNumeric'; | |
3015 | |
3016 bool get isBranching => true; | |
3017 | |
3018 String get format => ''; | |
3019 | |
3020 int get size => 1; | |
3021 | |
3022 int get stackPointerDifference => -1; | |
3023 | |
3024 String get formatString => 'identical non numeric'; | |
3025 | |
3026 void addTo(Sink<List<int>> sink) { | |
3027 new BytecodeBuffer() | |
3028 ..addUint8(opcode.index) | |
3029 ..sendOn(sink); | |
3030 } | |
3031 | |
3032 String toString() => 'identical non numeric'; | |
3033 } | |
3034 | |
3035 class EnterNoSuchMethod extends Bytecode { | |
3036 final int uint8Argument0; | |
3037 const EnterNoSuchMethod(this.uint8Argument0) | |
3038 : super(); | |
3039 | |
3040 Opcode get opcode => Opcode.EnterNoSuchMethod; | |
3041 | |
3042 String get name => 'EnterNoSuchMethod'; | |
3043 | |
3044 bool get isBranching => true; | |
3045 | |
3046 String get format => 'B'; | |
3047 | |
3048 int get size => 2; | |
3049 | |
3050 int get stackPointerDifference => VAR_DIFF; | |
3051 | |
3052 String get formatString => 'enter noSuchMethod +%d'; | |
3053 | |
3054 void addTo(Sink<List<int>> sink) { | |
3055 new BytecodeBuffer() | |
3056 ..addUint8(opcode.index) | |
3057 ..addUint8(uint8Argument0) | |
3058 ..sendOn(sink); | |
3059 } | |
3060 | |
3061 String toString() => 'enter noSuchMethod +${uint8Argument0}'; | |
3062 | |
3063 operator==(Bytecode other) { | |
3064 if (!(super==(other))) return false; | |
3065 EnterNoSuchMethod rhs = other; | |
3066 if (uint8Argument0 != rhs.uint8Argument0) return false; | |
3067 return true; | |
3068 } | |
3069 | |
3070 int get hashCode { | |
3071 int value = super.hashCode; | |
3072 value += uint8Argument0; | |
3073 return value; | |
3074 } | |
3075 } | |
3076 | |
3077 class ExitNoSuchMethod extends Bytecode { | |
3078 const ExitNoSuchMethod() | |
3079 : super(); | |
3080 | |
3081 Opcode get opcode => Opcode.ExitNoSuchMethod; | |
3082 | |
3083 String get name => 'ExitNoSuchMethod'; | |
3084 | |
3085 bool get isBranching => true; | |
3086 | |
3087 String get format => ''; | |
3088 | |
3089 int get size => 1; | |
3090 | |
3091 int get stackPointerDifference => -1; | |
3092 | |
3093 String get formatString => 'exit noSuchMethod'; | |
3094 | |
3095 void addTo(Sink<List<int>> sink) { | |
3096 new BytecodeBuffer() | |
3097 ..addUint8(opcode.index) | |
3098 ..sendOn(sink); | |
3099 } | |
3100 | |
3101 String toString() => 'exit noSuchMethod'; | |
3102 } | |
3103 | |
3104 class InvokeMethodUnfold extends Bytecode { | |
3105 final int uint32Argument0; | |
3106 const InvokeMethodUnfold(this.uint32Argument0) | |
3107 : super(); | |
3108 | |
3109 Opcode get opcode => Opcode.InvokeMethodUnfold; | |
3110 | |
3111 String get name => 'InvokeMethodUnfold'; | |
3112 | |
3113 bool get isBranching => true; | |
3114 | |
3115 String get format => 'I'; | |
3116 | |
3117 int get size => 5; | |
3118 | |
3119 int get stackPointerDifference => VAR_DIFF; | |
3120 | |
3121 String get formatString => 'invoke unfold method %d'; | |
3122 | |
3123 void addTo(Sink<List<int>> sink) { | |
3124 new BytecodeBuffer() | |
3125 ..addUint8(opcode.index) | |
3126 ..addUint32(uint32Argument0) | |
3127 ..sendOn(sink); | |
3128 } | |
3129 | |
3130 String toString() => 'invoke unfold method ${uint32Argument0}'; | |
3131 | |
3132 operator==(Bytecode other) { | |
3133 if (!(super==(other))) return false; | |
3134 InvokeMethodUnfold rhs = other; | |
3135 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
3136 return true; | |
3137 } | |
3138 | |
3139 int get hashCode { | |
3140 int value = super.hashCode; | |
3141 value += uint32Argument0; | |
3142 return value; | |
3143 } | |
3144 } | |
3145 | |
3146 class InvokeTestUnfold extends Bytecode { | |
3147 final int uint32Argument0; | |
3148 const InvokeTestUnfold(this.uint32Argument0) | |
3149 : super(); | |
3150 | |
3151 Opcode get opcode => Opcode.InvokeTestUnfold; | |
3152 | |
3153 String get name => 'InvokeTestUnfold'; | |
3154 | |
3155 bool get isBranching => true; | |
3156 | |
3157 String get format => 'I'; | |
3158 | |
3159 int get size => 5; | |
3160 | |
3161 int get stackPointerDifference => 0; | |
3162 | |
3163 String get formatString => 'invoke unfold test %d'; | |
3164 | |
3165 void addTo(Sink<List<int>> sink) { | |
3166 new BytecodeBuffer() | |
3167 ..addUint8(opcode.index) | |
3168 ..addUint32(uint32Argument0) | |
3169 ..sendOn(sink); | |
3170 } | |
3171 | |
3172 String toString() => 'invoke unfold test ${uint32Argument0}'; | |
3173 | |
3174 operator==(Bytecode other) { | |
3175 if (!(super==(other))) return false; | |
3176 InvokeTestUnfold rhs = other; | |
3177 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
3178 return true; | |
3179 } | |
3180 | |
3181 int get hashCode { | |
3182 int value = super.hashCode; | |
3183 value += uint32Argument0; | |
3184 return value; | |
3185 } | |
3186 } | |
3187 | |
3188 class InvokeEqUnfold extends Bytecode { | |
3189 final int uint32Argument0; | |
3190 const InvokeEqUnfold(this.uint32Argument0) | |
3191 : super(); | |
3192 | |
3193 Opcode get opcode => Opcode.InvokeEqUnfold; | |
3194 | |
3195 String get name => 'InvokeEqUnfold'; | |
3196 | |
3197 bool get isBranching => true; | |
3198 | |
3199 String get format => 'I'; | |
3200 | |
3201 int get size => 5; | |
3202 | |
3203 int get stackPointerDifference => -1; | |
3204 | |
3205 String get formatString => 'invoke unfold eq %d'; | |
3206 | |
3207 void addTo(Sink<List<int>> sink) { | |
3208 new BytecodeBuffer() | |
3209 ..addUint8(opcode.index) | |
3210 ..addUint32(uint32Argument0) | |
3211 ..sendOn(sink); | |
3212 } | |
3213 | |
3214 String toString() => 'invoke unfold eq ${uint32Argument0}'; | |
3215 | |
3216 operator==(Bytecode other) { | |
3217 if (!(super==(other))) return false; | |
3218 InvokeEqUnfold rhs = other; | |
3219 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
3220 return true; | |
3221 } | |
3222 | |
3223 int get hashCode { | |
3224 int value = super.hashCode; | |
3225 value += uint32Argument0; | |
3226 return value; | |
3227 } | |
3228 } | |
3229 | |
3230 class InvokeLtUnfold extends Bytecode { | |
3231 final int uint32Argument0; | |
3232 const InvokeLtUnfold(this.uint32Argument0) | |
3233 : super(); | |
3234 | |
3235 Opcode get opcode => Opcode.InvokeLtUnfold; | |
3236 | |
3237 String get name => 'InvokeLtUnfold'; | |
3238 | |
3239 bool get isBranching => true; | |
3240 | |
3241 String get format => 'I'; | |
3242 | |
3243 int get size => 5; | |
3244 | |
3245 int get stackPointerDifference => -1; | |
3246 | |
3247 String get formatString => 'invoke unfold lt %d'; | |
3248 | |
3249 void addTo(Sink<List<int>> sink) { | |
3250 new BytecodeBuffer() | |
3251 ..addUint8(opcode.index) | |
3252 ..addUint32(uint32Argument0) | |
3253 ..sendOn(sink); | |
3254 } | |
3255 | |
3256 String toString() => 'invoke unfold lt ${uint32Argument0}'; | |
3257 | |
3258 operator==(Bytecode other) { | |
3259 if (!(super==(other))) return false; | |
3260 InvokeLtUnfold rhs = other; | |
3261 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
3262 return true; | |
3263 } | |
3264 | |
3265 int get hashCode { | |
3266 int value = super.hashCode; | |
3267 value += uint32Argument0; | |
3268 return value; | |
3269 } | |
3270 } | |
3271 | |
3272 class InvokeLeUnfold extends Bytecode { | |
3273 final int uint32Argument0; | |
3274 const InvokeLeUnfold(this.uint32Argument0) | |
3275 : super(); | |
3276 | |
3277 Opcode get opcode => Opcode.InvokeLeUnfold; | |
3278 | |
3279 String get name => 'InvokeLeUnfold'; | |
3280 | |
3281 bool get isBranching => true; | |
3282 | |
3283 String get format => 'I'; | |
3284 | |
3285 int get size => 5; | |
3286 | |
3287 int get stackPointerDifference => -1; | |
3288 | |
3289 String get formatString => 'invoke unfold le %d'; | |
3290 | |
3291 void addTo(Sink<List<int>> sink) { | |
3292 new BytecodeBuffer() | |
3293 ..addUint8(opcode.index) | |
3294 ..addUint32(uint32Argument0) | |
3295 ..sendOn(sink); | |
3296 } | |
3297 | |
3298 String toString() => 'invoke unfold le ${uint32Argument0}'; | |
3299 | |
3300 operator==(Bytecode other) { | |
3301 if (!(super==(other))) return false; | |
3302 InvokeLeUnfold rhs = other; | |
3303 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
3304 return true; | |
3305 } | |
3306 | |
3307 int get hashCode { | |
3308 int value = super.hashCode; | |
3309 value += uint32Argument0; | |
3310 return value; | |
3311 } | |
3312 } | |
3313 | |
3314 class InvokeGtUnfold extends Bytecode { | |
3315 final int uint32Argument0; | |
3316 const InvokeGtUnfold(this.uint32Argument0) | |
3317 : super(); | |
3318 | |
3319 Opcode get opcode => Opcode.InvokeGtUnfold; | |
3320 | |
3321 String get name => 'InvokeGtUnfold'; | |
3322 | |
3323 bool get isBranching => true; | |
3324 | |
3325 String get format => 'I'; | |
3326 | |
3327 int get size => 5; | |
3328 | |
3329 int get stackPointerDifference => -1; | |
3330 | |
3331 String get formatString => 'invoke unfold gt %d'; | |
3332 | |
3333 void addTo(Sink<List<int>> sink) { | |
3334 new BytecodeBuffer() | |
3335 ..addUint8(opcode.index) | |
3336 ..addUint32(uint32Argument0) | |
3337 ..sendOn(sink); | |
3338 } | |
3339 | |
3340 String toString() => 'invoke unfold gt ${uint32Argument0}'; | |
3341 | |
3342 operator==(Bytecode other) { | |
3343 if (!(super==(other))) return false; | |
3344 InvokeGtUnfold rhs = other; | |
3345 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
3346 return true; | |
3347 } | |
3348 | |
3349 int get hashCode { | |
3350 int value = super.hashCode; | |
3351 value += uint32Argument0; | |
3352 return value; | |
3353 } | |
3354 } | |
3355 | |
3356 class InvokeGeUnfold extends Bytecode { | |
3357 final int uint32Argument0; | |
3358 const InvokeGeUnfold(this.uint32Argument0) | |
3359 : super(); | |
3360 | |
3361 Opcode get opcode => Opcode.InvokeGeUnfold; | |
3362 | |
3363 String get name => 'InvokeGeUnfold'; | |
3364 | |
3365 bool get isBranching => true; | |
3366 | |
3367 String get format => 'I'; | |
3368 | |
3369 int get size => 5; | |
3370 | |
3371 int get stackPointerDifference => -1; | |
3372 | |
3373 String get formatString => 'invoke unfold ge %d'; | |
3374 | |
3375 void addTo(Sink<List<int>> sink) { | |
3376 new BytecodeBuffer() | |
3377 ..addUint8(opcode.index) | |
3378 ..addUint32(uint32Argument0) | |
3379 ..sendOn(sink); | |
3380 } | |
3381 | |
3382 String toString() => 'invoke unfold ge ${uint32Argument0}'; | |
3383 | |
3384 operator==(Bytecode other) { | |
3385 if (!(super==(other))) return false; | |
3386 InvokeGeUnfold rhs = other; | |
3387 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
3388 return true; | |
3389 } | |
3390 | |
3391 int get hashCode { | |
3392 int value = super.hashCode; | |
3393 value += uint32Argument0; | |
3394 return value; | |
3395 } | |
3396 } | |
3397 | |
3398 class InvokeAddUnfold extends Bytecode { | |
3399 final int uint32Argument0; | |
3400 const InvokeAddUnfold(this.uint32Argument0) | |
3401 : super(); | |
3402 | |
3403 Opcode get opcode => Opcode.InvokeAddUnfold; | |
3404 | |
3405 String get name => 'InvokeAddUnfold'; | |
3406 | |
3407 bool get isBranching => true; | |
3408 | |
3409 String get format => 'I'; | |
3410 | |
3411 int get size => 5; | |
3412 | |
3413 int get stackPointerDifference => -1; | |
3414 | |
3415 String get formatString => 'invoke unfold add %d'; | |
3416 | |
3417 void addTo(Sink<List<int>> sink) { | |
3418 new BytecodeBuffer() | |
3419 ..addUint8(opcode.index) | |
3420 ..addUint32(uint32Argument0) | |
3421 ..sendOn(sink); | |
3422 } | |
3423 | |
3424 String toString() => 'invoke unfold add ${uint32Argument0}'; | |
3425 | |
3426 operator==(Bytecode other) { | |
3427 if (!(super==(other))) return false; | |
3428 InvokeAddUnfold rhs = other; | |
3429 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
3430 return true; | |
3431 } | |
3432 | |
3433 int get hashCode { | |
3434 int value = super.hashCode; | |
3435 value += uint32Argument0; | |
3436 return value; | |
3437 } | |
3438 } | |
3439 | |
3440 class InvokeSubUnfold extends Bytecode { | |
3441 final int uint32Argument0; | |
3442 const InvokeSubUnfold(this.uint32Argument0) | |
3443 : super(); | |
3444 | |
3445 Opcode get opcode => Opcode.InvokeSubUnfold; | |
3446 | |
3447 String get name => 'InvokeSubUnfold'; | |
3448 | |
3449 bool get isBranching => true; | |
3450 | |
3451 String get format => 'I'; | |
3452 | |
3453 int get size => 5; | |
3454 | |
3455 int get stackPointerDifference => -1; | |
3456 | |
3457 String get formatString => 'invoke unfold sub %d'; | |
3458 | |
3459 void addTo(Sink<List<int>> sink) { | |
3460 new BytecodeBuffer() | |
3461 ..addUint8(opcode.index) | |
3462 ..addUint32(uint32Argument0) | |
3463 ..sendOn(sink); | |
3464 } | |
3465 | |
3466 String toString() => 'invoke unfold sub ${uint32Argument0}'; | |
3467 | |
3468 operator==(Bytecode other) { | |
3469 if (!(super==(other))) return false; | |
3470 InvokeSubUnfold rhs = other; | |
3471 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
3472 return true; | |
3473 } | |
3474 | |
3475 int get hashCode { | |
3476 int value = super.hashCode; | |
3477 value += uint32Argument0; | |
3478 return value; | |
3479 } | |
3480 } | |
3481 | |
3482 class InvokeModUnfold extends Bytecode { | |
3483 final int uint32Argument0; | |
3484 const InvokeModUnfold(this.uint32Argument0) | |
3485 : super(); | |
3486 | |
3487 Opcode get opcode => Opcode.InvokeModUnfold; | |
3488 | |
3489 String get name => 'InvokeModUnfold'; | |
3490 | |
3491 bool get isBranching => true; | |
3492 | |
3493 String get format => 'I'; | |
3494 | |
3495 int get size => 5; | |
3496 | |
3497 int get stackPointerDifference => -1; | |
3498 | |
3499 String get formatString => 'invoke unfold mod %d'; | |
3500 | |
3501 void addTo(Sink<List<int>> sink) { | |
3502 new BytecodeBuffer() | |
3503 ..addUint8(opcode.index) | |
3504 ..addUint32(uint32Argument0) | |
3505 ..sendOn(sink); | |
3506 } | |
3507 | |
3508 String toString() => 'invoke unfold mod ${uint32Argument0}'; | |
3509 | |
3510 operator==(Bytecode other) { | |
3511 if (!(super==(other))) return false; | |
3512 InvokeModUnfold rhs = other; | |
3513 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
3514 return true; | |
3515 } | |
3516 | |
3517 int get hashCode { | |
3518 int value = super.hashCode; | |
3519 value += uint32Argument0; | |
3520 return value; | |
3521 } | |
3522 } | |
3523 | |
3524 class InvokeMulUnfold extends Bytecode { | |
3525 final int uint32Argument0; | |
3526 const InvokeMulUnfold(this.uint32Argument0) | |
3527 : super(); | |
3528 | |
3529 Opcode get opcode => Opcode.InvokeMulUnfold; | |
3530 | |
3531 String get name => 'InvokeMulUnfold'; | |
3532 | |
3533 bool get isBranching => true; | |
3534 | |
3535 String get format => 'I'; | |
3536 | |
3537 int get size => 5; | |
3538 | |
3539 int get stackPointerDifference => -1; | |
3540 | |
3541 String get formatString => 'invoke unfold mul %d'; | |
3542 | |
3543 void addTo(Sink<List<int>> sink) { | |
3544 new BytecodeBuffer() | |
3545 ..addUint8(opcode.index) | |
3546 ..addUint32(uint32Argument0) | |
3547 ..sendOn(sink); | |
3548 } | |
3549 | |
3550 String toString() => 'invoke unfold mul ${uint32Argument0}'; | |
3551 | |
3552 operator==(Bytecode other) { | |
3553 if (!(super==(other))) return false; | |
3554 InvokeMulUnfold rhs = other; | |
3555 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
3556 return true; | |
3557 } | |
3558 | |
3559 int get hashCode { | |
3560 int value = super.hashCode; | |
3561 value += uint32Argument0; | |
3562 return value; | |
3563 } | |
3564 } | |
3565 | |
3566 class InvokeTruncDivUnfold extends Bytecode { | |
3567 final int uint32Argument0; | |
3568 const InvokeTruncDivUnfold(this.uint32Argument0) | |
3569 : super(); | |
3570 | |
3571 Opcode get opcode => Opcode.InvokeTruncDivUnfold; | |
3572 | |
3573 String get name => 'InvokeTruncDivUnfold'; | |
3574 | |
3575 bool get isBranching => true; | |
3576 | |
3577 String get format => 'I'; | |
3578 | |
3579 int get size => 5; | |
3580 | |
3581 int get stackPointerDifference => -1; | |
3582 | |
3583 String get formatString => 'invoke unfold trunc div %d'; | |
3584 | |
3585 void addTo(Sink<List<int>> sink) { | |
3586 new BytecodeBuffer() | |
3587 ..addUint8(opcode.index) | |
3588 ..addUint32(uint32Argument0) | |
3589 ..sendOn(sink); | |
3590 } | |
3591 | |
3592 String toString() => 'invoke unfold trunc div ${uint32Argument0}'; | |
3593 | |
3594 operator==(Bytecode other) { | |
3595 if (!(super==(other))) return false; | |
3596 InvokeTruncDivUnfold rhs = other; | |
3597 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
3598 return true; | |
3599 } | |
3600 | |
3601 int get hashCode { | |
3602 int value = super.hashCode; | |
3603 value += uint32Argument0; | |
3604 return value; | |
3605 } | |
3606 } | |
3607 | |
3608 class InvokeBitNotUnfold extends Bytecode { | |
3609 final int uint32Argument0; | |
3610 const InvokeBitNotUnfold(this.uint32Argument0) | |
3611 : super(); | |
3612 | |
3613 Opcode get opcode => Opcode.InvokeBitNotUnfold; | |
3614 | |
3615 String get name => 'InvokeBitNotUnfold'; | |
3616 | |
3617 bool get isBranching => true; | |
3618 | |
3619 String get format => 'I'; | |
3620 | |
3621 int get size => 5; | |
3622 | |
3623 int get stackPointerDifference => 0; | |
3624 | |
3625 String get formatString => 'invoke unfold bit not %d'; | |
3626 | |
3627 void addTo(Sink<List<int>> sink) { | |
3628 new BytecodeBuffer() | |
3629 ..addUint8(opcode.index) | |
3630 ..addUint32(uint32Argument0) | |
3631 ..sendOn(sink); | |
3632 } | |
3633 | |
3634 String toString() => 'invoke unfold bit not ${uint32Argument0}'; | |
3635 | |
3636 operator==(Bytecode other) { | |
3637 if (!(super==(other))) return false; | |
3638 InvokeBitNotUnfold rhs = other; | |
3639 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
3640 return true; | |
3641 } | |
3642 | |
3643 int get hashCode { | |
3644 int value = super.hashCode; | |
3645 value += uint32Argument0; | |
3646 return value; | |
3647 } | |
3648 } | |
3649 | |
3650 class InvokeBitAndUnfold extends Bytecode { | |
3651 final int uint32Argument0; | |
3652 const InvokeBitAndUnfold(this.uint32Argument0) | |
3653 : super(); | |
3654 | |
3655 Opcode get opcode => Opcode.InvokeBitAndUnfold; | |
3656 | |
3657 String get name => 'InvokeBitAndUnfold'; | |
3658 | |
3659 bool get isBranching => true; | |
3660 | |
3661 String get format => 'I'; | |
3662 | |
3663 int get size => 5; | |
3664 | |
3665 int get stackPointerDifference => -1; | |
3666 | |
3667 String get formatString => 'invoke unfold bit and %d'; | |
3668 | |
3669 void addTo(Sink<List<int>> sink) { | |
3670 new BytecodeBuffer() | |
3671 ..addUint8(opcode.index) | |
3672 ..addUint32(uint32Argument0) | |
3673 ..sendOn(sink); | |
3674 } | |
3675 | |
3676 String toString() => 'invoke unfold bit and ${uint32Argument0}'; | |
3677 | |
3678 operator==(Bytecode other) { | |
3679 if (!(super==(other))) return false; | |
3680 InvokeBitAndUnfold rhs = other; | |
3681 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
3682 return true; | |
3683 } | |
3684 | |
3685 int get hashCode { | |
3686 int value = super.hashCode; | |
3687 value += uint32Argument0; | |
3688 return value; | |
3689 } | |
3690 } | |
3691 | |
3692 class InvokeBitOrUnfold extends Bytecode { | |
3693 final int uint32Argument0; | |
3694 const InvokeBitOrUnfold(this.uint32Argument0) | |
3695 : super(); | |
3696 | |
3697 Opcode get opcode => Opcode.InvokeBitOrUnfold; | |
3698 | |
3699 String get name => 'InvokeBitOrUnfold'; | |
3700 | |
3701 bool get isBranching => true; | |
3702 | |
3703 String get format => 'I'; | |
3704 | |
3705 int get size => 5; | |
3706 | |
3707 int get stackPointerDifference => -1; | |
3708 | |
3709 String get formatString => 'invoke unfold bit or %d'; | |
3710 | |
3711 void addTo(Sink<List<int>> sink) { | |
3712 new BytecodeBuffer() | |
3713 ..addUint8(opcode.index) | |
3714 ..addUint32(uint32Argument0) | |
3715 ..sendOn(sink); | |
3716 } | |
3717 | |
3718 String toString() => 'invoke unfold bit or ${uint32Argument0}'; | |
3719 | |
3720 operator==(Bytecode other) { | |
3721 if (!(super==(other))) return false; | |
3722 InvokeBitOrUnfold rhs = other; | |
3723 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
3724 return true; | |
3725 } | |
3726 | |
3727 int get hashCode { | |
3728 int value = super.hashCode; | |
3729 value += uint32Argument0; | |
3730 return value; | |
3731 } | |
3732 } | |
3733 | |
3734 class InvokeBitXorUnfold extends Bytecode { | |
3735 final int uint32Argument0; | |
3736 const InvokeBitXorUnfold(this.uint32Argument0) | |
3737 : super(); | |
3738 | |
3739 Opcode get opcode => Opcode.InvokeBitXorUnfold; | |
3740 | |
3741 String get name => 'InvokeBitXorUnfold'; | |
3742 | |
3743 bool get isBranching => true; | |
3744 | |
3745 String get format => 'I'; | |
3746 | |
3747 int get size => 5; | |
3748 | |
3749 int get stackPointerDifference => -1; | |
3750 | |
3751 String get formatString => 'invoke unfold bit xor %d'; | |
3752 | |
3753 void addTo(Sink<List<int>> sink) { | |
3754 new BytecodeBuffer() | |
3755 ..addUint8(opcode.index) | |
3756 ..addUint32(uint32Argument0) | |
3757 ..sendOn(sink); | |
3758 } | |
3759 | |
3760 String toString() => 'invoke unfold bit xor ${uint32Argument0}'; | |
3761 | |
3762 operator==(Bytecode other) { | |
3763 if (!(super==(other))) return false; | |
3764 InvokeBitXorUnfold rhs = other; | |
3765 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
3766 return true; | |
3767 } | |
3768 | |
3769 int get hashCode { | |
3770 int value = super.hashCode; | |
3771 value += uint32Argument0; | |
3772 return value; | |
3773 } | |
3774 } | |
3775 | |
3776 class InvokeBitShrUnfold extends Bytecode { | |
3777 final int uint32Argument0; | |
3778 const InvokeBitShrUnfold(this.uint32Argument0) | |
3779 : super(); | |
3780 | |
3781 Opcode get opcode => Opcode.InvokeBitShrUnfold; | |
3782 | |
3783 String get name => 'InvokeBitShrUnfold'; | |
3784 | |
3785 bool get isBranching => true; | |
3786 | |
3787 String get format => 'I'; | |
3788 | |
3789 int get size => 5; | |
3790 | |
3791 int get stackPointerDifference => -1; | |
3792 | |
3793 String get formatString => 'invoke unfold bit shr %d'; | |
3794 | |
3795 void addTo(Sink<List<int>> sink) { | |
3796 new BytecodeBuffer() | |
3797 ..addUint8(opcode.index) | |
3798 ..addUint32(uint32Argument0) | |
3799 ..sendOn(sink); | |
3800 } | |
3801 | |
3802 String toString() => 'invoke unfold bit shr ${uint32Argument0}'; | |
3803 | |
3804 operator==(Bytecode other) { | |
3805 if (!(super==(other))) return false; | |
3806 InvokeBitShrUnfold rhs = other; | |
3807 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
3808 return true; | |
3809 } | |
3810 | |
3811 int get hashCode { | |
3812 int value = super.hashCode; | |
3813 value += uint32Argument0; | |
3814 return value; | |
3815 } | |
3816 } | |
3817 | |
3818 class InvokeBitShlUnfold extends Bytecode { | |
3819 final int uint32Argument0; | |
3820 const InvokeBitShlUnfold(this.uint32Argument0) | |
3821 : super(); | |
3822 | |
3823 Opcode get opcode => Opcode.InvokeBitShlUnfold; | |
3824 | |
3825 String get name => 'InvokeBitShlUnfold'; | |
3826 | |
3827 bool get isBranching => true; | |
3828 | |
3829 String get format => 'I'; | |
3830 | |
3831 int get size => 5; | |
3832 | |
3833 int get stackPointerDifference => -1; | |
3834 | |
3835 String get formatString => 'invoke unfold bit shl %d'; | |
3836 | |
3837 void addTo(Sink<List<int>> sink) { | |
3838 new BytecodeBuffer() | |
3839 ..addUint8(opcode.index) | |
3840 ..addUint32(uint32Argument0) | |
3841 ..sendOn(sink); | |
3842 } | |
3843 | |
3844 String toString() => 'invoke unfold bit shl ${uint32Argument0}'; | |
3845 | |
3846 operator==(Bytecode other) { | |
3847 if (!(super==(other))) return false; | |
3848 InvokeBitShlUnfold rhs = other; | |
3849 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
3850 return true; | |
3851 } | |
3852 | |
3853 int get hashCode { | |
3854 int value = super.hashCode; | |
3855 value += uint32Argument0; | |
3856 return value; | |
3857 } | |
3858 } | |
3859 | |
3860 class LoadConst extends Bytecode { | |
3861 final int uint32Argument0; | |
3862 const LoadConst(this.uint32Argument0) | |
3863 : super(); | |
3864 | |
3865 Opcode get opcode => Opcode.LoadConst; | |
3866 | |
3867 String get name => 'LoadConst'; | |
3868 | |
3869 bool get isBranching => false; | |
3870 | |
3871 String get format => 'I'; | |
3872 | |
3873 int get size => 5; | |
3874 | |
3875 int get stackPointerDifference => 1; | |
3876 | |
3877 String get formatString => 'load const @%d'; | |
3878 | |
3879 void addTo(Sink<List<int>> sink) { | |
3880 new BytecodeBuffer() | |
3881 ..addUint8(opcode.index) | |
3882 ..addUint32(uint32Argument0) | |
3883 ..sendOn(sink); | |
3884 } | |
3885 | |
3886 String toString() => 'load const @${uint32Argument0}'; | |
3887 | |
3888 operator==(Bytecode other) { | |
3889 if (!(super==(other))) return false; | |
3890 LoadConst rhs = other; | |
3891 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
3892 return true; | |
3893 } | |
3894 | |
3895 int get hashCode { | |
3896 int value = super.hashCode; | |
3897 value += uint32Argument0; | |
3898 return value; | |
3899 } | |
3900 } | |
3901 | |
3902 class MethodEnd extends Bytecode { | |
3903 final int uint32Argument0; | |
3904 const MethodEnd(this.uint32Argument0) | |
3905 : super(); | |
3906 | |
3907 Opcode get opcode => Opcode.MethodEnd; | |
3908 | |
3909 String get name => 'MethodEnd'; | |
3910 | |
3911 bool get isBranching => false; | |
3912 | |
3913 String get format => 'I'; | |
3914 | |
3915 int get size => 5; | |
3916 | |
3917 int get stackPointerDifference => 0; | |
3918 | |
3919 String get formatString => 'method end %d'; | |
3920 | |
3921 void addTo(Sink<List<int>> sink) { | |
3922 new BytecodeBuffer() | |
3923 ..addUint8(opcode.index) | |
3924 ..addUint32(uint32Argument0) | |
3925 ..sendOn(sink); | |
3926 } | |
3927 | |
3928 String toString() => 'method end ${uint32Argument0}'; | |
3929 | |
3930 operator==(Bytecode other) { | |
3931 if (!(super==(other))) return false; | |
3932 MethodEnd rhs = other; | |
3933 if (uint32Argument0 != rhs.uint32Argument0) return false; | |
3934 return true; | |
3935 } | |
3936 | |
3937 int get hashCode { | |
3938 int value = super.hashCode; | |
3939 value += uint32Argument0; | |
3940 return value; | |
3941 } | |
3942 } | |
OLD | NEW |