| Index: pkg/compiler/lib/src/js_backend/backend_impact.dart
|
| diff --git a/pkg/compiler/lib/src/js_backend/backend_impact.dart b/pkg/compiler/lib/src/js_backend/backend_impact.dart
|
| index aae737b42853ca3a8f1846e61370241e97007f2f..3edac4f318d38fa918ad5d30fd2c7ddb40b51f5b 100644
|
| --- a/pkg/compiler/lib/src/js_backend/backend_impact.dart
|
| +++ b/pkg/compiler/lib/src/js_backend/backend_impact.dart
|
| @@ -4,15 +4,10 @@
|
|
|
| library dart2js.js_helpers.impact;
|
|
|
| -import '../compiler.dart' show
|
| - Compiler;
|
| -import '../core_types.dart' show
|
| - CoreClasses;
|
| -import '../dart_types.dart' show
|
| - InterfaceType;
|
| -import '../elements/elements.dart' show
|
| - ClassElement,
|
| - Element;
|
| +import '../compiler.dart' show Compiler;
|
| +import '../core_types.dart' show CoreClasses;
|
| +import '../dart_types.dart' show InterfaceType;
|
| +import '../elements/elements.dart' show ClassElement, Element;
|
|
|
| import 'backend_helpers.dart';
|
| import 'constant_system_javascript.dart';
|
| @@ -25,10 +20,11 @@ class BackendImpact {
|
| final List<ClassElement> instantiatedClasses;
|
| final List<BackendImpact> otherImpacts;
|
|
|
| - BackendImpact({this.staticUses: const <Element>[],
|
| - this.instantiatedTypes: const <InterfaceType>[],
|
| - this.instantiatedClasses: const <ClassElement>[],
|
| - this.otherImpacts: const <BackendImpact>[]});
|
| + BackendImpact(
|
| + {this.staticUses: const <Element>[],
|
| + this.instantiatedTypes: const <InterfaceType>[],
|
| + this.instantiatedClasses: const <ClassElement>[],
|
| + this.otherImpacts: const <BackendImpact>[]});
|
| }
|
|
|
| /// The JavaScript backend dependencies for various features.
|
| @@ -47,11 +43,11 @@ class BackendImpacts {
|
|
|
| BackendImpact get getRuntimeTypeArgument {
|
| if (_getRuntimeTypeArgument == null) {
|
| - _getRuntimeTypeArgument = new BackendImpact(
|
| - staticUses: [
|
| - helpers.getRuntimeTypeArgument,
|
| - helpers.getTypeArgumentByIndex,
|
| - helpers.copyTypeArguments]);
|
| + _getRuntimeTypeArgument = new BackendImpact(staticUses: [
|
| + helpers.getRuntimeTypeArgument,
|
| + helpers.getTypeArgumentByIndex,
|
| + helpers.copyTypeArguments
|
| + ]);
|
| }
|
| return _getRuntimeTypeArgument;
|
| }
|
| @@ -60,14 +56,14 @@ class BackendImpacts {
|
|
|
| BackendImpact get computeSignature {
|
| if (_computeSignature == null) {
|
| - _computeSignature = new BackendImpact(
|
| - staticUses: [
|
| - helpers.setRuntimeTypeInfo,
|
| - helpers.getRuntimeTypeInfo,
|
| - helpers.computeSignature,
|
| - helpers.getRuntimeTypeArguments],
|
| - otherImpacts: [
|
| - listValues]);
|
| + _computeSignature = new BackendImpact(staticUses: [
|
| + helpers.setRuntimeTypeInfo,
|
| + helpers.getRuntimeTypeInfo,
|
| + helpers.computeSignature,
|
| + helpers.getRuntimeTypeArguments
|
| + ], otherImpacts: [
|
| + listValues
|
| + ]);
|
| }
|
| return _computeSignature;
|
| }
|
| @@ -76,12 +72,12 @@ class BackendImpacts {
|
|
|
| BackendImpact get asyncBody {
|
| if (_asyncBody == null) {
|
| - _asyncBody = new BackendImpact(
|
| - staticUses: [
|
| - helpers.asyncHelper,
|
| - helpers.syncCompleterConstructor,
|
| - helpers.streamIteratorConstructor,
|
| - helpers.wrapBody]);
|
| + _asyncBody = new BackendImpact(staticUses: [
|
| + helpers.asyncHelper,
|
| + helpers.syncCompleterConstructor,
|
| + helpers.streamIteratorConstructor,
|
| + helpers.wrapBody
|
| + ]);
|
| }
|
| return _asyncBody;
|
| }
|
| @@ -90,14 +86,14 @@ class BackendImpacts {
|
|
|
| BackendImpact get syncStarBody {
|
| if (_syncStarBody == null) {
|
| - _syncStarBody = new BackendImpact(
|
| - staticUses: [
|
| - helpers.syncStarIterableConstructor,
|
| - helpers.endOfIteration,
|
| - helpers.yieldStar,
|
| - helpers.syncStarUncaughtError],
|
| - instantiatedClasses: [
|
| - helpers.syncStarIterable]);
|
| + _syncStarBody = new BackendImpact(staticUses: [
|
| + helpers.syncStarIterableConstructor,
|
| + helpers.endOfIteration,
|
| + helpers.yieldStar,
|
| + helpers.syncStarUncaughtError
|
| + ], instantiatedClasses: [
|
| + helpers.syncStarIterable
|
| + ]);
|
| }
|
| return _syncStarBody;
|
| }
|
| @@ -106,17 +102,17 @@ class BackendImpacts {
|
|
|
| BackendImpact get asyncStarBody {
|
| if (_asyncStarBody == null) {
|
| - _asyncStarBody = new BackendImpact(
|
| - staticUses: [
|
| - helpers.asyncStarHelper,
|
| - helpers.streamOfController,
|
| - helpers.yieldSingle,
|
| - helpers.yieldStar,
|
| - helpers.asyncStarControllerConstructor,
|
| - helpers.streamIteratorConstructor,
|
| - helpers.wrapBody],
|
| - instantiatedClasses: [
|
| - helpers.asyncStarController]);
|
| + _asyncStarBody = new BackendImpact(staticUses: [
|
| + helpers.asyncStarHelper,
|
| + helpers.streamOfController,
|
| + helpers.yieldSingle,
|
| + helpers.yieldStar,
|
| + helpers.asyncStarControllerConstructor,
|
| + helpers.streamIteratorConstructor,
|
| + helpers.wrapBody
|
| + ], instantiatedClasses: [
|
| + helpers.asyncStarController
|
| + ]);
|
| }
|
| return _asyncStarBody;
|
| }
|
| @@ -126,9 +122,7 @@ class BackendImpacts {
|
| BackendImpact get typeVariableBoundCheck {
|
| if (_typeVariableBoundCheck == null) {
|
| _typeVariableBoundCheck = new BackendImpact(
|
| - staticUses: [
|
| - helpers.throwTypeError,
|
| - helpers.assertIsSubtype]);
|
| + staticUses: [helpers.throwTypeError, helpers.assertIsSubtype]);
|
| }
|
| return _typeVariableBoundCheck;
|
| }
|
| @@ -138,10 +132,8 @@ class BackendImpacts {
|
| BackendImpact get abstractClassInstantiation {
|
| if (_abstractClassInstantiation == null) {
|
| _abstractClassInstantiation = new BackendImpact(
|
| - staticUses: [
|
| - helpers.throwAbstractClassInstantiationError],
|
| - otherImpacts: [
|
| - _needsString('Needed to encode the message.')]);
|
| + staticUses: [helpers.throwAbstractClassInstantiationError],
|
| + otherImpacts: [_needsString('Needed to encode the message.')]);
|
| }
|
| return _abstractClassInstantiation;
|
| }
|
| @@ -150,9 +142,8 @@ class BackendImpacts {
|
|
|
| BackendImpact get fallThroughError {
|
| if (_fallThroughError == null) {
|
| - _fallThroughError = new BackendImpact(
|
| - staticUses: [
|
| - helpers.fallThroughError]);
|
| + _fallThroughError =
|
| + new BackendImpact(staticUses: [helpers.fallThroughError]);
|
| }
|
| return _fallThroughError;
|
| }
|
| @@ -161,9 +152,7 @@ class BackendImpacts {
|
|
|
| BackendImpact get asCheck {
|
| if (_asCheck == null) {
|
| - _asCheck = new BackendImpact(
|
| - staticUses: [
|
| - helpers.throwRuntimeError]);
|
| + _asCheck = new BackendImpact(staticUses: [helpers.throwRuntimeError]);
|
| }
|
| return _asCheck;
|
| }
|
| @@ -172,15 +161,14 @@ class BackendImpacts {
|
|
|
| BackendImpact get throwNoSuchMethod {
|
| if (_throwNoSuchMethod == null) {
|
| - _throwNoSuchMethod = new BackendImpact(
|
| - staticUses: [
|
| - helpers.throwNoSuchMethod],
|
| - otherImpacts: [
|
| - // Also register the types of the arguments passed to this method.
|
| - _needsList(
|
| - 'Needed to encode the arguments for throw NoSuchMethodError.'),
|
| - _needsString(
|
| - 'Needed to encode the name for throw NoSuchMethodError.')]);
|
| + _throwNoSuchMethod = new BackendImpact(staticUses: [
|
| + helpers.throwNoSuchMethod
|
| + ], otherImpacts: [
|
| + // Also register the types of the arguments passed to this method.
|
| + _needsList(
|
| + 'Needed to encode the arguments for throw NoSuchMethodError.'),
|
| + _needsString('Needed to encode the name for throw NoSuchMethodError.')
|
| + ]);
|
| }
|
| return _throwNoSuchMethod;
|
| }
|
| @@ -189,9 +177,8 @@ class BackendImpacts {
|
|
|
| BackendImpact get stringValues {
|
| if (_stringValues == null) {
|
| - _stringValues = new BackendImpact(
|
| - instantiatedClasses: [
|
| - helpers.jsStringClass]);
|
| + _stringValues =
|
| + new BackendImpact(instantiatedClasses: [helpers.jsStringClass]);
|
| }
|
| return _stringValues;
|
| }
|
| @@ -200,14 +187,14 @@ class BackendImpacts {
|
|
|
| BackendImpact get numValues {
|
| if (_numValues == null) {
|
| - _numValues = new BackendImpact(
|
| - instantiatedClasses: [
|
| - helpers.jsIntClass,
|
| - helpers.jsPositiveIntClass,
|
| - helpers.jsUInt32Class,
|
| - helpers.jsUInt31Class,
|
| - helpers.jsNumberClass,
|
| - helpers.jsDoubleClass]);
|
| + _numValues = new BackendImpact(instantiatedClasses: [
|
| + helpers.jsIntClass,
|
| + helpers.jsPositiveIntClass,
|
| + helpers.jsUInt32Class,
|
| + helpers.jsUInt31Class,
|
| + helpers.jsNumberClass,
|
| + helpers.jsDoubleClass
|
| + ]);
|
| }
|
| return _numValues;
|
| }
|
| @@ -220,9 +207,8 @@ class BackendImpacts {
|
|
|
| BackendImpact get boolValues {
|
| if (_boolValues == null) {
|
| - _boolValues = new BackendImpact(
|
| - instantiatedClasses: [
|
| - helpers.jsBoolClass]);
|
| + _boolValues =
|
| + new BackendImpact(instantiatedClasses: [helpers.jsBoolClass]);
|
| }
|
| return _boolValues;
|
| }
|
| @@ -231,9 +217,8 @@ class BackendImpacts {
|
|
|
| BackendImpact get nullValue {
|
| if (_nullValue == null) {
|
| - _nullValue = new BackendImpact(
|
| - instantiatedClasses: [
|
| - helpers.jsNullClass]);
|
| + _nullValue =
|
| + new BackendImpact(instantiatedClasses: [helpers.jsNullClass]);
|
| }
|
| return _nullValue;
|
| }
|
| @@ -242,13 +227,13 @@ class BackendImpacts {
|
|
|
| BackendImpact get listValues {
|
| if (_listValues == null) {
|
| - _listValues = new BackendImpact(
|
| - instantiatedClasses: [
|
| - helpers.jsArrayClass,
|
| - helpers.jsMutableArrayClass,
|
| - helpers.jsFixedArrayClass,
|
| - helpers.jsExtendableArrayClass,
|
| - helpers.jsUnmodifiableArrayClass]);
|
| + _listValues = new BackendImpact(instantiatedClasses: [
|
| + helpers.jsArrayClass,
|
| + helpers.jsMutableArrayClass,
|
| + helpers.jsFixedArrayClass,
|
| + helpers.jsExtendableArrayClass,
|
| + helpers.jsUnmodifiableArrayClass
|
| + ]);
|
| }
|
| return _listValues;
|
| }
|
| @@ -257,12 +242,12 @@ class BackendImpacts {
|
|
|
| BackendImpact get throwRuntimeError {
|
| if (_throwRuntimeError == null) {
|
| - _throwRuntimeError = new BackendImpact(
|
| - staticUses: [
|
| - helpers.throwRuntimeError],
|
| - otherImpacts: [
|
| - // Also register the types of the arguments passed to this method.
|
| - stringValues]);
|
| + _throwRuntimeError = new BackendImpact(staticUses: [
|
| + helpers.throwRuntimeError
|
| + ], otherImpacts: [
|
| + // Also register the types of the arguments passed to this method.
|
| + stringValues
|
| + ]);
|
| }
|
| return _throwRuntimeError;
|
| }
|
| @@ -271,17 +256,15 @@ class BackendImpacts {
|
|
|
| BackendImpact get superNoSuchMethod {
|
| if (_superNoSuchMethod == null) {
|
| - _superNoSuchMethod = new BackendImpact(
|
| - staticUses: [
|
| - helpers.createInvocationMirror,
|
| - helpers.objectNoSuchMethod],
|
| - otherImpacts: [
|
| - _needsInt(
|
| - 'Needed to encode the invocation kind of super.noSuchMethod.'),
|
| - _needsList(
|
| - 'Needed to encode the arguments of super.noSuchMethod.'),
|
| - _needsString(
|
| - 'Needed to encode the name of super.noSuchMethod.')]);
|
| + _superNoSuchMethod = new BackendImpact(staticUses: [
|
| + helpers.createInvocationMirror,
|
| + helpers.objectNoSuchMethod
|
| + ], otherImpacts: [
|
| + _needsInt(
|
| + 'Needed to encode the invocation kind of super.noSuchMethod.'),
|
| + _needsList('Needed to encode the arguments of super.noSuchMethod.'),
|
| + _needsString('Needed to encode the name of super.noSuchMethod.')
|
| + ]);
|
| }
|
| return _superNoSuchMethod;
|
| }
|
| @@ -290,17 +273,16 @@ class BackendImpacts {
|
|
|
| BackendImpact get constantMapLiteral {
|
| if (_constantMapLiteral == null) {
|
| -
|
| ClassElement find(String name) {
|
| return helpers.find(helpers.jsHelperLibrary, name);
|
| }
|
|
|
| - _constantMapLiteral = new BackendImpact(
|
| - instantiatedClasses: [
|
| - find(JavaScriptMapConstant.DART_CLASS),
|
| - find(JavaScriptMapConstant.DART_PROTO_CLASS),
|
| - find(JavaScriptMapConstant.DART_STRING_CLASS),
|
| - find(JavaScriptMapConstant.DART_GENERAL_CLASS)]);
|
| + _constantMapLiteral = new BackendImpact(instantiatedClasses: [
|
| + find(JavaScriptMapConstant.DART_CLASS),
|
| + find(JavaScriptMapConstant.DART_PROTO_CLASS),
|
| + find(JavaScriptMapConstant.DART_STRING_CLASS),
|
| + find(JavaScriptMapConstant.DART_GENERAL_CLASS)
|
| + ]);
|
| }
|
| return _constantMapLiteral;
|
| }
|
| @@ -310,8 +292,7 @@ class BackendImpacts {
|
| BackendImpact get symbolConstructor {
|
| if (_symbolConstructor == null) {
|
| _symbolConstructor = new BackendImpact(
|
| - staticUses: [
|
| - helpers.compiler.symbolValidatedConstructor]);
|
| + staticUses: [helpers.compiler.symbolValidatedConstructor]);
|
| }
|
| return _symbolConstructor;
|
| }
|
| @@ -321,10 +302,8 @@ class BackendImpacts {
|
| BackendImpact get constSymbol {
|
| if (_constSymbol == null) {
|
| _constSymbol = new BackendImpact(
|
| - instantiatedClasses: [
|
| - coreClasses.symbolClass],
|
| - staticUses: [
|
| - compiler.symbolConstructor.declaration]);
|
| + instantiatedClasses: [coreClasses.symbolClass],
|
| + staticUses: [compiler.symbolConstructor.declaration]);
|
| }
|
| return _constSymbol;
|
| }
|
| @@ -361,9 +340,8 @@ class BackendImpacts {
|
|
|
| BackendImpact get assertWithoutMessage {
|
| if (_assertWithoutMessage == null) {
|
| - _assertWithoutMessage = new BackendImpact(
|
| - staticUses: [
|
| - helpers.assertHelper]);
|
| + _assertWithoutMessage =
|
| + new BackendImpact(staticUses: [helpers.assertHelper]);
|
| }
|
| return _assertWithoutMessage;
|
| }
|
| @@ -373,9 +351,7 @@ class BackendImpacts {
|
| BackendImpact get assertWithMessage {
|
| if (_assertWithMessage == null) {
|
| _assertWithMessage = new BackendImpact(
|
| - staticUses: [
|
| - helpers.assertTest,
|
| - helpers.assertThrow]);
|
| + staticUses: [helpers.assertTest, helpers.assertThrow]);
|
| }
|
| return _assertWithMessage;
|
| }
|
| @@ -384,9 +360,8 @@ class BackendImpacts {
|
|
|
| BackendImpact get asyncForIn {
|
| if (_asyncForIn == null) {
|
| - _asyncForIn = new BackendImpact(
|
| - staticUses: [
|
| - helpers.streamIteratorConstructor]);
|
| + _asyncForIn =
|
| + new BackendImpact(staticUses: [helpers.streamIteratorConstructor]);
|
| }
|
| return _asyncForIn;
|
| }
|
| @@ -396,10 +371,8 @@ class BackendImpacts {
|
| BackendImpact get stringInterpolation {
|
| if (_stringInterpolation == null) {
|
| _stringInterpolation = new BackendImpact(
|
| - staticUses: [
|
| - helpers.stringInterpolationHelper],
|
| - otherImpacts: [
|
| - _needsString('Strings are created.')]);
|
| + staticUses: [helpers.stringInterpolationHelper],
|
| + otherImpacts: [_needsString('Strings are created.')]);
|
| }
|
| return _stringInterpolation;
|
| }
|
| @@ -427,12 +400,12 @@ class BackendImpacts {
|
|
|
| BackendImpact get catchStatement {
|
| if (_catchStatement == null) {
|
| - _catchStatement = new BackendImpact(
|
| - staticUses: [
|
| - helpers.exceptionUnwrapper],
|
| - instantiatedClasses: [
|
| - helpers.jsPlainJavaScriptObjectClass,
|
| - helpers.jsUnknownJavaScriptObjectClass]);
|
| + _catchStatement = new BackendImpact(staticUses: [
|
| + helpers.exceptionUnwrapper
|
| + ], instantiatedClasses: [
|
| + helpers.jsPlainJavaScriptObjectClass,
|
| + helpers.jsUnknownJavaScriptObjectClass
|
| + ]);
|
| }
|
| return _catchStatement;
|
| }
|
| @@ -447,7 +420,8 @@ class BackendImpacts {
|
| // here, even though we may not need the throwExpression helper.
|
| staticUses: [
|
| helpers.wrapExceptionHelper,
|
| - helpers.throwExpressionHelper]);
|
| + helpers.throwExpressionHelper
|
| + ]);
|
| }
|
| return _throwExpression;
|
| }
|
| @@ -456,9 +430,7 @@ class BackendImpacts {
|
|
|
| BackendImpact get lazyField {
|
| if (_lazyField == null) {
|
| - _lazyField = new BackendImpact(
|
| - staticUses: [
|
| - helpers.cyclicThrowHelper]);
|
| + _lazyField = new BackendImpact(staticUses: [helpers.cyclicThrowHelper]);
|
| }
|
| return _lazyField;
|
| }
|
| @@ -468,10 +440,8 @@ class BackendImpacts {
|
| BackendImpact get typeLiteral {
|
| if (_typeLiteral == null) {
|
| _typeLiteral = new BackendImpact(
|
| - instantiatedClasses: [
|
| - backend.typeImplementation],
|
| - staticUses: [
|
| - helpers.createRuntimeType]);
|
| + instantiatedClasses: [backend.typeImplementation],
|
| + staticUses: [helpers.createRuntimeType]);
|
| }
|
| return _typeLiteral;
|
| }
|
| @@ -481,10 +451,8 @@ class BackendImpacts {
|
| BackendImpact get stackTraceInCatch {
|
| if (_stackTraceInCatch == null) {
|
| _stackTraceInCatch = new BackendImpact(
|
| - instantiatedClasses: [
|
| - helpers.stackTraceClass],
|
| - staticUses: [
|
| - helpers.traceFromException]);
|
| + instantiatedClasses: [helpers.stackTraceClass],
|
| + staticUses: [helpers.traceFromException]);
|
| }
|
| return _stackTraceInCatch;
|
| }
|
| @@ -496,8 +464,7 @@ class BackendImpacts {
|
| _syncForIn = new BackendImpact(
|
| // The SSA builder recognizes certain for-in loops and can generate
|
| // calls to throwConcurrentModificationError.
|
| - staticUses: [
|
| - helpers.checkConcurrentModificationError]);
|
| + staticUses: [helpers.checkConcurrentModificationError]);
|
| }
|
| return _syncForIn;
|
| }
|
| @@ -506,17 +473,16 @@ class BackendImpacts {
|
|
|
| BackendImpact get typeVariableExpression {
|
| if (_typeVariableExpression == null) {
|
| - _typeVariableExpression = new BackendImpact(
|
| - staticUses: [
|
| - helpers.setRuntimeTypeInfo,
|
| - helpers.getRuntimeTypeInfo,
|
| - helpers.runtimeTypeToString,
|
| - helpers.createRuntimeType],
|
| - otherImpacts: [
|
| - listValues,
|
| - getRuntimeTypeArgument,
|
| - _needsInt('Needed for accessing a type variable literal on this.')
|
| - ]);
|
| + _typeVariableExpression = new BackendImpact(staticUses: [
|
| + helpers.setRuntimeTypeInfo,
|
| + helpers.getRuntimeTypeInfo,
|
| + helpers.runtimeTypeToString,
|
| + helpers.createRuntimeType
|
| + ], otherImpacts: [
|
| + listValues,
|
| + getRuntimeTypeArgument,
|
| + _needsInt('Needed for accessing a type variable literal on this.')
|
| + ]);
|
| }
|
| return _typeVariableExpression;
|
| }
|
| @@ -525,9 +491,7 @@ class BackendImpacts {
|
|
|
| BackendImpact get typeCheck {
|
| if (_typeCheck == null) {
|
| - _typeCheck = new BackendImpact(
|
| - otherImpacts: [
|
| - boolValues]);
|
| + _typeCheck = new BackendImpact(otherImpacts: [boolValues]);
|
| }
|
| return _typeCheck;
|
| }
|
| @@ -536,9 +500,8 @@ class BackendImpacts {
|
|
|
| BackendImpact get checkedModeTypeCheck {
|
| if (_checkedModeTypeCheck == null) {
|
| - _checkedModeTypeCheck = new BackendImpact(
|
| - staticUses: [
|
| - helpers.throwRuntimeError]);
|
| + _checkedModeTypeCheck =
|
| + new BackendImpact(staticUses: [helpers.throwRuntimeError]);
|
| }
|
| return _checkedModeTypeCheck;
|
| }
|
| @@ -547,9 +510,8 @@ class BackendImpacts {
|
|
|
| BackendImpact get malformedTypeCheck {
|
| if (_malformedTypeCheck == null) {
|
| - _malformedTypeCheck = new BackendImpact(
|
| - staticUses: [
|
| - helpers.throwTypeError]);
|
| + _malformedTypeCheck =
|
| + new BackendImpact(staticUses: [helpers.throwTypeError]);
|
| }
|
| return _malformedTypeCheck;
|
| }
|
| @@ -558,15 +520,15 @@ class BackendImpacts {
|
|
|
| BackendImpact get genericTypeCheck {
|
| if (_genericTypeCheck == null) {
|
| - _genericTypeCheck = new BackendImpact(
|
| - staticUses: [
|
| - helpers.checkSubtype,
|
| - // TODO(johnniwinther): Investigate why this is needed.
|
| - helpers.setRuntimeTypeInfo,
|
| - helpers.getRuntimeTypeInfo],
|
| - otherImpacts: [
|
| - listValues,
|
| - getRuntimeTypeArgument]);
|
| + _genericTypeCheck = new BackendImpact(staticUses: [
|
| + helpers.checkSubtype,
|
| + // TODO(johnniwinther): Investigate why this is needed.
|
| + helpers.setRuntimeTypeInfo,
|
| + helpers.getRuntimeTypeInfo
|
| + ], otherImpacts: [
|
| + listValues,
|
| + getRuntimeTypeArgument
|
| + ]);
|
| }
|
| return _genericTypeCheck;
|
| }
|
| @@ -575,9 +537,7 @@ class BackendImpacts {
|
|
|
| BackendImpact get genericIsCheck {
|
| if (_genericIsCheck == null) {
|
| - _genericIsCheck = new BackendImpact(
|
| - otherImpacts: [
|
| - intValues]);
|
| + _genericIsCheck = new BackendImpact(otherImpacts: [intValues]);
|
| }
|
| return _genericIsCheck;
|
| }
|
| @@ -586,9 +546,8 @@ class BackendImpacts {
|
|
|
| BackendImpact get genericCheckedModeTypeCheck {
|
| if (_genericCheckedModeTypeCheck == null) {
|
| - _genericCheckedModeTypeCheck = new BackendImpact(
|
| - staticUses: [
|
| - helpers.assertSubtype]);
|
| + _genericCheckedModeTypeCheck =
|
| + new BackendImpact(staticUses: [helpers.assertSubtype]);
|
| }
|
| return _genericCheckedModeTypeCheck;
|
| }
|
| @@ -597,9 +556,8 @@ class BackendImpacts {
|
|
|
| BackendImpact get typeVariableTypeCheck {
|
| if (_typeVariableTypeCheck == null) {
|
| - _typeVariableTypeCheck = new BackendImpact(
|
| - staticUses: [
|
| - helpers.checkSubtypeOfRuntimeType]);
|
| + _typeVariableTypeCheck =
|
| + new BackendImpact(staticUses: [helpers.checkSubtypeOfRuntimeType]);
|
| }
|
| return _typeVariableTypeCheck;
|
| }
|
| @@ -608,9 +566,8 @@ class BackendImpacts {
|
|
|
| BackendImpact get typeVariableCheckedModeTypeCheck {
|
| if (_typeVariableCheckedModeTypeCheck == null) {
|
| - _typeVariableCheckedModeTypeCheck = new BackendImpact(
|
| - staticUses: [
|
| - helpers.assertSubtypeOfRuntimeType]);
|
| + _typeVariableCheckedModeTypeCheck =
|
| + new BackendImpact(staticUses: [helpers.assertSubtypeOfRuntimeType]);
|
| }
|
| return _typeVariableCheckedModeTypeCheck;
|
| }
|
| @@ -619,9 +576,8 @@ class BackendImpacts {
|
|
|
| BackendImpact get functionTypeCheck {
|
| if (_functionTypeCheck == null) {
|
| - _functionTypeCheck = new BackendImpact(
|
| - staticUses: [
|
| - helpers.functionTypeTestMetaHelper]);
|
| + _functionTypeCheck =
|
| + new BackendImpact(staticUses: [helpers.functionTypeTestMetaHelper]);
|
| }
|
| return _functionTypeCheck;
|
| }
|
| @@ -630,12 +586,12 @@ class BackendImpacts {
|
|
|
| BackendImpact get nativeTypeCheck {
|
| if (_nativeTypeCheck == null) {
|
| - _nativeTypeCheck = new BackendImpact(
|
| - staticUses: [
|
| - // We will neeed to add the "$is" and "$as" properties on the
|
| - // JavaScript object prototype, so we make sure
|
| - // [:defineProperty:] is compiled.
|
| - helpers.defineProperty]);
|
| + _nativeTypeCheck = new BackendImpact(staticUses: [
|
| + // We will neeed to add the "$is" and "$as" properties on the
|
| + // JavaScript object prototype, so we make sure
|
| + // [:defineProperty:] is compiled.
|
| + helpers.defineProperty
|
| + ]);
|
| }
|
| return _nativeTypeCheck;
|
| }
|
| @@ -644,9 +600,8 @@ class BackendImpacts {
|
|
|
| BackendImpact get closure {
|
| if (_closure == null) {
|
| - _closure = new BackendImpact(
|
| - instantiatedClasses: [
|
| - coreClasses.functionClass]);
|
| + _closure =
|
| + new BackendImpact(instantiatedClasses: [coreClasses.functionClass]);
|
| }
|
| return _closure;
|
| }
|
|
|