Bytecode
Dynamic Module Entry Point: DART_SDK/pkg/dart2bytecode/testcases/asserts.dart::main
Library 'DART_SDK/pkg/dart2bytecode/testcases/asserts.dart'
    name '#lib'
    script 'DART_SDK/pkg/dart2bytecode/testcases/asserts.dart'

Class '', script = 'DART_SDK/pkg/dart2bytecode/testcases/asserts.dart'


Function 'test1', static, reflectable, debuggable
    parameters [dart:core::bool 'condition'] (required: 1)
    return-type void

Bytecode {
  Entry                0
  CheckStack           0
  PushNull
  ReturnTOS
}
ConstantPool {
}


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
  PushNull
  ReturnTOS
}
ConstantPool {
}


Function 'main', static, reflectable, debuggable
    parameters [] (required: 0)
    return-type dynamic

Bytecode {
  Entry                0
  CheckStack           0
  PushNull
  ReturnTOS
}
ConstantPool {
}

