main = #lib::main; [@vm.bytecode= BytecodeMetadata { Bytecode (version: stable) Main library: #lib Library '#lib' name '#lib' script '#lib' Class '', script = '#lib' Function 'test_for', static, reflectable, debuggable parameters [dart:core::List < dart:core::int > 'list'] (required: 1) return-type dart:core::int Bytecode { Entry 2 CheckStack 0 PushInt 0 PopLocal r0 PushInt 0 PopLocal r1 L2: CheckStack 1 Push r1 Push FP[-5] InterfaceCall CP#0, 1 CompareIntLt JumpIfFalse L1 Push r0 Push FP[-5] Push r1 InterfaceCall CP#2, 2 AddInt PopLocal r0 Push r1 PushInt 1 AddInt StoreLocal r1 Drop1 Jump L2 L1: Push r0 ReturnTOS } ConstantPool { [0] = InterfaceCall 'dart:core::List::get:length', ArgDesc num-args 1, num-type-args 0, names [] [1] = Reserved [2] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names [] [3] = Reserved } Function 'test_for_break', static, reflectable, debuggable parameters [dart:core::List < dart:core::int > 'list'] (required: 1) return-type dart:core::int Bytecode { Entry 2 CheckStack 0 PushInt 0 PopLocal r0 PushInt 0 PopLocal r1 L3: CheckStack 1 Push r1 PushInt 0 CompareIntGe JumpIfFalse L1 Push r1 Push FP[-5] InterfaceCall CP#0, 1 CompareIntGe JumpIfFalse L2 Jump L1 L2: Push r0 Push FP[-5] Push r1 InterfaceCall CP#2, 2 AddInt PopLocal r0 Push r1 PushInt 1 AddInt StoreLocal r1 Drop1 Jump L3 L1: Push r0 ReturnTOS } ConstantPool { [0] = InterfaceCall 'dart:core::List::get:length', ArgDesc num-args 1, num-type-args 0, names [] [1] = Reserved [2] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names [] [3] = Reserved } Function 'test_for_continue', static, reflectable, debuggable parameters [dart:core::List < dart:core::int > 'list'] (required: 1) return-type dart:core::int Bytecode { Entry 2 CheckStack 0 PushInt 0 PopLocal r0 PushInt 100 NegateInt PopLocal r1 L4: CheckStack 1 Push r1 Push FP[-5] InterfaceCall CP#0, 1 CompareIntLt JumpIfFalse L1 Push r1 PushInt 0 CompareIntLt JumpIfFalse L2 Jump L3 L2: Push r0 Push FP[-5] Push r1 InterfaceCall CP#2, 2 AddInt PopLocal r0 L3: Push r1 PushInt 1 AddInt StoreLocal r1 Drop1 Jump L4 L1: Push r0 ReturnTOS } ConstantPool { [0] = InterfaceCall 'dart:core::List::get:length', ArgDesc num-args 1, num-type-args 0, names [] [1] = Reserved [2] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names [] [3] = Reserved } Function 'test_while', static, reflectable, debuggable parameters [dart:core::List < dart:core::int > 'list'] (required: 1) return-type dart:core::int Bytecode { Entry 4 CheckStack 0 PushInt 0 PopLocal r0 PushInt 0 PopLocal r1 L2: CheckStack 1 Push r1 Push FP[-5] InterfaceCall CP#0, 1 CompareIntLt JumpIfFalse L1 Push r0 Push FP[-5] Push r1 PopLocal r2 Push r2 PushInt 1 AddInt StoreLocal r1 PopLocal r3 Push r2 InterfaceCall CP#2, 2 AddInt PopLocal r0 Jump L2 L1: Push r0 ReturnTOS } ConstantPool { [0] = InterfaceCall 'dart:core::List::get:length', ArgDesc num-args 1, num-type-args 0, names [] [1] = Reserved [2] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names [] [3] = Reserved } Function 'test_do_while', static, reflectable, debuggable parameters [dart:core::List < dart:core::int > 'list'] (required: 1) return-type dart:core::int Bytecode { Entry 2 CheckStack 0 PushInt 0 PopLocal r0 PushInt 0 PopLocal r1 L1: CheckStack 1 Push r0 Push FP[-5] Push r1 InterfaceCall CP#0, 2 AddInt PopLocal r0 Push r1 PushInt 1 AddInt PopLocal r1 Push r1 Push FP[-5] InterfaceCall CP#2, 1 CompareIntLt JumpIfTrue L1 Push r0 ReturnTOS } ConstantPool { [0] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names [] [1] = Reserved [2] = InterfaceCall 'dart:core::List::get:length', ArgDesc num-args 1, num-type-args 0, names [] [3] = Reserved } Function 'test_for_in', static, reflectable, debuggable parameters [dart:core::List < dart:core::int > 'list'] (required: 1) return-type dart:core::int Bytecode { Entry 3 CheckStack 0 PushInt 0 PopLocal r0 Push FP[-5] InterfaceCall CP#0, 1 PopLocal r1 L2: CheckStack 1 Push r1 InterfaceCall CP#2, 1 JumpIfFalse L1 Push r1 InterfaceCall CP#4, 1 PopLocal r2 Push r0 Push r2 AddInt PopLocal r0 Jump L2 L1: Push r0 ReturnTOS } ConstantPool { [0] = InterfaceCall 'dart:core::Iterable::get:iterator', ArgDesc num-args 1, num-type-args 0, names [] [1] = Reserved [2] = InterfaceCall 'dart:core::Iterator::moveNext', ArgDesc num-args 1, num-type-args 0, names [] [3] = Reserved [4] = InterfaceCall 'dart:core::Iterator::get:current', ArgDesc num-args 1, num-type-args 0, names [] [5] = Reserved } Function 'test_for_in_with_outer_var', static, reflectable, debuggable parameters [dart:core::List < dart:core::int > 'list'] (required: 1) return-type dart:core::int Bytecode { Entry 4 CheckStack 0 PushInt 0 PopLocal r0 PushInt 42 PopLocal r1 Push FP[-5] InterfaceCall CP#0, 1 PopLocal r2 L2: CheckStack 1 Push r2 InterfaceCall CP#2, 1 JumpIfFalse L1 Push r2 InterfaceCall CP#4, 1 PopLocal r3 Push r3 PopLocal r1 Push r0 Push r1 AddInt PopLocal r0 Jump L2 L1: Push r0 ReturnTOS } ConstantPool { [0] = InterfaceCall 'dart:core::Iterable::get:iterator', ArgDesc num-args 1, num-type-args 0, names [] [1] = Reserved [2] = InterfaceCall 'dart:core::Iterator::moveNext', ArgDesc num-args 1, num-type-args 0, names [] [3] = Reserved [4] = InterfaceCall 'dart:core::Iterator::get:current', ArgDesc num-args 1, num-type-args 0, names [] [5] = 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 test_for(dart.core::List list) → dart.core::int { dart.core::int sum = 0; for (dart.core::int i = 0; i.{dart.core::num::<}(list.{dart.core::List::length}); i = i.{dart.core::num::+}(1)) { sum = sum.{dart.core::num::+}(list.{dart.core::List::[]}(i)); } return sum; } static method test_for_break(dart.core::List list) → dart.core::int { dart.core::int sum = 0; #L1: for (dart.core::int i = 0; i.{dart.core::num::>=}(0); i = i.{dart.core::num::+}(1)) { if(i.{dart.core::num::>=}(list.{dart.core::List::length})) { break #L1; } sum = sum.{dart.core::num::+}(list.{dart.core::List::[]}(i)); } return sum; } static method test_for_continue(dart.core::List list) → dart.core::int { dart.core::int sum = 0; for (dart.core::int i = 100.{dart.core::int::unary-}(); i.{dart.core::num::<}(list.{dart.core::List::length}); i = i.{dart.core::num::+}(1)) #L2: { if(i.{dart.core::num::<}(0)) { break #L2; } sum = sum.{dart.core::num::+}(list.{dart.core::List::[]}(i)); } return sum; } static method test_while(dart.core::List list) → dart.core::int { dart.core::int sum = 0; dart.core::int i = 0; while (i.{dart.core::num::<}(list.{dart.core::List::length})) { sum = sum.{dart.core::num::+}(list.{dart.core::List::[]}(let final dart.core::int #t1 = i in let final dart.core::int #t2 = i = #t1.{dart.core::num::+}(1) in #t1)); } return sum; } static method test_do_while(dart.core::List list) → dart.core::int { dart.core::int sum = 0; dart.core::int i = 0; do { sum = sum.{dart.core::num::+}(list.{dart.core::List::[]}(i)); i = i.{dart.core::num::+}(1); } while (i.{dart.core::num::<}(list.{dart.core::List::length})) return sum; } static method test_for_in(dart.core::List list) → dart.core::int { dart.core::int sum = 0; for (dart.core::int e in list) { sum = sum.{dart.core::num::+}(e); } return sum; } static method test_for_in_with_outer_var(dart.core::List list) → dart.core::int { dart.core::int sum = 0; dart.core::int e = 42; for (final dart.core::int #t3 in list) { e = #t3; sum = sum.{dart.core::num::+}(e); } return sum; } static method main() → dynamic {} }