main = #lib::main; [@vm.bytecode= BytecodeMetadata { Bytecode (version: stable) Main library: #lib Library '#lib' name '#lib' script '#lib' Class '', script = '#lib' Function 'foo1', static, reflectable, debuggable parameters [dart:core::int 'x'] (required: 1) return-type dart:core::int Bytecode { Entry 2 CheckStack 0 PushNull PopLocal r0 Push FP[-5] PopLocal r1 Push r1 PushInt 1 InterfaceCall CP#0, 2 JumpIfTrue L1 Push r1 PushInt 2 InterfaceCall CP#0, 2 JumpIfTrue L2 Push r1 PushInt 3 InterfaceCall CP#0, 2 JumpIfTrue L3 Jump L4 L1: PushInt 11 PopLocal r0 Jump L4 L2: PushInt 22 PopLocal r0 Jump L4 L3: PushInt 33 PopLocal r0 Jump L4 L4: Push r0 ReturnTOS } ConstantPool { [0] = InterfaceCall 'dart:core::Object::==', ArgDesc num-args 2, num-type-args 0, names [] [1] = Reserved } Function 'foo2', static, reflectable, debuggable parameters [dart:core::int 'x'] (required: 1) return-type dart:core::int Bytecode { Entry 2 CheckStack 0 PushNull PopLocal r0 Push FP[-5] PopLocal r1 Push r1 PushInt 1 InterfaceCall CP#0, 2 JumpIfTrue L1 Push r1 PushInt 2 InterfaceCall CP#0, 2 JumpIfTrue L1 Push r1 PushInt 3 InterfaceCall CP#0, 2 JumpIfTrue L1 Push r1 PushInt 4 InterfaceCall CP#0, 2 JumpIfTrue L2 Push r1 PushInt 5 InterfaceCall CP#0, 2 JumpIfTrue L2 Push r1 PushInt 6 InterfaceCall CP#0, 2 JumpIfTrue L2 Jump L3 L1: PushInt 11 PopLocal r0 Jump L4 L2: PushInt 22 PopLocal r0 Jump L4 L3: PushInt 33 PopLocal r0 L4: Push r0 ReturnTOS } ConstantPool { [0] = InterfaceCall 'dart:core::Object::==', ArgDesc num-args 2, num-type-args 0, names [] [1] = Reserved } Function 'foo3', static, reflectable, debuggable parameters [dart:core::int 'x'] (required: 1) return-type dart:core::int Bytecode { Entry 2 CheckStack 0 PushNull PopLocal r0 Push FP[-5] PopLocal r1 Push r1 PushInt 1 InterfaceCall CP#0, 2 JumpIfTrue L1 Push r1 PushInt 2 InterfaceCall CP#0, 2 JumpIfTrue L1 Push r1 PushInt 3 InterfaceCall CP#0, 2 JumpIfTrue L1 Push r1 PushInt 4 InterfaceCall CP#0, 2 JumpIfTrue L2 Push r1 PushInt 5 InterfaceCall CP#0, 2 JumpIfTrue L2 Push r1 PushInt 6 InterfaceCall CP#0, 2 JumpIfTrue L2 Jump L3 L1: PushInt 11 PopLocal r0 Jump L2 L2: PushInt 22 PopLocal r0 PushInt 42 ReturnTOS L3: PushInt 33 PopLocal r0 Push r0 ReturnTOS } ConstantPool { [0] = InterfaceCall 'dart:core::Object::==', ArgDesc num-args 2, num-type-args 0, names [] [1] = Reserved } Function 'main', static, reflectable, debuggable parameters [] (required: 0) return-type dynamic Bytecode { Entry 0 CheckStack 0 PushNull ReturnTOS } ConstantPool { } } ]library #lib from "#lib" as #lib { static method foo1(dart.core::int* x) → dart.core::int* { dart.core::int* y; #L1: switch(x) { #L2: case #C1: { y = 11; break #L1; } #L3: case #C2: { y = 22; break #L1; } #L4: case #C3: { y = 33; break #L1; } } return y; } static method foo2(dart.core::int* x) → dart.core::int* { dart.core::int* y; #L5: switch(x) { #L6: case #C1: case #C2: case #C3: { y = 11; break #L5; } #L7: case #C4: case #C5: case #C6: { y = 22; break #L5; } #L8: default: { y = 33; } } return y; } static method foo3(dart.core::int* x) → dart.core::int* { dart.core::int* y; switch(x) { #L9: case #C1: case #C2: case #C3: { y = 11; continue #L10; } #L10: case #C4: case #C5: case #C6: { y = 22; return 42; } #L11: default: { y = 33; } } return y; } static method main() → dynamic {} } constants { #C1 = 1 #C2 = 2 #C3 = 3 #C4 = 4 #C5 = 5 #C6 = 6 }