main = #lib::main; [@vm.bytecode= BytecodeMetadata { Bytecode (version: stable) Main library: #lib Library '#lib' name '#lib' script '#lib' Class '', script = '#lib' Function 'test1', static, reflectable, debuggable parameters [dart:core::bool 'condition'] (required: 1) return-type void Bytecode { Entry 0 CheckStack 0 JumpIfNoAsserts L1 Push FP[-5] AssertBoolean 0 JumpIfTrue L1 PushInt 0 PushInt 0 PushNull DirectCall CP#0, 3 Drop1 L1: PushNull ReturnTOS } ConstantPool { [0] = DirectCall 'dart:core::_AssertionError::_throwNew', ArgDesc num-args 3, num-type-args 0, names [] [1] = Reserved } Function 'test2', static, reflectable, debuggable parameters [FunctionType () -> dart:core::bool 'condition', FunctionType () -> dart:core::String 'message'] (required: 2) return-type void Bytecode { Entry 0 CheckStack 0 JumpIfNoAsserts L1 Push FP[-6] DynamicCall CP#1, 1 AssertBoolean 0 JumpIfTrue L1 PushInt 0 PushInt 0 Push FP[-5] DynamicCall CP#2, 1 DirectCall CP#3, 3 Drop1 L1: PushNull ReturnTOS } ConstantPool { [0] = ObjectRef ArgDesc num-args 1, num-type-args 0, names [] [1] = ICData dynamic target-name 'call', arg-desc CP#0 [2] = ICData dynamic target-name 'call', arg-desc CP#0 [3] = DirectCall 'dart:core::_AssertionError::_throwNew', ArgDesc num-args 3, num-type-args 0, names [] [4] = 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 test1(dart.core::bool condition) → void { assert(condition); } static method test2(() → dart.core::bool condition, () → dart.core::String message) → void { assert([@vm.call-site-attributes.metadata=receiverType:() → dart.core::bool] condition.call(), [@vm.call-site-attributes.metadata=receiverType:() → dart.core::String] message.call()); } static method main() → dynamic {} }