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 1: { y = 11; break #L1; } #L3: case 2: { y = 22; break #L1; } #L4: case 3: { 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 1: case 2: case 3: { y = 11; break #L5; } #L7: case 4: case 5: case 6: { 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 1: case 2: case 3: { y = 11; continue #L10; } #L10: case 4: case 5: case 6: { y = 22; return 42; } #L11: default: { y = 33; } } return y; } static method main() → dynamic {} }