Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(31)

Side by Side Diff: pkg/compiler/lib/src/resolution/resolution_strategy.dart

Issue 2980953002: Use entities in most of MirrorsData (part 2) (Closed)
Patch Set: Updated cf. comment Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « pkg/compiler/lib/src/js_backend/mirrors_data.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library dart2js.resolution_strategy; 5 library dart2js.resolution_strategy;
6 6
7 import 'package:front_end/src/fasta/scanner.dart' show Token; 7 import 'package:front_end/src/fasta/scanner.dart' show Token;
8 8
9 import '../common.dart'; 9 import '../common.dart';
10 import '../common_elements.dart'; 10 import '../common_elements.dart';
(...skipping 16 matching lines...) Expand all
27 import '../js_backend/backend_usage.dart'; 27 import '../js_backend/backend_usage.dart';
28 import '../js_backend/interceptor_data.dart'; 28 import '../js_backend/interceptor_data.dart';
29 import '../js_backend/mirrors_analysis.dart'; 29 import '../js_backend/mirrors_analysis.dart';
30 import '../js_backend/mirrors_data.dart'; 30 import '../js_backend/mirrors_data.dart';
31 import '../js_backend/native_data.dart'; 31 import '../js_backend/native_data.dart';
32 import '../js_backend/no_such_method_registry.dart'; 32 import '../js_backend/no_such_method_registry.dart';
33 import '../js_backend/runtime_types.dart'; 33 import '../js_backend/runtime_types.dart';
34 import '../library_loader.dart'; 34 import '../library_loader.dart';
35 import '../native/enqueue.dart' show NativeResolutionEnqueuer; 35 import '../native/enqueue.dart' show NativeResolutionEnqueuer;
36 import '../native/resolver.dart'; 36 import '../native/resolver.dart';
37 import '../options.dart';
37 import '../tree/tree.dart' show Node; 38 import '../tree/tree.dart' show Node;
38 import '../serialization/task.dart'; 39 import '../serialization/task.dart';
39 import '../patch_parser.dart'; 40 import '../patch_parser.dart';
40 import '../resolved_uri_translator.dart'; 41 import '../resolved_uri_translator.dart';
41 import '../universe/call_structure.dart'; 42 import '../universe/call_structure.dart';
42 import '../universe/use.dart'; 43 import '../universe/use.dart';
43 import '../universe/world_builder.dart'; 44 import '../universe/world_builder.dart';
44 import '../universe/world_impact.dart'; 45 import '../universe/world_impact.dart';
45 import 'no_such_method_resolver.dart'; 46 import 'no_such_method_resolver.dart';
46 47
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 _compiler.reporter, 102 _compiler.reporter,
102 elementEnvironment, 103 elementEnvironment,
103 commonElements, 104 commonElements,
104 nativeBasicData); 105 nativeBasicData);
105 } 106 }
106 107
107 NoSuchMethodResolver createNoSuchMethodResolver() => 108 NoSuchMethodResolver createNoSuchMethodResolver() =>
108 new ResolutionNoSuchMethodResolver(); 109 new ResolutionNoSuchMethodResolver();
109 110
110 MirrorsDataBuilder createMirrorsDataBuilder() { 111 MirrorsDataBuilder createMirrorsDataBuilder() {
111 return new MirrorsDataImpl( 112 return new ResolutionMirrorsData(
112 _compiler, _compiler.options, elementEnvironment, commonElements); 113 _compiler, _compiler.options, elementEnvironment, commonElements);
113 } 114 }
114 115
115 MirrorsResolutionAnalysis createMirrorsResolutionAnalysis( 116 MirrorsResolutionAnalysis createMirrorsResolutionAnalysis(
116 JavaScriptBackend backend) => 117 JavaScriptBackend backend) =>
117 new MirrorsResolutionAnalysisImpl(backend, _compiler.resolution); 118 new MirrorsResolutionAnalysisImpl(backend, _compiler.resolution);
118 119
119 RuntimeTypesNeedBuilder createRuntimeTypesNeedBuilder() { 120 RuntimeTypesNeedBuilder createRuntimeTypesNeedBuilder() {
120 return new ResolutionRuntimeTypesNeedBuilderImpl( 121 return new ResolutionRuntimeTypesNeedBuilderImpl(
121 elementEnvironment, dartTypes); 122 elementEnvironment, dartTypes);
(...skipping 807 matching lines...) Expand 10 before | Expand all | Expand 10 after
929 @override 930 @override
930 WorkItem createWorkItem(MemberElement element) { 931 WorkItem createWorkItem(MemberElement element) {
931 assert(element.isDeclaration, failedAt(element)); 932 assert(element.isDeclaration, failedAt(element));
932 if (element.isMalformed) return null; 933 if (element.isMalformed) return null;
933 934
934 assert(element is AnalyzableElement, 935 assert(element is AnalyzableElement,
935 failedAt(element, 'Element $element is not analyzable.')); 936 failedAt(element, 'Element $element is not analyzable.'));
936 return _resolution.createWorkItem(element); 937 return _resolution.createWorkItem(element);
937 } 938 }
938 } 939 }
940
941 class ResolutionMirrorsData extends MirrorsDataImpl {
942 ResolutionMirrorsData(Compiler compiler, CompilerOptions options,
943 ElementEnvironment elementEnvironment, CommonElements commonElements)
944 : super(compiler, options, elementEnvironment, commonElements);
945
946 @override
947 bool isClassInjected(covariant ClassElement cls) => cls.isInjected;
948
949 @override
950 bool isClassResolved(covariant ClassElement cls) => cls.isResolved;
951
952 @override
953 void forEachConstructor(
954 covariant ClassElement cls, void f(ConstructorEntity constructor)) {
955 cls.constructors.forEach((Element _constructor) {
956 ConstructorElement constructor = _constructor;
957 f(constructor);
958 });
959 }
960 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/js_backend/mirrors_data.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698