This repository was archived by the owner on Feb 25, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 6 files changed +19
-39
lines changed
Expand file tree Collapse file tree 6 files changed +19
-39
lines changed Original file line number Diff line number Diff line change @@ -352,10 +352,6 @@ class LibraryContext {
352352 analysisSession,
353353 Reference .root (),
354354 );
355-
356- var dartCoreRef = elementFactory.rootReference.getChild ('dart:core' );
357- dartCoreRef.getChild ('dynamic' ).element = DynamicElementImpl .instance;
358- dartCoreRef.getChild ('Never' ).element = NeverElementImpl .instance;
359355 }
360356
361357 void _createElementFactoryTypeProvider () {
Original file line number Diff line number Diff line change @@ -11,7 +11,6 @@ import 'package:analyzer/dart/ast/token.dart';
1111import 'package:analyzer/error/listener.dart' ;
1212import 'package:analyzer/file_system/file_system.dart' ;
1313import 'package:analyzer/file_system/physical_file_system.dart' ;
14- import 'package:analyzer/src/dart/element/element.dart' ;
1514import 'package:analyzer/src/dart/scanner/reader.dart' ;
1615import 'package:analyzer/src/dart/scanner/scanner.dart' ;
1716import 'package:analyzer/src/dart/sdk/sdk.dart' ;
@@ -148,15 +147,10 @@ class _Builder {
148147 }
149148
150149 void _link2 () {
151- var rootReference = summary2.Reference .root ();
152- var dartCoreRef = rootReference.getChild ('dart:core' );
153- dartCoreRef.getChild ('dynamic' ).element = DynamicElementImpl .instance;
154- dartCoreRef.getChild ('Never' ).element = NeverElementImpl .instance;
155-
156150 var elementFactory = summary2.LinkedElementFactory (
157151 context,
158152 null ,
159- rootReference ,
153+ summary2. Reference . root () ,
160154 );
161155
162156 var linkResult = summary2.link (elementFactory, inputLibraries);
Original file line number Diff line number Diff line change 55import 'package:analyzer/dart/analysis/declared_variables.dart' ;
66import 'package:analyzer/dart/analysis/features.dart' ;
77import 'package:analyzer/dart/ast/ast.dart' show CompilationUnit;
8- import 'package:analyzer/src/dart/element/element.dart' ;
98import 'package:analyzer/src/dart/element/inheritance_manager2.dart' ;
109import 'package:analyzer/src/generated/constant.dart' ;
1110import 'package:analyzer/src/generated/engine.dart' ;
@@ -50,12 +49,9 @@ class Linker {
5049 InheritanceManager2 inheritance; // TODO(scheglov) cache it
5150
5251 Linker (this .elementFactory) {
53- var dynamicRef = rootReference.getChild ('dart:core' ).getChild ('dynamic' );
54- dynamicRef.element = DynamicElementImpl .instance;
55- var neverRef = rootReference.getChild ('dart:core' ).getChild ('Never' );
56- neverRef.element = NeverElementImpl .instance;
57-
58- linkingBundleContext = LinkingBundleContext (dynamicRef);
52+ linkingBundleContext = LinkingBundleContext (
53+ elementFactory.dynamicRef,
54+ );
5955
6056 bundleContext = LinkedBundleContext .forAst (
6157 elementFactory,
Original file line number Diff line number Diff line change @@ -23,12 +23,23 @@ class LinkedElementFactory {
2323 CoreTypes _coreTypes;
2424
2525 LinkedElementFactory (
26- this .analysisContext, this .analysisSession, this .rootReference);
26+ this .analysisContext,
27+ this .analysisSession,
28+ this .rootReference,
29+ ) {
30+ var dartCoreRef = rootReference.getChild ('dart:core' );
31+ dartCoreRef.getChild ('dynamic' ).element = DynamicElementImpl .instance;
32+ dartCoreRef.getChild ('Never' ).element = NeverElementImpl .instance;
33+ }
2734
2835 CoreTypes get coreTypes {
2936 return _coreTypes ?? = CoreTypes (this );
3037 }
3138
39+ Reference get dynamicRef {
40+ return rootReference.getChild ('dart:core' ).getChild ('dynamic' );
41+ }
42+
3243 bool get hasDartCore {
3344 return libraryMap.containsKey ('dart:core' );
3445 }
Original file line number Diff line number Diff line change @@ -51,11 +51,6 @@ class ResynthesizeAst2Test extends ResynthesizeTestStrategyTwoPhase
5151 );
5252 }
5353
54- var rootReference = Reference .root ();
55- var dartCoreRef = rootReference.getChild ('dart:core' );
56- dartCoreRef.getChild ('dynamic' ).element = DynamicElementImpl .instance;
57- dartCoreRef.getChild ('Never' ).element = NeverElementImpl .instance;
58-
5954 var elementFactory = LinkedElementFactory (
6055 RestrictedAnalysisContext (
6156 SynchronousSession (
@@ -65,7 +60,7 @@ class ResynthesizeAst2Test extends ResynthesizeTestStrategyTwoPhase
6560 sourceFactory,
6661 ),
6762 _AnalysisSessionForLinking (),
68- rootReference ,
63+ Reference . root () ,
6964 );
7065
7166 var sdkLinkResult = link (elementFactory, inputLibraries);
@@ -90,16 +85,10 @@ class ResynthesizeAst2Test extends ResynthesizeTestStrategyTwoPhase
9085 sourceFactory,
9186 );
9287
93- var rootReference = Reference .root ();
94- rootReference.getChild ('dart:core' ).getChild ('dynamic' ).element =
95- DynamicElementImpl .instance;
96- rootReference.getChild ('dart:core' ).getChild ('Never' ).element =
97- NeverElementImpl .instance;
98-
9988 var elementFactory = LinkedElementFactory (
10089 analysisContext,
10190 _AnalysisSessionForLinking (),
102- rootReference ,
91+ Reference . root () ,
10392 );
10493 elementFactory.addBundle (
10594 LinkedBundleContext (elementFactory, sdkBundle),
Original file line number Diff line number Diff line change @@ -18,7 +18,6 @@ import 'package:analyzer/src/dart/analysis/file_state.dart';
1818import 'package:analyzer/src/dart/analysis/performance_logger.dart' ;
1919import 'package:analyzer/src/dart/analysis/restricted_analysis_context.dart' ;
2020import 'package:analyzer/src/dart/analysis/session.dart' ;
21- import 'package:analyzer/src/dart/element/element.dart' ;
2221import 'package:analyzer/src/dart/sdk/sdk.dart' ;
2322import 'package:analyzer/src/generated/engine.dart' show AnalysisOptionsImpl;
2423import 'package:analyzer/src/generated/engine.dart' ;
@@ -534,11 +533,6 @@ class BuildMode with HasContextMixin {
534533 }
535534
536535 void _createLinkedElementFactory () {
537- var rootReference = summary2.Reference .root ();
538- var dartCoreRef = rootReference.getChild ('dart:core' );
539- dartCoreRef.getChild ('dynamic' ).element = DynamicElementImpl .instance;
540- dartCoreRef.getChild ('Never' ).element = NeverElementImpl .instance;
541-
542536 var analysisContext = RestrictedAnalysisContext (
543537 SynchronousSession (analysisOptions, declaredVariables),
544538 sourceFactory,
@@ -547,7 +541,7 @@ class BuildMode with HasContextMixin {
547541 elementFactory = summary2.LinkedElementFactory (
548542 analysisContext,
549543 null ,
550- rootReference ,
544+ summary2. Reference . root () ,
551545 );
552546
553547 for (var bundle in summaryDataStore.bundles) {
You can’t perform that action at this time.
0 commit comments