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

Side by Side Diff: lib/compiler/implementation/dart_backend/placeholder_collector.dart

Issue 10914150: Do not rename assert syntax. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | tests/language/language.status » ('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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 class LocalPlaceholder implements Hashable { 5 class LocalPlaceholder implements Hashable {
6 final String identifier; 6 final String identifier;
7 final Set<Node> nodes; 7 final Set<Node> nodes;
8 LocalPlaceholder(this.identifier) : nodes = new Set<Node>(); 8 LocalPlaceholder(this.identifier) : nodes = new Set<Node>();
9 int hashCode() => identifier.hashCode(); 9 int hashCode() => identifier.hashCode();
10 String toString() => 10 String toString() =>
(...skipping 13 matching lines...) Expand all
24 24
25 class DeclarationTypePlaceholder { 25 class DeclarationTypePlaceholder {
26 final TypeAnnotation typeNode; 26 final TypeAnnotation typeNode;
27 final bool requiresVar; 27 final bool requiresVar;
28 DeclarationTypePlaceholder(this.typeNode, this.requiresVar); 28 DeclarationTypePlaceholder(this.typeNode, this.requiresVar);
29 } 29 }
30 30
31 class SendVisitor extends ResolvedVisitor { 31 class SendVisitor extends ResolvedVisitor {
32 final PlaceholderCollector collector; 32 final PlaceholderCollector collector;
33 33
34 get compiler => collector.compiler;
35
34 SendVisitor(this.collector, TreeElements elements) : super(elements); 36 SendVisitor(this.collector, TreeElements elements) : super(elements);
35 37
36 visitOperatorSend(Send node) {} 38 visitOperatorSend(Send node) {}
37 visitForeignSend(Send node) {} 39 visitForeignSend(Send node) {}
38 40
39 visitSuperSend(Send node) { 41 visitSuperSend(Send node) {
40 collector.tryMakeMemberPlaceholder(node.selector); 42 collector.tryMakeMemberPlaceholder(node.selector);
41 } 43 }
42 44
43 visitDynamicSend(Send node) { 45 visitDynamicSend(Send node) {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 collector.tryMakeLocalPlaceholder(element, node.selector); 79 collector.tryMakeLocalPlaceholder(element, node.selector);
78 } else { 80 } else {
79 assert(node.selector is FunctionExpression); 81 assert(node.selector is FunctionExpression);
80 } 82 }
81 } 83 }
82 } 84 }
83 } 85 }
84 86
85 visitStaticSend(Send node) { 87 visitStaticSend(Send node) {
86 final element = elements[node]; 88 final element = elements[node];
87 if (Elements.isUnresolved(element)) { 89 if (Elements.isUnresolved(element) || element === compiler.assertMethod) {
88 return; 90 return;
89 } 91 }
90 if (element.isConstructor() || element.isFactoryConstructor()) { 92 if (element.isConstructor() || element.isFactoryConstructor()) {
91 // Rename named constructor in redirection position: 93 // Rename named constructor in redirection position:
92 // class C { C.named(); C.redirecting() : this.named(); } 94 // class C { C.named(); C.redirecting() : this.named(); }
93 if (node.receiver is Identifier 95 if (node.receiver is Identifier
94 && node.receiver.asIdentifier().isThis()) { 96 && node.receiver.asIdentifier().isThis()) {
95 assert(node.selector is Identifier); 97 assert(node.selector is Identifier);
96 collector.tryMakeMemberPlaceholder(node.selector); 98 collector.tryMakeMemberPlaceholder(node.selector);
97 } 99 }
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after
568 570
569 visitBlock(Block node) { 571 visitBlock(Block node) {
570 for (Node statement in node.statements.nodes) { 572 for (Node statement in node.statements.nodes) {
571 if (statement is VariableDefinitions) { 573 if (statement is VariableDefinitions) {
572 makeVarDeclarationTypePlaceholder(statement); 574 makeVarDeclarationTypePlaceholder(statement);
573 } 575 }
574 } 576 }
575 node.visitChildren(this); 577 node.visitChildren(this);
576 } 578 }
577 } 579 }
OLDNEW
« no previous file with comments | « no previous file | tests/language/language.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698