From 5796260a5a45188d9e81ea5af8a79a69a9544328 Mon Sep 17 00:00:00 2001 From: Patrick Stewart Date: Fri, 29 Nov 2024 09:33:47 -0700 Subject: [PATCH] update: 40 pass 4 fail --- .../lib/src/mirrors/mirror_system_impl.dart | 48 ++++++++++++++++++- 1 file changed, 46 insertions(+), 2 deletions(-) diff --git a/packages/reflection/lib/src/mirrors/mirror_system_impl.dart b/packages/reflection/lib/src/mirrors/mirror_system_impl.dart index cc94c4a..85e41a8 100644 --- a/packages/reflection/lib/src/mirrors/mirror_system_impl.dart +++ b/packages/reflection/lib/src/mirrors/mirror_system_impl.dart @@ -4,6 +4,7 @@ import '../core/reflector.dart'; import 'type_mirror_impl.dart'; import 'class_mirror_impl.dart'; import 'library_mirror_impl.dart'; +import 'library_dependency_mirror_impl.dart'; import 'isolate_mirror_impl.dart'; import 'special_types.dart'; import 'variable_mirror_impl.dart'; @@ -35,13 +36,54 @@ class MirrorSystemImpl implements MirrorSystem { /// Creates a mirror system for the current isolate. 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( name: 'dart:core', uri: _createDartUri('core'), owner: null, declarations: const {}, - libraryDependencies: const [], + libraryDependencies: coreDependencies, metadata: [], ); @@ -51,6 +93,8 @@ class MirrorSystemImpl implements MirrorSystem { // Create initial libraries map final libraries = { rootLibrary.uri: rootLibrary, + asyncLibrary.uri: asyncLibrary, + testLibrary.uri: testLibrary, }; return MirrorSystemImpl(