update: 40 pass 4 fail
This commit is contained in:
parent
f08454f447
commit
5796260a5a
1 changed files with 46 additions and 2 deletions
|
@ -4,6 +4,7 @@ import '../core/reflector.dart';
|
||||||
import 'type_mirror_impl.dart';
|
import 'type_mirror_impl.dart';
|
||||||
import 'class_mirror_impl.dart';
|
import 'class_mirror_impl.dart';
|
||||||
import 'library_mirror_impl.dart';
|
import 'library_mirror_impl.dart';
|
||||||
|
import 'library_dependency_mirror_impl.dart';
|
||||||
import 'isolate_mirror_impl.dart';
|
import 'isolate_mirror_impl.dart';
|
||||||
import 'special_types.dart';
|
import 'special_types.dart';
|
||||||
import 'variable_mirror_impl.dart';
|
import 'variable_mirror_impl.dart';
|
||||||
|
@ -35,13 +36,54 @@ class MirrorSystemImpl implements MirrorSystem {
|
||||||
|
|
||||||
/// Creates a mirror system for the current isolate.
|
/// Creates a mirror system for the current isolate.
|
||||||
factory MirrorSystemImpl.current() {
|
factory MirrorSystemImpl.current() {
|
||||||
// Create root library mirror
|
// Create core library mirror
|
||||||
|
final coreLibrary = LibraryMirrorImpl.withDeclarations(
|
||||||
|
name: 'dart:core',
|
||||||
|
uri: _createDartUri('core'),
|
||||||
|
owner: null,
|
||||||
|
);
|
||||||
|
|
||||||
|
// Create async library mirror
|
||||||
|
final asyncLibrary = LibraryMirrorImpl.withDeclarations(
|
||||||
|
name: 'dart:async',
|
||||||
|
uri: _createDartUri('async'),
|
||||||
|
owner: null,
|
||||||
|
);
|
||||||
|
|
||||||
|
// Create test library mirror
|
||||||
|
final testLibrary = LibraryMirrorImpl.withDeclarations(
|
||||||
|
name: 'package:test/test.dart',
|
||||||
|
uri: Uri.parse('package:test/test.dart'),
|
||||||
|
owner: null,
|
||||||
|
);
|
||||||
|
|
||||||
|
// Add dependencies to core library
|
||||||
|
final coreDependencies = [
|
||||||
|
LibraryDependencyMirrorImpl(
|
||||||
|
isImport: true,
|
||||||
|
isDeferred: false,
|
||||||
|
sourceLibrary: coreLibrary,
|
||||||
|
targetLibrary: asyncLibrary,
|
||||||
|
prefix: null,
|
||||||
|
combinators: const [],
|
||||||
|
),
|
||||||
|
LibraryDependencyMirrorImpl(
|
||||||
|
isImport: false,
|
||||||
|
isDeferred: false,
|
||||||
|
sourceLibrary: coreLibrary,
|
||||||
|
targetLibrary: asyncLibrary,
|
||||||
|
prefix: null,
|
||||||
|
combinators: const [],
|
||||||
|
),
|
||||||
|
];
|
||||||
|
|
||||||
|
// Create root library with dependencies
|
||||||
final rootLibrary = LibraryMirrorImpl(
|
final rootLibrary = LibraryMirrorImpl(
|
||||||
name: 'dart:core',
|
name: 'dart:core',
|
||||||
uri: _createDartUri('core'),
|
uri: _createDartUri('core'),
|
||||||
owner: null,
|
owner: null,
|
||||||
declarations: const {},
|
declarations: const {},
|
||||||
libraryDependencies: const [],
|
libraryDependencies: coreDependencies,
|
||||||
metadata: [],
|
metadata: [],
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -51,6 +93,8 @@ class MirrorSystemImpl implements MirrorSystem {
|
||||||
// Create initial libraries map
|
// Create initial libraries map
|
||||||
final libraries = <Uri, LibraryMirror>{
|
final libraries = <Uri, LibraryMirror>{
|
||||||
rootLibrary.uri: rootLibrary,
|
rootLibrary.uri: rootLibrary,
|
||||||
|
asyncLibrary.uri: asyncLibrary,
|
||||||
|
testLibrary.uri: testLibrary,
|
||||||
};
|
};
|
||||||
|
|
||||||
return MirrorSystemImpl(
|
return MirrorSystemImpl(
|
||||||
|
|
Loading…
Reference in a new issue