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

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

Issue 2735763002: Create ResolutionEnqueuer after library loading. (Closed)
Patch Set: Updated cf. comments. Created 3 years, 9 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/patch_parser.dart ('k') | pkg/compiler/lib/src/typechecker.dart » ('j') | 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) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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.common; 5 library dart2js.resolution.common;
6 6
7 import '../common.dart'; 7 import '../common.dart';
8 import '../common/resolution.dart' show Resolution; 8 import '../common/resolution.dart' show Resolution;
9 import '../elements/elements.dart'; 9 import '../elements/elements.dart';
10 import '../enqueue.dart' show DeferredAction;
10 import '../tree/tree.dart'; 11 import '../tree/tree.dart';
11 import 'registry.dart' show ResolutionRegistry; 12 import 'registry.dart' show ResolutionRegistry;
12 import 'scope.dart' show Scope; 13 import 'scope.dart' show Scope;
13 import 'type_resolver.dart' show TypeResolver; 14 import 'type_resolver.dart' show TypeResolver;
14 15
15 class CommonResolverVisitor<R> extends Visitor<R> { 16 class CommonResolverVisitor<R> extends Visitor<R> {
16 final Resolution resolution; 17 final Resolution resolution;
17 18
18 CommonResolverVisitor(this.resolution); 19 CommonResolverVisitor(this.resolution);
19 20
20 DiagnosticReporter get reporter => resolution.reporter; 21 DiagnosticReporter get reporter => resolution.reporter;
21 22
22 R visitNode(Node node) { 23 R visitNode(Node node) {
23 return reporter.internalError( 24 return reporter.internalError(
24 node, 'internal error: Unhandled node: ${node.getObjectDescription()}'); 25 node, 'internal error: Unhandled node: ${node.getObjectDescription()}');
25 } 26 }
26 27
27 R visitEmptyStatement(Node node) => null; 28 R visitEmptyStatement(Node node) => null;
28 29
29 /** Convenience method for visiting nodes that may be null. */ 30 /** Convenience method for visiting nodes that may be null. */
30 R visit(Node node) => (node == null) ? null : node.accept(this); 31 R visit(Node node) => (node == null) ? null : node.accept(this);
31 32
32 void addDeferredAction(Element element, void action()) { 33 void addDeferredAction(Element element, void action()) {
33 resolution.enqueuer.addDeferredAction(element, action); 34 resolution.enqueuer.addDeferredAction(new DeferredAction(element, action));
34 } 35 }
35 } 36 }
36 37
37 /** 38 /**
38 * Common supertype for resolver visitors that record resolutions in a 39 * Common supertype for resolver visitors that record resolutions in a
39 * [ResolutionRegistry]. 40 * [ResolutionRegistry].
40 */ 41 */
41 abstract class MappingVisitor<T> extends CommonResolverVisitor<T> { 42 abstract class MappingVisitor<T> extends CommonResolverVisitor<T> {
42 final ResolutionRegistry registry; 43 final ResolutionRegistry registry;
43 final TypeResolver typeResolver; 44 final TypeResolver typeResolver;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 String name, Spannable definition, Spannable existing) { 89 String name, Spannable definition, Spannable existing) {
89 reporter.reportError( 90 reporter.reportError(
90 reporter.createMessage( 91 reporter.createMessage(
91 definition, MessageKind.DUPLICATE_DEFINITION, {'name': name}), 92 definition, MessageKind.DUPLICATE_DEFINITION, {'name': name}),
92 <DiagnosticMessage>[ 93 <DiagnosticMessage>[
93 reporter.createMessage( 94 reporter.createMessage(
94 existing, MessageKind.EXISTING_DEFINITION, {'name': name}), 95 existing, MessageKind.EXISTING_DEFINITION, {'name': name}),
95 ]); 96 ]);
96 } 97 }
97 } 98 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/patch_parser.dart ('k') | pkg/compiler/lib/src/typechecker.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698