| Index: pkg/compiler/lib/src/compiler.dart
|
| diff --git a/pkg/compiler/lib/src/compiler.dart b/pkg/compiler/lib/src/compiler.dart
|
| index 5a69c65746921f1e3fc05ff49fc0cd1f32b8fb3b..3fa4a49ec62698d8e200ffd7138b1e773a71c973 100644
|
| --- a/pkg/compiler/lib/src/compiler.dart
|
| +++ b/pkg/compiler/lib/src/compiler.dart
|
| @@ -37,6 +37,7 @@ import 'common/work.dart' show
|
| import 'compile_time_constants.dart';
|
| import 'constants/values.dart';
|
| import 'core_types.dart' show
|
| + CoreClasses,
|
| CoreTypes;
|
| import 'dart_backend/dart_backend.dart' as dart_backend;
|
| import 'dart_types.dart' show
|
| @@ -280,25 +281,8 @@ abstract class Compiler {
|
| /// Initialized when dart:typed_data is loaded.
|
| LibraryElement typedDataLibrary;
|
|
|
| - ClassElement get objectClass => _coreTypes.objectClass;
|
| - ClassElement get boolClass => _coreTypes.boolClass;
|
| - ClassElement get numClass => _coreTypes.numClass;
|
| - ClassElement get intClass => _coreTypes.intClass;
|
| - ClassElement get doubleClass => _coreTypes.doubleClass;
|
| - ClassElement get resourceClass => _coreTypes.resourceClass;
|
| - ClassElement get stringClass => _coreTypes.stringClass;
|
| - ClassElement get functionClass => _coreTypes.functionClass;
|
| - ClassElement get nullClass => _coreTypes.nullClass;
|
| - ClassElement get listClass => _coreTypes.listClass;
|
| - ClassElement get typeClass => _coreTypes.typeClass;
|
| - ClassElement get mapClass => _coreTypes.mapClass;
|
| - ClassElement get symbolClass => _coreTypes.symbolClass;
|
| - ClassElement get stackTraceClass => _coreTypes.stackTraceClass;
|
| - ClassElement get futureClass => _coreTypes.futureClass;
|
| - ClassElement get iterableClass => _coreTypes.iterableClass;
|
| - ClassElement get streamClass => _coreTypes.streamClass;
|
| -
|
| DiagnosticReporter get reporter => _reporter;
|
| + CoreClasses get coreClasses => _coreTypes;
|
| CoreTypes get coreTypes => _coreTypes;
|
| Resolution get resolution => _resolution;
|
| Parsing get parsing => _parsing;
|
| @@ -731,8 +715,9 @@ abstract class Compiler {
|
| MessageTemplate.IMPORT_EXPERIMENTAL_MIRRORS_PADDING)});
|
| }
|
|
|
| - functionClass.ensureResolved(resolution);
|
| - functionApplyMethod = functionClass.lookupLocalMember('apply');
|
| + coreClasses.functionClass.ensureResolved(resolution);
|
| + functionApplyMethod =
|
| + coreClasses.functionClass.lookupLocalMember('apply');
|
|
|
| if (preserveComments) {
|
| return libraryLoader.loadLibrary(Uris.dart_mirrors)
|
| @@ -771,23 +756,20 @@ abstract class Compiler {
|
|
|
| void onClassResolved(ClassElement cls) {
|
| if (mirrorSystemClass == cls) {
|
| - mirrorSystemGetNameFunction =
|
| - cls.lookupLocalMember('getName');
|
| - } else if (symbolClass == cls) {
|
| + mirrorSystemGetNameFunction = cls.lookupLocalMember('getName');
|
| + } else if (coreClasses.symbolClass == cls) {
|
| symbolConstructor = cls.constructors.head;
|
| } else if (symbolImplementationClass == cls) {
|
| - symbolValidatedConstructor = symbolImplementationClass.lookupConstructor(
|
| + symbolValidatedConstructor = cls.lookupConstructor(
|
| symbolValidatedConstructorSelector.name);
|
| } else if (mirrorsUsedClass == cls) {
|
| mirrorsUsedConstructor = cls.constructors.head;
|
| - } else if (intClass == cls) {
|
| - intEnvironment = intClass.lookupConstructor(Identifiers.fromEnvironment);
|
| - } else if (stringClass == cls) {
|
| - stringEnvironment =
|
| - stringClass.lookupConstructor(Identifiers.fromEnvironment);
|
| - } else if (boolClass == cls) {
|
| - boolEnvironment =
|
| - boolClass.lookupConstructor(Identifiers.fromEnvironment);
|
| + } else if (coreClasses.intClass == cls) {
|
| + intEnvironment = cls.lookupConstructor(Identifiers.fromEnvironment);
|
| + } else if (coreClasses.stringClass == cls) {
|
| + stringEnvironment = cls.lookupConstructor(Identifiers.fromEnvironment);
|
| + } else if (coreClasses.boolClass == cls) {
|
| + boolEnvironment = cls.lookupConstructor(Identifiers.fromEnvironment);
|
| }
|
| }
|
|
|
| @@ -826,13 +808,15 @@ abstract class Compiler {
|
| Element _unnamedListConstructor;
|
| Element get unnamedListConstructor {
|
| if (_unnamedListConstructor != null) return _unnamedListConstructor;
|
| - return _unnamedListConstructor = listClass.lookupDefaultConstructor();
|
| + return _unnamedListConstructor =
|
| + coreClasses.listClass.lookupDefaultConstructor();
|
| }
|
|
|
| Element _filledListConstructor;
|
| Element get filledListConstructor {
|
| if (_filledListConstructor != null) return _filledListConstructor;
|
| - return _filledListConstructor = listClass.lookupConstructor("filled");
|
| + return _filledListConstructor =
|
| + coreClasses.listClass.lookupConstructor("filled");
|
| }
|
|
|
| /**
|
| @@ -1440,7 +1424,7 @@ class SuppressionInfo {
|
| int hints = 0;
|
| }
|
|
|
| -class _CompilerCoreTypes implements CoreTypes {
|
| +class _CompilerCoreTypes implements CoreTypes, CoreClasses {
|
| final Resolution resolution;
|
|
|
| ClassElement objectClass;
|
|
|