| Bytecode | 
 | Dynamic Module Entry Point: DART_SDK/pkg/dart2bytecode/testcases/optional_params.dart::main | 
 | Library 'DART_SDK/pkg/dart2bytecode/testcases/optional_params.dart' | 
 |     name '#lib' | 
 |     script 'DART_SDK/pkg/dart2bytecode/testcases/optional_params.dart' | 
 |  | 
 | Class '', script = 'DART_SDK/pkg/dart2bytecode/testcases/optional_params.dart' | 
 |  | 
 |  | 
 | Function 'foo1', static, has-optional-positional-params, reflectable, debuggable | 
 |     parameters [dynamic 'x', dynamic 'a', dynamic 'b'] (required: 1) | 
 |     return-type void | 
 |  | 
 | Bytecode { | 
 |   EntryOptional        1, 2, 0 | 
 |   LoadConstant         r1, CP#0 | 
 |   LoadConstant         r2, CP#1 | 
 |   Frame                1 | 
 |   CheckStack           0 | 
 |   PushNull | 
 |   PushInt              2 | 
 |   CreateArrayTOS | 
 |   StoreLocal           r3 | 
 |   Push                 r3 | 
 |   PushInt              0 | 
 |   PushConstant         CP#2 | 
 |   StoreIndexedTOS | 
 |   Push                 r3 | 
 |   PushInt              1 | 
 |   Push                 r0 | 
 |   StoreIndexedTOS | 
 |   DirectCall           CP#3, 1 | 
 |   DirectCall           CP#5, 1 | 
 |   Drop1 | 
 |   PushNull | 
 |   PushInt              2 | 
 |   CreateArrayTOS | 
 |   StoreLocal           r3 | 
 |   Push                 r3 | 
 |   PushInt              0 | 
 |   PushConstant         CP#7 | 
 |   StoreIndexedTOS | 
 |   Push                 r3 | 
 |   PushInt              1 | 
 |   Push                 r1 | 
 |   StoreIndexedTOS | 
 |   DirectCall           CP#3, 1 | 
 |   DirectCall           CP#5, 1 | 
 |   Drop1 | 
 |   PushNull | 
 |   PushInt              2 | 
 |   CreateArrayTOS | 
 |   StoreLocal           r3 | 
 |   Push                 r3 | 
 |   PushInt              0 | 
 |   PushConstant         CP#8 | 
 |   StoreIndexedTOS | 
 |   Push                 r3 | 
 |   PushInt              1 | 
 |   Push                 r2 | 
 |   StoreIndexedTOS | 
 |   DirectCall           CP#3, 1 | 
 |   DirectCall           CP#5, 1 | 
 |   Drop1 | 
 |   PushNull | 
 |   ReturnTOS | 
 | } | 
 | ConstantPool { | 
 |   [0] = ObjectRef 'default_a' | 
 |   [1] = ObjectRef 'default_b' | 
 |   [2] = ObjectRef 'x = ' | 
 |   [3] = DirectCall 'dart:core::_StringBase::_interpolate', ArgDesc num-args 1, num-type-args 0, names [] | 
 |   [4] = Reserved | 
 |   [5] = DirectCall 'dart:core::print', ArgDesc num-args 1, num-type-args 0, names [] | 
 |   [6] = Reserved | 
 |   [7] = ObjectRef 'a = ' | 
 |   [8] = ObjectRef 'b = ' | 
 | } | 
 |  | 
 |  | 
 | Function 'foo2', static, has-optional-named-params, reflectable, debuggable | 
 |     parameters [dynamic 'y', dynamic 'z', dynamic 'c', dynamic 'a', dynamic 'b'] (required: 2) | 
 |     return-type void | 
 |  | 
 | Bytecode { | 
 |   EntryOptional        2, 0, 3 | 
 |   LoadConstant         r2, CP#0 | 
 |   LoadConstant         r2, CP#1 | 
 |   LoadConstant         r3, CP#2 | 
 |   LoadConstant         r3, CP#3 | 
 |   LoadConstant         r4, CP#4 | 
 |   LoadConstant         r4, CP#5 | 
 |   Frame                1 | 
 |   CheckStack           0 | 
 |   PushNull | 
 |   PushInt              2 | 
 |   CreateArrayTOS | 
 |   StoreLocal           r5 | 
 |   Push                 r5 | 
 |   PushInt              0 | 
 |   PushConstant         CP#6 | 
 |   StoreIndexedTOS | 
 |   Push                 r5 | 
 |   PushInt              1 | 
 |   Push                 r0 | 
 |   StoreIndexedTOS | 
 |   DirectCall           CP#7, 1 | 
 |   DirectCall           CP#9, 1 | 
 |   Drop1 | 
 |   PushNull | 
 |   PushInt              2 | 
 |   CreateArrayTOS | 
 |   StoreLocal           r5 | 
 |   Push                 r5 | 
 |   PushInt              0 | 
 |   PushConstant         CP#11 | 
 |   StoreIndexedTOS | 
 |   Push                 r5 | 
 |   PushInt              1 | 
 |   Push                 r1 | 
 |   StoreIndexedTOS | 
 |   DirectCall           CP#7, 1 | 
 |   DirectCall           CP#9, 1 | 
 |   Drop1 | 
 |   PushNull | 
 |   PushInt              2 | 
 |   CreateArrayTOS | 
 |   StoreLocal           r5 | 
 |   Push                 r5 | 
 |   PushInt              0 | 
 |   PushConstant         CP#12 | 
 |   StoreIndexedTOS | 
 |   Push                 r5 | 
 |   PushInt              1 | 
 |   Push                 r2 | 
 |   StoreIndexedTOS | 
 |   DirectCall           CP#7, 1 | 
 |   DirectCall           CP#9, 1 | 
 |   Drop1 | 
 |   PushNull | 
 |   PushInt              2 | 
 |   CreateArrayTOS | 
 |   StoreLocal           r5 | 
 |   Push                 r5 | 
 |   PushInt              0 | 
 |   PushConstant         CP#13 | 
 |   StoreIndexedTOS | 
 |   Push                 r5 | 
 |   PushInt              1 | 
 |   Push                 r3 | 
 |   StoreIndexedTOS | 
 |   DirectCall           CP#7, 1 | 
 |   DirectCall           CP#9, 1 | 
 |   Drop1 | 
 |   PushNull | 
 |   PushInt              2 | 
 |   CreateArrayTOS | 
 |   StoreLocal           r5 | 
 |   Push                 r5 | 
 |   PushInt              0 | 
 |   PushConstant         CP#14 | 
 |   StoreIndexedTOS | 
 |   Push                 r5 | 
 |   PushInt              1 | 
 |   Push                 r4 | 
 |   StoreIndexedTOS | 
 |   DirectCall           CP#7, 1 | 
 |   DirectCall           CP#9, 1 | 
 |   Drop1 | 
 |   PushNull | 
 |   ReturnTOS | 
 | } | 
 | ConstantPool { | 
 |   [0] = ObjectRef 'a' | 
 |   [1] = ObjectRef const 42 | 
 |   [2] = ObjectRef 'b' | 
 |   [3] = ObjectRef const List<dart:core::String> ['default_b'] | 
 |   [4] = ObjectRef 'c' | 
 |   [5] = ObjectRef 'default_c' | 
 |   [6] = ObjectRef 'y = ' | 
 |   [7] = DirectCall 'dart:core::_StringBase::_interpolate', ArgDesc num-args 1, num-type-args 0, names [] | 
 |   [8] = Reserved | 
 |   [9] = DirectCall 'dart:core::print', ArgDesc num-args 1, num-type-args 0, names [] | 
 |   [10] = Reserved | 
 |   [11] = ObjectRef 'z = ' | 
 |   [12] = ObjectRef 'a = ' | 
 |   [13] = ObjectRef 'b = ' | 
 |   [14] = ObjectRef 'c = ' | 
 | } | 
 |  | 
 |  | 
 | Function 'foo3', static, has-optional-named-params, reflectable, debuggable | 
 |     type-params <'P' extends dart:core::Object? (default dynamic), 'Q' extends dart:core::Object? (default dynamic)> | 
 |     parameters [dynamic 'z', dynamic 'y', dart:core::bool 'a', dart:core::Map < DART_SDK/pkg/dart2bytecode/testcases/optional_params.dart::foo3::TypeParam/0, DART_SDK/pkg/dart2bytecode/testcases/optional_params.dart::foo3::TypeParam/1 > 'b'] (required: 2) | 
 |     parameter-flags [0, 1] | 
 |     return-type void | 
 |  | 
 | Bytecode { | 
 |   EntryOptional        2, 0, 2 | 
 |   LoadConstant         r2, CP#0 | 
 |   LoadConstant         r2, CP#1 | 
 |   LoadConstant         r3, CP#2 | 
 |   LoadConstant         r3, CP#3 | 
 |   Frame                1 | 
 |   CheckFunctionTypeArgs 2, r4 | 
 |   CheckStack           0 | 
 |   PushNull | 
 |   Push                 r4 | 
 |   InstantiateType      CP#4 | 
 |   DirectCall           CP#5, 1 | 
 |   Drop1 | 
 |   Push                 r1 | 
 |   DirectCall           CP#5, 1 | 
 |   Drop1 | 
 |   Push                 r3 | 
 |   DirectCall           CP#5, 1 | 
 |   Drop1 | 
 |   PushNull | 
 |   ReturnTOS | 
 | } | 
 | ConstantPool { | 
 |   [0] = ObjectRef 'a' | 
 |   [1] = ObjectRef const false | 
 |   [2] = ObjectRef 'b' | 
 |   [3] = ObjectRef null | 
 |   [4] = Type DART_SDK/pkg/dart2bytecode/testcases/optional_params.dart::foo3::TypeParam/0 | 
 |   [5] = DirectCall 'dart:core::print', ArgDesc num-args 1, num-type-args 0, names [] | 
 |   [6] = Reserved | 
 | } | 
 |  | 
 |  | 
 | Function 'main', static, reflectable, debuggable | 
 |     parameters [] (required: 0) | 
 |     return-type dynamic | 
 |  | 
 | Bytecode { | 
 |   Entry                0 | 
 |   CheckStack           0 | 
 |   PushConstant         CP#0 | 
 |   PushConstant         CP#1 | 
 |   DirectCall           CP#2, 2 | 
 |   Drop1 | 
 |   PushConstant         CP#4 | 
 |   PushConstant         CP#5 | 
 |   PushConstant         CP#1 | 
 |   DirectCall           CP#6, 3 | 
 |   Drop1 | 
 |   PushNull | 
 |   ReturnTOS | 
 | } | 
 | ConstantPool { | 
 |   [0] = ObjectRef 'fixed_x' | 
 |   [1] = ObjectRef 'concrete_a' | 
 |   [2] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/optional_params.dart::foo1', ArgDesc num-args 2, num-type-args 0, names [] | 
 |   [3] = Reserved | 
 |   [4] = ObjectRef 'fixed_y' | 
 |   [5] = ObjectRef 'fixed_z' | 
 |   [6] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/optional_params.dart::foo2', ArgDesc num-args 3, num-type-args 0, names ['a'] | 
 |   [7] = Reserved | 
 | } | 
 |  |