| library #lib; |
| import self as self; |
| import "dart:core" as core; |
| import "dart:_internal" as _in; |
| |
| typedef _ScheduleImmediateClosure = (() → void) → void; |
| class _ScheduleImmediate extends core::Object { |
| static field (() → void) → void _closure = null; |
| [@vm.bytecode= |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| DirectCall 1, CP#0 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| ] synthetic constructor •() → self::_ScheduleImmediate |
| : super core::Object::•() |
| ; |
| } |
| class _NamespaceImpl extends core::Object implements self::_Namespace { |
| static field self::_NamespaceImpl _cachedNamespace = null; |
| [@vm.bytecode= |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| DirectCall 1, CP#0 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| ] constructor _() → self::_NamespaceImpl |
| : super core::Object::•() |
| ; |
| [@vm.bytecode= |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-6] |
| Push FP[-5] |
| NativeCall CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = NativeEntry Namespace_Create |
| } |
| ] @_in::ExternalName::•("Namespace_Create") |
| external static method _create(self::_NamespaceImpl namespace, dynamic n) → self::_NamespaceImpl; |
| [@vm.bytecode= |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| NativeCall CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = NativeEntry Namespace_GetPointer |
| } |
| ] @_in::ExternalName::•("Namespace_GetPointer") |
| external static method _getPointer(self::_NamespaceImpl namespace) → core::int; |
| [@vm.bytecode= |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| NativeCall CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = NativeEntry Namespace_GetDefault |
| } |
| ] @_in::ExternalName::•("Namespace_GetDefault") |
| external static method _getDefault() → core::int; |
| [@vm.bytecode= |
| Bytecode { |
| Entry 2 |
| CheckStack 0 |
| Allocate CP#0 |
| StoreLocal r1 |
| Push r1 |
| DirectCall 1, CP#1 |
| Drop1 |
| Push FP[-5] |
| DirectCall 2, CP#3 |
| StoreStaticTOS CP#5 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = Class #lib::_NamespaceImpl |
| [1] = DirectCall '#lib::_NamespaceImpl::_ (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [2] = Reserved |
| [3] = DirectCall '#lib::_NamespaceImpl::_create', ArgDesc num-args 2, num-type-args 0, names [] |
| [4] = Reserved |
| [5] = StaticField #lib::_NamespaceImpl::_cachedNamespace (field) |
| } |
| ] static method _setupNamespace(dynamic namespace) → void { |
| self::_NamespaceImpl::_cachedNamespace = self::_NamespaceImpl::_create(new self::_NamespaceImpl::_(), namespace); |
| } |
| [@vm.bytecode= |
| Bytecode { |
| Entry 2 |
| CheckStack 0 |
| PushConstant CP#0 |
| PushStatic CP#0 |
| EqualsNull |
| JumpIfFalse L1 |
| Allocate CP#1 |
| StoreLocal r1 |
| Push r1 |
| DirectCall 1, CP#2 |
| Drop1 |
| DirectCall 0, CP#4 |
| DirectCall 2, CP#6 |
| StoreStaticTOS CP#0 |
| L1: |
| PushConstant CP#0 |
| PushStatic CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = StaticField #lib::_NamespaceImpl::_cachedNamespace (field) |
| [1] = Class #lib::_NamespaceImpl |
| [2] = DirectCall '#lib::_NamespaceImpl::_ (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [3] = Reserved |
| [4] = DirectCall '#lib::_NamespaceImpl::_getDefault', ArgDesc num-args 0, num-type-args 0, names [] |
| [5] = Reserved |
| [6] = DirectCall '#lib::_NamespaceImpl::_create', ArgDesc num-args 2, num-type-args 0, names [] |
| [7] = Reserved |
| } |
| ] static get _namespace() → self::_NamespaceImpl { |
| if(self::_NamespaceImpl::_cachedNamespace.{core::Object::==}(null)) { |
| self::_NamespaceImpl::_cachedNamespace = self::_NamespaceImpl::_create(new self::_NamespaceImpl::_(), self::_NamespaceImpl::_getDefault()); |
| } |
| return self::_NamespaceImpl::_cachedNamespace; |
| } |
| [@vm.bytecode= |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| DirectCall 0, CP#0 |
| DirectCall 1, CP#2 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall '#lib::_NamespaceImpl::get:_namespace', ArgDesc num-args 0, num-type-args 0, names [] |
| [1] = Reserved |
| [2] = DirectCall '#lib::_NamespaceImpl::_getPointer', ArgDesc num-args 1, num-type-args 0, names [] |
| [3] = Reserved |
| } |
| ] static get _namespacePointer() → core::int |
| return self::_NamespaceImpl::_getPointer(self::_NamespaceImpl::_namespace); |
| } |
| class _Namespace extends core::Object { |
| [@vm.bytecode= |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| DirectCall 1, CP#0 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| ] synthetic constructor •() → self::_Namespace |
| : super core::Object::•() |
| ; |
| [@vm.bytecode= |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| DirectCall 1, CP#0 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall '#lib::_NamespaceImpl::_setupNamespace', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| ] static method _setupNamespace(dynamic namespace) → void { |
| self::_NamespaceImpl::_setupNamespace(namespace); |
| } |
| [@vm.bytecode= |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| DirectCall 0, CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall '#lib::_NamespaceImpl::get:_namespace', ArgDesc num-args 0, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| ] static get _namespace() → self::_Namespace |
| return self::_NamespaceImpl::_namespace; |
| [@vm.bytecode= |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| DirectCall 0, CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall '#lib::_NamespaceImpl::get:_namespacePointer', ArgDesc num-args 0, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| ] static get _namespacePointer() → core::int |
| return self::_NamespaceImpl::_namespacePointer; |
| } |
| class VMLibraryHooks extends core::Object { |
| static field dynamic timerFactory = null; |
| static field dynamic eventHandlerSendData = null; |
| static field dynamic timerMillisecondClock = null; |
| static field dynamic resourceReadAsBytes = null; |
| static field dynamic packageRootString = null; |
| static field dynamic packageConfigString = null; |
| static field dynamic packageRootUriFuture = null; |
| static field dynamic packageConfigUriFuture = null; |
| static field dynamic resolvePackageUriFuture = null; |
| static field dynamic _computeScriptUri = null; |
| static field dynamic _cachedScript = null; |
| [@vm.bytecode= |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| DirectCall 1, CP#0 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| ] synthetic constructor •() → self::VMLibraryHooks |
| : super core::Object::•() |
| ; |
| [@vm.bytecode= |
| Bytecode { |
| Entry 1 |
| CheckStack 0 |
| Push FP[-5] |
| StoreStaticTOS CP#0 |
| PushNull |
| StoreStaticTOS CP#1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = StaticField #lib::VMLibraryHooks::_computeScriptUri (field) |
| [1] = StaticField #lib::VMLibraryHooks::_cachedScript (field) |
| } |
| ] static set platformScript(dynamic f) → void { |
| self::VMLibraryHooks::_computeScriptUri = f; |
| self::VMLibraryHooks::_cachedScript = null; |
| } |
| [@vm.bytecode= |
| Bytecode { |
| Entry 1 |
| CheckStack 0 |
| PushConstant CP#0 |
| PushStatic CP#0 |
| EqualsNull |
| JumpIfFalse L1 |
| PushConstant CP#1 |
| PushStatic CP#1 |
| EqualsNull |
| BooleanNegateTOS |
| PopLocal r0 |
| Jump L2 |
| L1: |
| PushFalse |
| PopLocal r0 |
| L2: |
| Push r0 |
| JumpIfFalse L3 |
| PushConstant CP#1 |
| PushStatic CP#1 |
| DynamicCall 1, CP#3 |
| StoreStaticTOS CP#0 |
| L3: |
| PushConstant CP#0 |
| PushStatic CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = StaticField #lib::VMLibraryHooks::_cachedScript (field) |
| [1] = StaticField #lib::VMLibraryHooks::_computeScriptUri (field) |
| [2] = ObjectRef ArgDesc num-args 1, num-type-args 0, names [] |
| [3] = ICData dynamic target-name 'call', arg-desc CP#2 |
| } |
| ] static get platformScript() → dynamic { |
| if(self::VMLibraryHooks::_cachedScript.{core::Object::==}(null) && !self::VMLibraryHooks::_computeScriptUri.{core::Object::==}(null)) { |
| self::VMLibraryHooks::_cachedScript = [@vm.call-site-attributes.metadata=receiverType:dynamic] self::VMLibraryHooks::_computeScriptUri.call(); |
| } |
| return self::VMLibraryHooks::_cachedScript; |
| } |
| } |
| class Stdin extends core::Object { |
| [@vm.bytecode= |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| DirectCall 1, CP#0 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| ] synthetic constructor •() → self::Stdin |
| : super core::Object::•() |
| ; |
| } |
| class _StdIOUtils extends core::Object { |
| [@vm.bytecode= |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| DirectCall 1, CP#0 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| ] synthetic constructor •() → self::_StdIOUtils |
| : super core::Object::•() |
| ; |
| [@vm.bytecode= |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| } |
| ] static method _getStdioInputStream(core::int fd) → self::Stdin |
| return null; |
| } |
| static field core::int _stdinFD = 0; |
| static field core::int _stdoutFD = 1; |
| static field core::int _stderrFD = 2; |
| static field core::String _rawScript; |
| static field self::Stdin _stdin; |
| [@vm.bytecode= |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| NativeCall CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = NativeEntry Builtin_PrintString |
| } |
| ]@_in::ExternalName::•("Builtin_PrintString") |
| external static method _printString(core::String s) → void; |
| [@vm.bytecode= |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| InterfaceCall 1, CP#0 |
| DirectCall 1, CP#2 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = InterfaceCall 'dart:core::Object::toString', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| [2] = DirectCall '#lib::_printString', ArgDesc num-args 1, num-type-args 0, names [] |
| [3] = Reserved |
| } |
| ]static method _print(dynamic arg) → void { |
| self::_printString(arg.{core::Object::toString}()); |
| } |
| [@vm.bytecode= |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushConstant CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = ObjectRef const tear-off #lib::_print |
| } |
| ]static method _getPrintClosure() → dynamic |
| return self::_print; |
| [@vm.bytecode= |
| Bytecode { |
| Entry 1 |
| CheckStack 0 |
| Push FP[-5] |
| StoreStaticTOS CP#0 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = StaticField #lib::_ScheduleImmediate::_closure (field) |
| } |
| ]static method _setScheduleImmediateClosure((() → void) → void closure) → void { |
| self::_ScheduleImmediate::_closure = closure; |
| } |
| [@vm.bytecode= |
| Bytecode { |
| Entry 1 |
| CheckStack 0 |
| Push FP[-7] |
| StoreStaticTOS CP#0 |
| Push FP[-6] |
| StoreStaticTOS CP#1 |
| Push FP[-5] |
| StoreStaticTOS CP#2 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = StaticField #lib::_stdinFD (field) |
| [1] = StaticField #lib::_stdoutFD (field) |
| [2] = StaticField #lib::_stderrFD (field) |
| } |
| ]static method _setStdioFDs(core::int stdin, core::int stdout, core::int stderr) → void { |
| self::_stdinFD = stdin; |
| self::_stdoutFD = stdout; |
| self::_stderrFD = stderr; |
| } |
| [@vm.bytecode= |
| Bytecode { |
| Entry 2 |
| CheckStack 0 |
| PushConstant CP#0 |
| PushStatic CP#0 |
| PushConstant CP#1 |
| InterfaceCall 2, CP#2 |
| AssertBoolean 0 |
| JumpIfTrue L1 |
| PushConstant CP#0 |
| PushStatic CP#0 |
| PushConstant CP#4 |
| InterfaceCall 2, CP#2 |
| AssertBoolean 0 |
| PopLocal r1 |
| Jump L2 |
| L1: |
| PushTrue |
| PopLocal r1 |
| L2: |
| Push r1 |
| JumpIfTrue L3 |
| PushConstant CP#0 |
| PushStatic CP#0 |
| PushConstant CP#5 |
| InterfaceCall 2, CP#2 |
| AssertBoolean 0 |
| PopLocal r0 |
| Jump L4 |
| L3: |
| PushTrue |
| PopLocal r0 |
| L4: |
| Push r0 |
| JumpIfFalse L5 |
| PushConstant CP#0 |
| PushStatic CP#0 |
| DirectCall 1, CP#6 |
| ReturnTOS |
| L5: |
| DirectCall 0, CP#8 |
| PushNull |
| PushConstant CP#0 |
| PushStatic CP#0 |
| DirectCall 2, CP#10 |
| InterfaceCall 2, CP#12 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = StaticField #lib::_rawScript (field) |
| [1] = ObjectRef 'http:' |
| [2] = InterfaceCall 'dart:core::String::startsWith', ArgDesc num-args 2, num-type-args 0, names [] |
| [3] = Reserved |
| [4] = ObjectRef 'https:' |
| [5] = ObjectRef 'file:' |
| [6] = DirectCall 'dart:core::Uri::parse', ArgDesc num-args 1, num-type-args 0, names [] |
| [7] = Reserved |
| [8] = DirectCall 'dart:core::Uri::get:base', ArgDesc num-args 0, num-type-args 0, names [] |
| [9] = Reserved |
| [10] = DirectCall 'dart:core::_Uri::file (constructor)', ArgDesc num-args 2, num-type-args 0, names [] |
| [11] = Reserved |
| [12] = InterfaceCall 'dart:core::Uri::resolveUri', ArgDesc num-args 2, num-type-args 0, names [] |
| [13] = Reserved |
| } |
| ]static method _scriptUri() → core::Uri { |
| if(self::_rawScript.{core::String::startsWith}("http:") || self::_rawScript.{core::String::startsWith}("https:") || self::_rawScript.{core::String::startsWith}("file:")) { |
| return core::Uri::parse(self::_rawScript); |
| } |
| else { |
| return core::Uri::base.{core::Uri::resolveUri}(core::_Uri::file(self::_rawScript)); |
| } |
| } |
| [@vm.bytecode= |
| Bytecode { |
| Entry 1 |
| CheckStack 0 |
| PushConstant CP#0 |
| DirectCall 1, CP#1 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = ObjectRef const tear-off #lib::_scriptUri |
| [1] = DirectCall '#lib::VMLibraryHooks::set:platformScript', ArgDesc num-args 1, num-type-args 0, names [] |
| [2] = Reserved |
| } |
| ]static method _setupHooks() → dynamic { |
| self::VMLibraryHooks::platformScript = self::_scriptUri; |
| } |
| [@vm.bytecode= |
| Bytecode { |
| Entry 2 |
| CheckStack 0 |
| PushConstant CP#0 |
| PushStatic CP#0 |
| EqualsNull |
| JumpIfFalse L1 |
| PushConstant CP#1 |
| PushStatic CP#1 |
| DirectCall 1, CP#2 |
| StoreLocal r1 |
| Push r1 |
| StoreStaticTOS CP#0 |
| PopLocal r0 |
| Jump L2 |
| L1: |
| PushNull |
| PopLocal r0 |
| L2: |
| Push r0 |
| Drop1 |
| PushConstant CP#0 |
| PushStatic CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = StaticField #lib::_stdin (field) |
| [1] = StaticField #lib::_stdinFD (field) |
| [2] = DirectCall '#lib::_StdIOUtils::_getStdioInputStream', ArgDesc num-args 1, num-type-args 0, names [] |
| [3] = Reserved |
| } |
| ]static get stdin() → self::Stdin { |
| self::_stdin.{core::Object::==}(null) ?{self::Stdin} self::_stdin = self::_StdIOUtils::_getStdioInputStream(self::_stdinFD) : null; |
| return self::_stdin; |
| } |
| [@vm.bytecode= |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| } |
| ]static method main() → dynamic {} |