Index: pkg/compiler/lib/src/js_backend/backend_helpers.dart |
diff --git a/pkg/compiler/lib/src/js_backend/backend_helpers.dart b/pkg/compiler/lib/src/js_backend/backend_helpers.dart |
deleted file mode 100644 |
index 0b086c925f02b24d03cf727f8c8fda4674918d24..0000000000000000000000000000000000000000 |
--- a/pkg/compiler/lib/src/js_backend/backend_helpers.dart |
+++ /dev/null |
@@ -1,786 +0,0 @@ |
-// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE file. |
- |
-library dart2js.js_backend.helpers; |
- |
-import '../common/names.dart' show Identifiers, Uris; |
-import '../common_elements.dart' show CommonElements, ElementEnvironment; |
-import '../elements/elements.dart' show PublicName; |
-import '../elements/entities.dart'; |
-import '../library_loader.dart' show LoadedLibraries; |
-import '../universe/call_structure.dart' show CallStructure; |
-import '../universe/selector.dart' show Selector; |
-import 'constant_system_javascript.dart'; |
-import 'js_backend.dart'; |
- |
-/// Helper classes and functions for the JavaScript backend. |
-class BackendHelpers { |
- static final Uri DART_JS_HELPER = new Uri(scheme: 'dart', path: '_js_helper'); |
- static final Uri DART_INTERCEPTORS = |
- new Uri(scheme: 'dart', path: '_interceptors'); |
- static final Uri DART_FOREIGN_HELPER = |
- new Uri(scheme: 'dart', path: '_foreign_helper'); |
- static final Uri DART_JS_MIRRORS = |
- new Uri(scheme: 'dart', path: '_js_mirrors'); |
- static final Uri DART_JS_NAMES = new Uri(scheme: 'dart', path: '_js_names'); |
- static final Uri DART_EMBEDDED_NAMES = |
- new Uri(scheme: 'dart', path: '_js_embedded_names'); |
- static final Uri DART_ISOLATE_HELPER = |
- new Uri(scheme: 'dart', path: '_isolate_helper'); |
- static final Uri PACKAGE_JS = new Uri(scheme: 'package', path: 'js/js.dart'); |
- |
- static const String INVOKE_ON = '_getCachedInvocation'; |
- static const String START_ROOT_ISOLATE = 'startRootIsolate'; |
- |
- static const String JS = 'JS'; |
- static const String JS_BUILTIN = 'JS_BUILTIN'; |
- static const String JS_EMBEDDED_GLOBAL = 'JS_EMBEDDED_GLOBAL'; |
- static const String JS_INTERCEPTOR_CONSTANT = 'JS_INTERCEPTOR_CONSTANT'; |
- |
- final ElementEnvironment _env; |
- |
- final CommonElements commonElements; |
- |
- BackendHelpers(this._env, this.commonElements); |
- |
- ClassEntity _findInterceptorsClass(String name) => |
- _findClass(interceptorsLibrary, name); |
- |
- FunctionEntity _findInterceptorsFunction(String name) => |
- _findLibraryMember(interceptorsLibrary, name); |
- |
- ClassEntity _findHelperClass(String name) => |
- _findClass(jsHelperLibrary, name); |
- |
- // TODO(johnniwinther): Avoid the need for this (from [CheckedModeHelper]). |
- FunctionEntity findHelperFunction(String name) => _findHelperFunction(name); |
- |
- FunctionEntity _findHelperFunction(String name) => |
- _findLibraryMember(jsHelperLibrary, name); |
- |
- ClassEntity _findAsyncHelperClass(String name) => |
- _findClass(asyncLibrary, name); |
- |
- FunctionEntity _findAsyncHelperFunction(String name) => |
- _findLibraryMember(asyncLibrary, name); |
- |
- FunctionEntity _findMirrorsFunction(String name) { |
- LibraryEntity library = _env.lookupLibrary(DART_JS_MIRRORS); |
- if (library == null) return null; |
- return _env.lookupLibraryMember(library, name, required: true); |
- } |
- |
- ClassEntity _findClass(LibraryEntity library, String name) { |
- return _env.lookupClass(library, name, required: true); |
- } |
- |
- MemberEntity _findClassMember(ClassEntity cls, String name) { |
- return _env.lookupClassMember(cls, name, required: true); |
- } |
- |
- MemberEntity _findLibraryMember(LibraryEntity library, String name) { |
- return _env.lookupLibraryMember(library, name, required: true); |
- } |
- |
- FunctionEntity findCoreHelper(String name) => _env |
- .lookupLibraryMember(commonElements.coreLibrary, name, required: true); |
- |
- ConstructorEntity _findConstructor(ClassEntity cls, String name) => |
- _env.lookupConstructor(cls, name, required: true); |
- |
- void onLibrariesLoaded(LoadedLibraries loadedLibraries) { |
- assert(loadedLibraries.containsLibrary(Uris.dart_core)); |
- assert(loadedLibraries.containsLibrary(DART_INTERCEPTORS)); |
- assert(loadedLibraries.containsLibrary(DART_JS_HELPER)); |
- } |
- |
- void onResolutionStart() { |
- // TODO(johnniwinther): Avoid these. Currently needed to ensure resolution |
- // of the classes for various queries in native behavior computation, |
- // inference and codegen. |
- _env.getThisType(jsArrayClass); |
- _env.getThisType(jsExtendableArrayClass); |
- } |
- |
- LibraryEntity _jsHelperLibrary; |
- LibraryEntity get jsHelperLibrary => |
- _jsHelperLibrary ??= _env.lookupLibrary(DART_JS_HELPER); |
- |
- LibraryEntity _asyncLibrary; |
- LibraryEntity get asyncLibrary => |
- _asyncLibrary ??= _env.lookupLibrary(Uris.dart_async); |
- |
- LibraryEntity _interceptorsLibrary; |
- LibraryEntity get interceptorsLibrary => |
- _interceptorsLibrary ??= _env.lookupLibrary(DART_INTERCEPTORS); |
- |
- LibraryEntity _foreignLibrary; |
- LibraryEntity get foreignLibrary => |
- _foreignLibrary ??= _env.lookupLibrary(DART_FOREIGN_HELPER); |
- |
- LibraryEntity _isolateHelperLibrary; |
- LibraryEntity get isolateHelperLibrary => |
- _isolateHelperLibrary ??= _env.lookupLibrary(DART_ISOLATE_HELPER); |
- |
- /// Reference to the internal library to lookup functions to always inline. |
- LibraryEntity _internalLibrary; |
- LibraryEntity get internalLibrary => |
- _internalLibrary ??= _env.lookupLibrary(Uris.dart__internal); |
- |
- FunctionEntity _assertTest; |
- FunctionEntity get assertTest => |
- _assertTest ??= _findHelperFunction('assertTest'); |
- |
- FunctionEntity _assertThrow; |
- FunctionEntity get assertThrow => |
- _assertThrow ??= _findHelperFunction('assertThrow'); |
- |
- FunctionEntity _assertHelper; |
- FunctionEntity get assertHelper => |
- _assertHelper ??= _findHelperFunction('assertHelper'); |
- |
- FunctionEntity _assertUnreachableMethod; |
- FunctionEntity get assertUnreachableMethod => |
- _assertUnreachableMethod ??= _findHelperFunction('assertUnreachable'); |
- |
- ClassEntity _closureClass; |
- ClassEntity get closureClass => _closureClass ??= _findHelperClass('Closure'); |
- |
- ClassEntity _boundClosureClass; |
- ClassEntity get boundClosureClass => |
- _boundClosureClass ??= _findHelperClass('BoundClosure'); |
- |
- FunctionEntity _invokeOnMethod; |
- FunctionEntity get invokeOnMethod => _invokeOnMethod ??= |
- _env.lookupClassMember(jsInvocationMirrorClass, INVOKE_ON); |
- |
- ClassEntity _jsInterceptorClass; |
- ClassEntity get jsInterceptorClass => |
- _jsInterceptorClass ??= _findInterceptorsClass('Interceptor'); |
- |
- ClassEntity _jsStringClass; |
- ClassEntity get jsStringClass => |
- _jsStringClass ??= _findInterceptorsClass('JSString'); |
- |
- ClassEntity _jsArrayClass; |
- ClassEntity get jsArrayClass => |
- _jsArrayClass ??= _findInterceptorsClass('JSArray'); |
- |
- ClassEntity _jsNumberClass; |
- ClassEntity get jsNumberClass => |
- _jsNumberClass ??= _findInterceptorsClass('JSNumber'); |
- |
- ClassEntity _jsIntClass; |
- ClassEntity get jsIntClass => _jsIntClass ??= _findInterceptorsClass('JSInt'); |
- |
- ClassEntity _jsDoubleClass; |
- ClassEntity get jsDoubleClass => |
- _jsDoubleClass ??= _findInterceptorsClass('JSDouble'); |
- |
- ClassEntity _jsNullClass; |
- ClassEntity get jsNullClass => |
- _jsNullClass ??= _findInterceptorsClass('JSNull'); |
- |
- ClassEntity _jsBoolClass; |
- ClassEntity get jsBoolClass => |
- _jsBoolClass ??= _findInterceptorsClass('JSBool'); |
- |
- ClassEntity _jsPlainJavaScriptObjectClass; |
- ClassEntity get jsPlainJavaScriptObjectClass => |
- _jsPlainJavaScriptObjectClass ??= |
- _findInterceptorsClass('PlainJavaScriptObject'); |
- |
- ClassEntity _jsUnknownJavaScriptObjectClass; |
- ClassEntity get jsUnknownJavaScriptObjectClass => |
- _jsUnknownJavaScriptObjectClass ??= |
- _findInterceptorsClass('UnknownJavaScriptObject'); |
- |
- ClassEntity _jsJavaScriptFunctionClass; |
- ClassEntity get jsJavaScriptFunctionClass => _jsJavaScriptFunctionClass ??= |
- _findInterceptorsClass('JavaScriptFunction'); |
- |
- ClassEntity _jsJavaScriptObjectClass; |
- ClassEntity get jsJavaScriptObjectClass => |
- _jsJavaScriptObjectClass ??= _findInterceptorsClass('JavaScriptObject'); |
- |
- ClassEntity _jsIndexableClass; |
- ClassEntity get jsIndexableClass => |
- _jsIndexableClass ??= _findInterceptorsClass('JSIndexable'); |
- |
- ClassEntity _jsMutableIndexableClass; |
- ClassEntity get jsMutableIndexableClass => |
- _jsMutableIndexableClass ??= _findInterceptorsClass('JSMutableIndexable'); |
- |
- ClassEntity _jsMutableArrayClass; |
- ClassEntity get jsMutableArrayClass => |
- _jsMutableArrayClass ??= _findInterceptorsClass('JSMutableArray'); |
- |
- ClassEntity _jsFixedArrayClass; |
- ClassEntity get jsFixedArrayClass => |
- _jsFixedArrayClass ??= _findInterceptorsClass('JSFixedArray'); |
- |
- ClassEntity _jsExtendableArrayClass; |
- ClassEntity get jsExtendableArrayClass => |
- _jsExtendableArrayClass ??= _findInterceptorsClass('JSExtendableArray'); |
- |
- ClassEntity _jsUnmodifiableArrayClass; |
- ClassEntity get jsUnmodifiableArrayClass => _jsUnmodifiableArrayClass ??= |
- _findInterceptorsClass('JSUnmodifiableArray'); |
- |
- ClassEntity _jsPositiveIntClass; |
- ClassEntity get jsPositiveIntClass => |
- _jsPositiveIntClass ??= _findInterceptorsClass('JSPositiveInt'); |
- |
- ClassEntity _jsUInt32Class; |
- ClassEntity get jsUInt32Class => |
- _jsUInt32Class ??= _findInterceptorsClass('JSUInt32'); |
- |
- ClassEntity _jsUInt31Class; |
- ClassEntity get jsUInt31Class => |
- _jsUInt31Class ??= _findInterceptorsClass('JSUInt31'); |
- |
- MemberEntity _jsIndexableLength; |
- MemberEntity get jsIndexableLength => |
- _jsIndexableLength ??= _findClassMember(jsIndexableClass, 'length'); |
- |
- ConstructorEntity _jsArrayTypedConstructor; |
- ConstructorEntity get jsArrayTypedConstructor => |
- _jsArrayTypedConstructor ??= _findConstructor(jsArrayClass, 'typed'); |
- |
- FunctionEntity _jsArrayRemoveLast; |
- FunctionEntity get jsArrayRemoveLast => |
- _jsArrayRemoveLast ??= _findClassMember(jsArrayClass, 'removeLast'); |
- |
- FunctionEntity _jsArrayAdd; |
- FunctionEntity get jsArrayAdd => |
- _jsArrayAdd ??= _findClassMember(jsArrayClass, 'add'); |
- |
- FunctionEntity _jsStringSplit; |
- FunctionEntity get jsStringSplit => |
- _jsStringSplit ??= _findClassMember(jsStringClass, 'split'); |
- |
- FunctionEntity _jsStringToString; |
- FunctionEntity get jsStringToString => |
- _jsStringToString ??= _findClassMember(jsStringClass, 'toString'); |
- |
- FunctionEntity _jsStringOperatorAdd; |
- FunctionEntity get jsStringOperatorAdd => |
- _jsStringOperatorAdd ??= _findClassMember(jsStringClass, '+'); |
- |
- FunctionEntity _objectEquals; |
- FunctionEntity get objectEquals => |
- _objectEquals ??= _findClassMember(commonElements.objectClass, '=='); |
- |
- ClassEntity _typeLiteralClass; |
- ClassEntity get typeLiteralClass => |
- _typeLiteralClass ??= _findHelperClass('TypeImpl'); |
- |
- ClassEntity _mapLiteralClass; |
- ClassEntity get mapLiteralClass { |
- if (_mapLiteralClass == null) { |
- _mapLiteralClass = |
- _env.lookupClass(commonElements.coreLibrary, 'LinkedHashMap'); |
- if (_mapLiteralClass == null) { |
- _mapLiteralClass = _findClass( |
- _env.lookupLibrary(Uris.dart_collection), 'LinkedHashMap'); |
- } |
- } |
- return _mapLiteralClass; |
- } |
- |
- ClassEntity _constMapLiteralClass; |
- ClassEntity get constMapLiteralClass => |
- _constMapLiteralClass ??= _findHelperClass('ConstantMap'); |
- |
- ClassEntity _typeVariableClass; |
- ClassEntity get typeVariableClass => |
- _typeVariableClass ??= _findHelperClass('TypeVariable'); |
- |
- ConstructorEntity _typeVariableConstructor; |
- ConstructorEntity get typeVariableConstructor => _typeVariableConstructor ??= |
- _env.lookupConstructor(typeVariableClass, ''); |
- |
- ClassEntity _noSideEffectsClass; |
- ClassEntity get noSideEffectsClass => |
- _noSideEffectsClass ??= _findHelperClass('NoSideEffects'); |
- |
- ClassEntity _noThrowsClass; |
- ClassEntity get noThrowsClass => |
- _noThrowsClass ??= _findHelperClass('NoThrows'); |
- |
- ClassEntity _noInlineClass; |
- ClassEntity get noInlineClass => |
- _noInlineClass ??= _findHelperClass('NoInline'); |
- |
- ClassEntity _forceInlineClass; |
- ClassEntity get forceInlineClass => |
- _forceInlineClass ??= _findHelperClass('ForceInline'); |
- |
- ClassEntity _irRepresentationClass; |
- ClassEntity get irRepresentationClass => |
- _irRepresentationClass ??= _findHelperClass('IrRepresentation'); |
- |
- ClassEntity _jsAnnotationClass; |
- ClassEntity get jsAnnotationClass { |
- if (_jsAnnotationClass == null) { |
- LibraryEntity library = _env.lookupLibrary(PACKAGE_JS); |
- if (library == null) return null; |
- _jsAnnotationClass = _findClass(library, 'JS'); |
- } |
- return _jsAnnotationClass; |
- } |
- |
- ClassEntity _jsAnonymousClass; |
- ClassEntity get jsAnonymousClass { |
- if (_jsAnonymousClass == null) { |
- LibraryEntity library = _env.lookupLibrary(PACKAGE_JS); |
- if (library == null) return null; |
- _jsAnonymousClass = _findClass(library, '_Anonymous'); |
- } |
- return _jsAnonymousClass; |
- } |
- |
- FunctionEntity _getInterceptorMethod; |
- FunctionEntity get getInterceptorMethod => |
- _getInterceptorMethod ??= _findInterceptorsFunction('getInterceptor'); |
- |
- ClassEntity _jsInvocationMirrorClass; |
- ClassEntity get jsInvocationMirrorClass => |
- _jsInvocationMirrorClass ??= _findHelperClass('JSInvocationMirror'); |
- |
- ClassEntity _typedArrayClass; |
- ClassEntity get typedArrayClass => _typedArrayClass ??= _findClass( |
- _env.lookupLibrary(Uris.dart__native_typed_data, required: true), |
- 'NativeTypedArray'); |
- |
- ClassEntity _typedArrayOfIntClass; |
- ClassEntity get typedArrayOfIntClass => _typedArrayOfIntClass ??= _findClass( |
- _env.lookupLibrary(Uris.dart__native_typed_data, required: true), |
- 'NativeTypedArrayOfInt'); |
- |
- /** |
- * Interface used to determine if an object has the JavaScript |
- * indexing behavior. The interface is only visible to specific |
- * libraries. |
- */ |
- ClassEntity _jsIndexingBehaviorInterface; |
- ClassEntity get jsIndexingBehaviorInterface => |
- _jsIndexingBehaviorInterface ??= |
- _findHelperClass('JavaScriptIndexingBehavior'); |
- |
- FunctionEntity _getNativeInterceptorMethod; |
- FunctionEntity get getNativeInterceptorMethod => |
- _getNativeInterceptorMethod ??= |
- _findInterceptorsFunction('getNativeInterceptor'); |
- |
- /// Holds the method "getIsolateAffinityTag" when dart:_js_helper has been |
- /// loaded. |
- FunctionEntity _getIsolateAffinityTagMarker; |
- FunctionEntity get getIsolateAffinityTagMarker => |
- _getIsolateAffinityTagMarker ??= |
- _findHelperFunction('getIsolateAffinityTag'); |
- |
- /// Holds the method "disableTreeShaking" in js_mirrors when |
- /// dart:mirrors has been loaded. |
- FunctionEntity _disableTreeShakingMarker; |
- FunctionEntity get disableTreeShakingMarker => |
- _disableTreeShakingMarker ??= _findMirrorsFunction('disableTreeShaking'); |
- |
- /// Holds the method "preserveNames" in js_mirrors when |
- /// dart:mirrors has been loaded. |
- FunctionEntity _preserveNamesMarker; |
- FunctionEntity get preserveNamesMarker { |
- if (_preserveNamesMarker == null) { |
- LibraryEntity library = _env.lookupLibrary(DART_JS_NAMES); |
- if (library != null) { |
- _preserveNamesMarker = _findLibraryMember(library, 'preserveNames'); |
- } |
- } |
- return _preserveNamesMarker; |
- } |
- |
- /// Holds the method "preserveMetadata" in js_mirrors when |
- /// dart:mirrors has been loaded. |
- FunctionEntity _preserveMetadataMarker; |
- FunctionEntity get preserveMetadataMarker => |
- _preserveMetadataMarker ??= _findMirrorsFunction('preserveMetadata'); |
- |
- /// Holds the method "preserveUris" in js_mirrors when |
- /// dart:mirrors has been loaded. |
- FunctionEntity _preserveUrisMarker; |
- FunctionEntity get preserveUrisMarker => |
- _preserveUrisMarker ??= _findMirrorsFunction('preserveUris'); |
- |
- /// Holds the method "preserveLibraryNames" in js_mirrors when |
- /// dart:mirrors has been loaded. |
- FunctionEntity _preserveLibraryNamesMarker; |
- FunctionEntity get preserveLibraryNamesMarker => |
- _preserveLibraryNamesMarker ??= |
- _findMirrorsFunction('preserveLibraryNames'); |
- |
- /// Holds the method "requiresPreamble" in _js_helper. |
- FunctionEntity _requiresPreambleMarker; |
- FunctionEntity get requiresPreambleMarker => |
- _requiresPreambleMarker ??= _findHelperFunction('requiresPreamble'); |
- |
- /// Holds the class for the [JsGetName] enum. |
- ClassEntity _jsGetNameEnum; |
- ClassEntity get jsGetNameEnum => _jsGetNameEnum ??= _findClass( |
- _env.lookupLibrary(DART_EMBEDDED_NAMES, required: true), 'JsGetName'); |
- |
- /// Holds the class for the [JsBuiltins] enum. |
- ClassEntity _jsBuiltinEnum; |
- ClassEntity get jsBuiltinEnum => _jsBuiltinEnum ??= _findClass( |
- _env.lookupLibrary(DART_EMBEDDED_NAMES, required: true), 'JsBuiltin'); |
- |
- final Selector symbolValidatedConstructorSelector = |
- new Selector.call(const PublicName('validated'), CallStructure.ONE_ARG); |
- |
- ConstructorEntity get symbolValidatedConstructor => |
- _symbolValidatedConstructor ??= _findConstructor( |
- symbolImplementationClass, symbolValidatedConstructorSelector.name); |
- |
- ClassEntity _symbolImplementationClass; |
- ClassEntity get symbolImplementationClass => |
- _symbolImplementationClass ??= _findClass(internalLibrary, 'Symbol'); |
- |
- FieldEntity _symbolImplementationField; |
- |
- /// Returns the field that holds the internal name in the implementation class |
- /// for `Symbol`. |
- FieldEntity get symbolImplementationField => _symbolImplementationField ??= |
- _env.lookupClassMember(symbolImplementationClass, '_name', |
- required: true); |
- |
- ConstructorEntity _symbolValidatedConstructor; |
- |
- bool isSymbolValidatedConstructor(ConstructorEntity element) { |
- if (_symbolValidatedConstructor != null) { |
- return element == _symbolValidatedConstructor; |
- } |
- return false; |
- } |
- |
- ConstructorEntity _mapLiteralConstructor; |
- ConstructorEntity _mapLiteralConstructorEmpty; |
- FunctionEntity _mapLiteralUntypedMaker; |
- FunctionEntity _mapLiteralUntypedEmptyMaker; |
- |
- ConstructorEntity get mapLiteralConstructor { |
- _ensureMapLiteralHelpers(); |
- return _mapLiteralConstructor; |
- } |
- |
- ConstructorEntity get mapLiteralConstructorEmpty { |
- _ensureMapLiteralHelpers(); |
- return _mapLiteralConstructorEmpty; |
- } |
- |
- FunctionEntity get mapLiteralUntypedMaker { |
- _ensureMapLiteralHelpers(); |
- return _mapLiteralUntypedMaker; |
- } |
- |
- FunctionEntity get mapLiteralUntypedEmptyMaker { |
- _ensureMapLiteralHelpers(); |
- return _mapLiteralUntypedEmptyMaker; |
- } |
- |
- void _ensureMapLiteralHelpers() { |
- if (_mapLiteralConstructor != null) return; |
- |
- _mapLiteralConstructor = |
- _env.lookupConstructor(mapLiteralClass, '_literal'); |
- _mapLiteralConstructorEmpty = |
- _env.lookupConstructor(mapLiteralClass, '_empty'); |
- _mapLiteralUntypedMaker = |
- _env.lookupClassMember(mapLiteralClass, '_makeLiteral'); |
- _mapLiteralUntypedEmptyMaker = |
- _env.lookupClassMember(mapLiteralClass, '_makeEmpty'); |
- } |
- |
- FunctionEntity get badMain { |
- return _findHelperFunction('badMain'); |
- } |
- |
- FunctionEntity get missingMain { |
- return _findHelperFunction('missingMain'); |
- } |
- |
- FunctionEntity get mainHasTooManyParameters { |
- return _findHelperFunction('mainHasTooManyParameters'); |
- } |
- |
- FunctionEntity get loadLibraryWrapper { |
- return _findHelperFunction("_loadLibraryWrapper"); |
- } |
- |
- FunctionEntity get boolConversionCheck { |
- return _findHelperFunction('boolConversionCheck'); |
- } |
- |
- FunctionEntity _traceHelper; |
- |
- FunctionEntity get traceHelper { |
- return _traceHelper ??= JavaScriptBackend.TRACE_METHOD == 'console' |
- ? _consoleTraceHelper |
- : _postTraceHelper; |
- } |
- |
- FunctionEntity get _consoleTraceHelper => |
- _findHelperFunction('consoleTraceHelper'); |
- |
- FunctionEntity get _postTraceHelper => _findHelperFunction('postTraceHelper'); |
- |
- FunctionEntity get closureFromTearOff => |
- _findHelperFunction('closureFromTearOff'); |
- |
- FunctionEntity get isJsIndexable => _findHelperFunction('isJsIndexable'); |
- |
- FunctionEntity get throwIllegalArgumentException => |
- _findHelperFunction('iae'); |
- |
- FunctionEntity get throwIndexOutOfRangeException => |
- _findHelperFunction('ioore'); |
- |
- FunctionEntity get exceptionUnwrapper => |
- _findHelperFunction('unwrapException'); |
- |
- FunctionEntity get throwRuntimeError => |
- _findHelperFunction('throwRuntimeError'); |
- |
- FunctionEntity get throwTypeError => _findHelperFunction('throwTypeError'); |
- |
- FunctionEntity get throwAbstractClassInstantiationError => |
- _findHelperFunction('throwAbstractClassInstantiationError'); |
- |
- FunctionEntity _cachedCheckConcurrentModificationError; |
- FunctionEntity get checkConcurrentModificationError => |
- _cachedCheckConcurrentModificationError ??= |
- _findHelperFunction('checkConcurrentModificationError'); |
- |
- FunctionEntity get throwConcurrentModificationError => |
- _findHelperFunction('throwConcurrentModificationError'); |
- |
- FunctionEntity _checkInt; |
- FunctionEntity get checkInt => _checkInt ??= _findHelperFunction('checkInt'); |
- |
- FunctionEntity _checkNum; |
- FunctionEntity get checkNum => _checkNum ??= _findHelperFunction('checkNum'); |
- |
- FunctionEntity _checkString; |
- FunctionEntity get checkString => |
- _checkString ??= _findHelperFunction('checkString'); |
- |
- FunctionEntity get stringInterpolationHelper => _findHelperFunction('S'); |
- |
- FunctionEntity get wrapExceptionHelper => |
- _findHelperFunction('wrapException'); |
- |
- FunctionEntity get throwExpressionHelper => |
- _findHelperFunction('throwExpression'); |
- |
- FunctionEntity get closureConverter => |
- _findHelperFunction('convertDartClosureToJS'); |
- |
- FunctionEntity get traceFromException => |
- _findHelperFunction('getTraceFromException'); |
- |
- FunctionEntity get setRuntimeTypeInfo => |
- _findHelperFunction('setRuntimeTypeInfo'); |
- |
- FunctionEntity get getRuntimeTypeInfo => |
- _findHelperFunction('getRuntimeTypeInfo'); |
- |
- FunctionEntity get getTypeArgumentByIndex => |
- _findHelperFunction('getTypeArgumentByIndex'); |
- |
- FunctionEntity get computeSignature => |
- _findHelperFunction('computeSignature'); |
- |
- FunctionEntity get getRuntimeTypeArguments => |
- _findHelperFunction('getRuntimeTypeArguments'); |
- |
- FunctionEntity get getRuntimeTypeArgument => |
- _findHelperFunction('getRuntimeTypeArgument'); |
- |
- FunctionEntity get runtimeTypeToString => |
- _findHelperFunction('runtimeTypeToString'); |
- |
- FunctionEntity get assertIsSubtype => _findHelperFunction('assertIsSubtype'); |
- |
- FunctionEntity get checkSubtype => _findHelperFunction('checkSubtype'); |
- |
- FunctionEntity get assertSubtype => _findHelperFunction('assertSubtype'); |
- |
- FunctionEntity get subtypeCast => _findHelperFunction('subtypeCast'); |
- |
- FunctionEntity get functionTypeTest => |
- _findHelperFunction('functionTypeTest'); |
- |
- FunctionEntity get checkSubtypeOfRuntimeType => |
- _findHelperFunction('checkSubtypeOfRuntimeType'); |
- |
- FunctionEntity get assertSubtypeOfRuntimeType => |
- _findHelperFunction('assertSubtypeOfRuntimeType'); |
- |
- FunctionEntity get subtypeOfRuntimeTypeCast => |
- _findHelperFunction('subtypeOfRuntimeTypeCast'); |
- |
- FunctionEntity get checkDeferredIsLoaded => |
- _findHelperFunction('checkDeferredIsLoaded'); |
- |
- FunctionEntity get throwNoSuchMethod => |
- _findHelperFunction('throwNoSuchMethod'); |
- |
- FunctionEntity get malformedTypeError => |
- _cachedCoreHelper('_malformedTypeError'); |
- FunctionEntity get genericNoSuchMethod => |
- _cachedCoreHelper('_genericNoSuchMethod'); |
- FunctionEntity get unresolvedConstructorError => |
- _cachedCoreHelper('_unresolvedConstructorError'); |
- FunctionEntity get unresolvedStaticGetterError => |
- _cachedCoreHelper('_unresolvedStaticGetterError'); |
- FunctionEntity get unresolvedStaticSetterError => |
- _cachedCoreHelper('_unresolvedStaticSetterError'); |
- FunctionEntity get unresolvedStaticMethodError => |
- _cachedCoreHelper('_unresolvedStaticMethodError'); |
- FunctionEntity get unresolvedTopLevelGetterError => |
- _cachedCoreHelper('_unresolvedTopLevelGetterError'); |
- FunctionEntity get unresolvedTopLevelSetterError => |
- _cachedCoreHelper('_unresolvedTopLevelSetterError'); |
- FunctionEntity get unresolvedTopLevelMethodError => |
- _cachedCoreHelper('_unresolvedTopLevelMethodError'); |
- |
- Map<String, FunctionEntity> _cachedCoreHelpers = <String, FunctionEntity>{}; |
- FunctionEntity _cachedCoreHelper(String name) => |
- _cachedCoreHelpers[name] ??= findCoreHelper(name); |
- |
- FunctionEntity get createRuntimeType => |
- _findHelperFunction('createRuntimeType'); |
- |
- FunctionEntity get fallThroughError => |
- _findHelperFunction("getFallThroughError"); |
- |
- FunctionEntity get createInvocationMirror => |
- _findHelperFunction('createInvocationMirror'); |
- |
- FunctionEntity get cyclicThrowHelper => |
- _findHelperFunction("throwCyclicInit"); |
- |
- FunctionEntity get asyncHelper => _findAsyncHelperFunction("_asyncHelper"); |
- |
- FunctionEntity get wrapBody => |
- _findAsyncHelperFunction("_wrapJsFunctionForAsync"); |
- |
- FunctionEntity get yieldStar => _env.lookupClassMember( |
- _findAsyncHelperClass("_IterationMarker"), "yieldStar"); |
- |
- FunctionEntity get yieldSingle => _env.lookupClassMember( |
- _findAsyncHelperClass("_IterationMarker"), "yieldSingle"); |
- |
- FunctionEntity get syncStarUncaughtError => _env.lookupClassMember( |
- _findAsyncHelperClass("_IterationMarker"), "uncaughtError"); |
- |
- FunctionEntity get asyncStarHelper => |
- _findAsyncHelperFunction("_asyncStarHelper"); |
- |
- FunctionEntity get streamOfController => |
- _findAsyncHelperFunction("_streamOfController"); |
- |
- FunctionEntity get endOfIteration => _env.lookupClassMember( |
- _findAsyncHelperClass("_IterationMarker"), "endOfIteration"); |
- |
- ClassEntity get syncStarIterable => |
- _findAsyncHelperClass("_SyncStarIterable"); |
- |
- ClassEntity get futureImplementation => _findAsyncHelperClass('_Future'); |
- |
- ClassEntity get controllerStream => |
- _findAsyncHelperClass("_ControllerStream"); |
- |
- ConstructorEntity get syncStarIterableConstructor => |
- _env.lookupConstructor(syncStarIterable, ""); |
- |
- ConstructorEntity get syncCompleterConstructor => |
- _env.lookupConstructor(_findAsyncHelperClass("Completer"), "sync"); |
- |
- ClassEntity get asyncStarController => |
- _findAsyncHelperClass("_AsyncStarStreamController"); |
- |
- ConstructorEntity get asyncStarControllerConstructor => |
- _env.lookupConstructor(asyncStarController, "", required: true); |
- |
- ConstructorEntity get streamIteratorConstructor => |
- _env.lookupConstructor(_findAsyncHelperClass("StreamIterator"), ""); |
- |
- ClassEntity get VoidRuntimeType => _findHelperClass('VoidRuntimeType'); |
- |
- FunctionEntity get defineProperty => _findHelperFunction('defineProperty'); |
- |
- FunctionEntity get startRootIsolate => |
- _findLibraryMember(isolateHelperLibrary, START_ROOT_ISOLATE); |
- |
- FunctionEntity get currentIsolate => |
- _findLibraryMember(isolateHelperLibrary, '_currentIsolate'); |
- |
- FunctionEntity get callInIsolate => |
- _findLibraryMember(isolateHelperLibrary, '_callInIsolate'); |
- |
- FunctionEntity _findIndexForNativeSubclassType; |
- FunctionEntity get findIndexForNativeSubclassType => |
- _findIndexForNativeSubclassType ??= _findLibraryMember( |
- interceptorsLibrary, 'findIndexForNativeSubclassType'); |
- |
- FunctionEntity get convertRtiToRuntimeType => |
- _findHelperFunction('convertRtiToRuntimeType'); |
- |
- ClassEntity get stackTraceClass => _findHelperClass('_StackTrace'); |
- |
- FunctionEntity _objectNoSuchMethod; |
- FunctionEntity get objectNoSuchMethod { |
- return _objectNoSuchMethod ??= _env.lookupClassMember( |
- commonElements.objectClass, Identifiers.noSuchMethod_); |
- } |
- |
- bool isDefaultNoSuchMethodImplementation(FunctionEntity element) { |
- ClassEntity classElement = element.enclosingClass; |
- return classElement == commonElements.objectClass || |
- classElement == jsInterceptorClass || |
- classElement == jsNullClass; |
- } |
- |
- ClassEntity get constantMapClass => |
- _findHelperClass(JavaScriptMapConstant.DART_CLASS); |
- ClassEntity get constantStringMapClass => |
- _findHelperClass(JavaScriptMapConstant.DART_STRING_CLASS); |
- ClassEntity get constantProtoMapClass => |
- _findHelperClass(JavaScriptMapConstant.DART_PROTO_CLASS); |
- ClassEntity get generalConstantMapClass => |
- _findHelperClass(JavaScriptMapConstant.DART_GENERAL_CLASS); |
- |
- ClassEntity get annotationCreatesClass => _findHelperClass('Creates'); |
- |
- ClassEntity get annotationReturnsClass => _findHelperClass('Returns'); |
- |
- ClassEntity get annotationJSNameClass => _findHelperClass('JSName'); |
- |
- FunctionEntity get toStringForNativeObject => |
- _findHelperFunction('toStringForNativeObject'); |
- |
- FunctionEntity get hashCodeForNativeObject => |
- _findHelperFunction('hashCodeForNativeObject'); |
- |
- ClassEntity _patchAnnotationClass; |
- |
- /// The class for patch annotations defined in dart:_js_helper. |
- ClassEntity get patchAnnotationClass => |
- _patchAnnotationClass ??= _findHelperClass('_Patch'); |
- |
- ClassEntity _nativeAnnotationClass; |
- |
- /// The class for native annotations defined in dart:_js_helper. |
- ClassEntity get nativeAnnotationClass => |
- _nativeAnnotationClass ??= _findHelperClass('Native'); |
-} |