Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(203)

Unified Diff: pkg/compiler/lib/src/js_backend/backend_helpers.dart

Issue 2814453005: Merge CommonElements and BackendHelpers! (Closed)
Patch Set: comments and re-merge, take two Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/compiler/lib/src/js_backend/backend.dart ('k') | pkg/compiler/lib/src/js_backend/backend_impact.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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');
-}
« no previous file with comments | « pkg/compiler/lib/src/js_backend/backend.dart ('k') | pkg/compiler/lib/src/js_backend/backend_impact.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698