| Index: pkg/kernel/lib/core_types.dart
|
| diff --git a/pkg/kernel/lib/core_types.dart b/pkg/kernel/lib/core_types.dart
|
| index dada2ee0d7cf17af1d9c12b94dc905aefd5c60de..c80447aeaf127fa41845da4298c9c9a03d19cb0d 100644
|
| --- a/pkg/kernel/lib/core_types.dart
|
| +++ b/pkg/kernel/lib/core_types.dart
|
| @@ -7,27 +7,7 @@ import 'ast.dart';
|
| import 'library_index.dart';
|
|
|
| /// Provides access to the classes and libraries in the core libraries.
|
| -class CoreTypes extends LibraryIndex {
|
| - Class objectClass;
|
| - Class nullClass;
|
| - Class boolClass;
|
| - Class intClass;
|
| - Class numClass;
|
| - Class doubleClass;
|
| - Class stringClass;
|
| - Class listClass;
|
| - Class mapClass;
|
| - Class iterableClass;
|
| - Class iteratorClass;
|
| - Class futureClass;
|
| - Class futureOrClass;
|
| - Class streamClass;
|
| - Class symbolClass;
|
| - Class internalSymbolClass;
|
| - Class typeClass;
|
| - Class functionClass;
|
| - Class invocationClass;
|
| -
|
| +class CoreTypes {
|
| static final Map<String, List<String>> requiredClasses = {
|
| 'dart:core': [
|
| 'Object',
|
| @@ -55,25 +35,216 @@ class CoreTypes extends LibraryIndex {
|
| ]
|
| };
|
|
|
| - CoreTypes(Program program) : super.coreLibraries(program) {
|
| - objectClass = getClass('dart:core', 'Object');
|
| - nullClass = getClass('dart:core', 'Null');
|
| - boolClass = getClass('dart:core', 'bool');
|
| - intClass = getClass('dart:core', 'int');
|
| - numClass = getClass('dart:core', 'num');
|
| - doubleClass = getClass('dart:core', 'double');
|
| - stringClass = getClass('dart:core', 'String');
|
| - listClass = getClass('dart:core', 'List');
|
| - mapClass = getClass('dart:core', 'Map');
|
| - iterableClass = getClass('dart:core', 'Iterable');
|
| - iteratorClass = getClass('dart:core', 'Iterator');
|
| - symbolClass = getClass('dart:core', 'Symbol');
|
| - typeClass = getClass('dart:core', 'Type');
|
| - functionClass = getClass('dart:core', 'Function');
|
| - invocationClass = getClass('dart:core', 'Invocation');
|
| - futureClass = getClass('dart:async', 'Future');
|
| - futureOrClass = getClass('dart:async', 'FutureOr');
|
| - streamClass = getClass('dart:async', 'Stream');
|
| - internalSymbolClass = getClass('dart:_internal', 'Symbol');
|
| + final LibraryIndex _index;
|
| +
|
| + Library _coreLibrary;
|
| + Class _objectClass;
|
| + Class _nullClass;
|
| + Class _boolClass;
|
| + Class _intClass;
|
| + Class _numClass;
|
| + Class _doubleClass;
|
| + Class _stringClass;
|
| + Class _listClass;
|
| + Class _mapClass;
|
| + Class _iterableClass;
|
| + Class _iteratorClass;
|
| + Class _symbolClass;
|
| + Class _typeClass;
|
| + Class _functionClass;
|
| + Class _invocationClass;
|
| + Constructor _externalNameDefaultConstructor;
|
| + Class _invocationMirrorClass;
|
| + Constructor _invocationMirrorDefaultConstructor;
|
| + Class _noSuchMethodErrorClass;
|
| + Procedure _listFromConstructor;
|
| + Procedure _printProcedure;
|
| + Procedure _identicalProcedure;
|
| +
|
| + Class _internalSymbolClass;
|
| +
|
| + Library _asyncLibrary;
|
| + Class _futureClass;
|
| + Class _streamClass;
|
| + Class _completerClass;
|
| + Class _futureOrClass;
|
| + Procedure _completerSyncConstructor;
|
| + Procedure _futureMicrotaskConstructor;
|
| + Constructor _syncIterableDefaultConstructor;
|
| + Constructor _streamIteratorDefaultConstructor;
|
| + Constructor _asyncStarStreamControllerDefaultConstructor;
|
| + Procedure _asyncThenWrapperHelperProcedure;
|
| + Procedure _asyncErrorWrapperHelperProcedure;
|
| + Procedure _awaitHelperProcedure;
|
| +
|
| + /// The `dart:mirrors` library, or `null` if the program does not use it.
|
| + Library _mirrorsLibrary;
|
| +
|
| + CoreTypes(Program program) : _index = new LibraryIndex.coreLibraries(program);
|
| +
|
| + Procedure get asyncErrorWrapperHelperProcedure {
|
| + return _asyncErrorWrapperHelperProcedure ??=
|
| + _index.getTopLevelMember('dart:async', '_asyncErrorWrapperHelper');
|
| + }
|
| +
|
| + Library get asyncLibrary {
|
| + return _asyncLibrary ??= _index.getLibrary('dart:async');
|
| + }
|
| +
|
| + Constructor get asyncStarStreamControllerDefaultConstructor {
|
| + return _asyncStarStreamControllerDefaultConstructor ??=
|
| + _index.getMember('dart:async', '_AsyncStarStreamController', '');
|
| + }
|
| +
|
| + Procedure get asyncThenWrapperHelperProcedure {
|
| + return _asyncThenWrapperHelperProcedure ??=
|
| + _index.getTopLevelMember('dart:async', '_asyncThenWrapperHelper');
|
| + }
|
| +
|
| + Procedure get awaitHelperProcedure {
|
| + return _awaitHelperProcedure ??=
|
| + _index.getTopLevelMember('dart:async', '_awaitHelper');
|
| + }
|
| +
|
| + Class get boolClass {
|
| + return _boolClass ??= _index.getClass('dart:core', 'bool');
|
| + }
|
| +
|
| + Class get completerClass {
|
| + return _completerClass ??= _index.getClass('dart:async', 'Completer');
|
| + }
|
| +
|
| + Procedure get completerSyncConstructor {
|
| + return _completerSyncConstructor ??=
|
| + _index.getMember('dart:async', 'Completer', 'sync');
|
| + }
|
| +
|
| + Library get coreLibrary {
|
| + return _coreLibrary ??= _index.getLibrary('dart:core');
|
| + }
|
| +
|
| + Class get doubleClass {
|
| + return _doubleClass ??= _index.getClass('dart:core', 'double');
|
| + }
|
| +
|
| + Constructor get externalNameDefaultConstructor {
|
| + return _externalNameDefaultConstructor ??=
|
| + _index.getMember('dart:_internal', 'ExternalName', '');
|
| + }
|
| +
|
| + Class get functionClass {
|
| + return _functionClass ??= _index.getClass('dart:core', 'Function');
|
| + }
|
| +
|
| + Class get futureClass {
|
| + return _futureClass ??= _index.getClass('dart:async', 'Future');
|
| + }
|
| +
|
| + Procedure get futureMicrotaskConstructor {
|
| + return _futureMicrotaskConstructor ??=
|
| + _index.getMember('dart:async', 'Future', 'microtask');
|
| + }
|
| +
|
| + Class get futureOrClass {
|
| + return _futureOrClass ??= _index.getClass('dart:async', 'FutureOr');
|
| + }
|
| +
|
| + Procedure get identicalProcedure {
|
| + return _identicalProcedure ??=
|
| + _index.getTopLevelMember('dart:core', 'identical');
|
| + }
|
| +
|
| + Class get intClass {
|
| + return _intClass ??= _index.getClass('dart:core', 'int');
|
| + }
|
| +
|
| + Class get internalSymbolClass {
|
| + return _internalSymbolClass ??= _index.getClass('dart:_internal', 'Symbol');
|
| + }
|
| +
|
| + Class get invocationClass {
|
| + return _invocationClass ??= _index.getClass('dart:core', 'Invocation');
|
| + }
|
| +
|
| + Class get invocationMirrorClass {
|
| + return _invocationMirrorClass ??=
|
| + _index.getClass('dart:core', '_InvocationMirror');
|
| + }
|
| +
|
| + Constructor get invocationMirrorDefaultConstructor {
|
| + return _invocationMirrorDefaultConstructor ??=
|
| + _index.getMember('dart:core', '_InvocationMirror', '');
|
| + }
|
| +
|
| + Class get iterableClass {
|
| + return _iterableClass ??= _index.getClass('dart:core', 'Iterable');
|
| + }
|
| +
|
| + Class get iteratorClass {
|
| + return _iteratorClass ??= _index.getClass('dart:core', 'Iterator');
|
| + }
|
| +
|
| + Class get listClass {
|
| + return _listClass ??= _index.getClass('dart:core', 'List');
|
| + }
|
| +
|
| + Procedure get listFromConstructor {
|
| + return _listFromConstructor ??=
|
| + _index.getMember('dart:core', 'List', 'from');
|
| + }
|
| +
|
| + Class get mapClass {
|
| + return _mapClass ??= _index.getClass('dart:core', 'Map');
|
| + }
|
| +
|
| + Library get mirrorsLibrary {
|
| + return _mirrorsLibrary ??= _index.tryGetLibrary('dart:mirrors');
|
| + }
|
| +
|
| + Class get noSuchMethodErrorClass {
|
| + return _noSuchMethodErrorClass ??=
|
| + _index.getClass('dart:core', 'NoSuchMethodError');
|
| + }
|
| +
|
| + Class get nullClass {
|
| + return _nullClass ??= _index.getClass('dart:core', 'Null');
|
| + }
|
| +
|
| + Class get numClass {
|
| + return _numClass ??= _index.getClass('dart:core', 'num');
|
| + }
|
| +
|
| + Class get objectClass {
|
| + return _objectClass ??= _index.getClass('dart:core', 'Object');
|
| + }
|
| +
|
| + Procedure get printProcedure {
|
| + return _printProcedure ??= _index.getTopLevelMember('dart:core', 'print');
|
| + }
|
| +
|
| + Class get streamClass {
|
| + return _streamClass ??= _index.getClass('dart:async', 'Stream');
|
| + }
|
| +
|
| + Constructor get streamIteratorDefaultConstructor {
|
| + return _streamIteratorDefaultConstructor ??=
|
| + _index.getMember('dart:async', '_StreamIterator', '');
|
| + }
|
| +
|
| + Class get stringClass {
|
| + return _stringClass ??= _index.getClass('dart:core', 'String');
|
| + }
|
| +
|
| + Class get symbolClass {
|
| + return _symbolClass ??= _index.getClass('dart:core', 'Symbol');
|
| + }
|
| +
|
| + Constructor get syncIterableDefaultConstructor {
|
| + return _syncIterableDefaultConstructor ??=
|
| + _index.getMember('dart:core', '_SyncIterable', '');
|
| + }
|
| +
|
| + Class get typeClass {
|
| + return _typeClass ??= _index.getClass('dart:core', 'Type');
|
| }
|
| }
|
|
|