| OLD | NEW |
| 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 part of js_ast; | 5 part of js_ast; |
| 6 | 6 |
| 7 abstract class NodeVisitor<T> { | 7 abstract class NodeVisitor<T> { |
| 8 T visitProgram(Program node); | 8 T visitProgram(Program node); |
| 9 | 9 |
| 10 T visitBlock(Block node); | 10 T visitBlock(Block node); |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 T visitProperty(Property node); | 63 T visitProperty(Property node); |
| 64 T visitRegExpLiteral(RegExpLiteral node); | 64 T visitRegExpLiteral(RegExpLiteral node); |
| 65 T visitTemplateString(TemplateString node); | 65 T visitTemplateString(TemplateString node); |
| 66 T visitTaggedTemplate(TaggedTemplate node); | 66 T visitTaggedTemplate(TaggedTemplate node); |
| 67 | 67 |
| 68 T visitAwait(Await node); | 68 T visitAwait(Await node); |
| 69 | 69 |
| 70 T visitClassDeclaration(ClassDeclaration node); | 70 T visitClassDeclaration(ClassDeclaration node); |
| 71 T visitClassExpression(ClassExpression node); | 71 T visitClassExpression(ClassExpression node); |
| 72 T visitMethod(Method node); | 72 T visitMethod(Method node); |
| 73 T visitPropertyName(PropertyName node); | |
| 74 | 73 |
| 75 T visitComment(Comment node); | 74 T visitComment(Comment node); |
| 76 T visitCommentExpression(CommentExpression node); | 75 T visitCommentExpression(CommentExpression node); |
| 77 | 76 |
| 78 T visitInterpolatedExpression(InterpolatedExpression node); | 77 T visitInterpolatedExpression(InterpolatedExpression node); |
| 79 T visitInterpolatedLiteral(InterpolatedLiteral node); | 78 T visitInterpolatedLiteral(InterpolatedLiteral node); |
| 80 T visitInterpolatedParameter(InterpolatedParameter node); | 79 T visitInterpolatedParameter(InterpolatedParameter node); |
| 81 T visitInterpolatedSelector(InterpolatedSelector node); | 80 T visitInterpolatedSelector(InterpolatedSelector node); |
| 82 T visitInterpolatedStatement(InterpolatedStatement node); | 81 T visitInterpolatedStatement(InterpolatedStatement node); |
| 83 T visitInterpolatedMethod(InterpolatedMethod node); | 82 T visitInterpolatedMethod(InterpolatedMethod node); |
| 84 T visitInterpolatedPropertyName(InterpolatedPropertyName node); | |
| 85 T visitInterpolatedVariableDeclaration(InterpolatedVariableDeclaration node); | 83 T visitInterpolatedVariableDeclaration(InterpolatedVariableDeclaration node); |
| 86 } | 84 } |
| 87 | 85 |
| 88 class BaseVisitor<T> implements NodeVisitor<T> { | 86 class BaseVisitor<T> implements NodeVisitor<T> { |
| 89 T visitNode(Node node) { | 87 T visitNode(Node node) { |
| 90 node.visitChildren(this); | 88 node.visitChildren(this); |
| 91 return null; | 89 return null; |
| 92 } | 90 } |
| 93 | 91 |
| 94 T visitProgram(Program node) => visitNode(node); | 92 T visitProgram(Program node) => visitNode(node); |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 T visitArrayHole(ArrayHole node) => visitExpression(node); | 165 T visitArrayHole(ArrayHole node) => visitExpression(node); |
| 168 T visitObjectInitializer(ObjectInitializer node) => visitExpression(node); | 166 T visitObjectInitializer(ObjectInitializer node) => visitExpression(node); |
| 169 T visitProperty(Property node) => visitNode(node); | 167 T visitProperty(Property node) => visitNode(node); |
| 170 T visitRegExpLiteral(RegExpLiteral node) => visitExpression(node); | 168 T visitRegExpLiteral(RegExpLiteral node) => visitExpression(node); |
| 171 T visitTemplateString(TemplateString node) => visitExpression(node); | 169 T visitTemplateString(TemplateString node) => visitExpression(node); |
| 172 T visitTaggedTemplate(TaggedTemplate node) => visitExpression(node); | 170 T visitTaggedTemplate(TaggedTemplate node) => visitExpression(node); |
| 173 | 171 |
| 174 T visitClassDeclaration(ClassDeclaration node) => visitStatement(node); | 172 T visitClassDeclaration(ClassDeclaration node) => visitStatement(node); |
| 175 T visitClassExpression(ClassExpression node) => visitExpression(node); | 173 T visitClassExpression(ClassExpression node) => visitExpression(node); |
| 176 T visitMethod(Method node) => visitProperty(node); | 174 T visitMethod(Method node) => visitProperty(node); |
| 177 T visitPropertyName(PropertyName node) => visitExpression(node); | |
| 178 | 175 |
| 179 T visitInterpolatedNode(InterpolatedNode node) => visitNode(node); | 176 T visitInterpolatedNode(InterpolatedNode node) => visitNode(node); |
| 180 | 177 |
| 181 T visitInterpolatedExpression(InterpolatedExpression node) | 178 T visitInterpolatedExpression(InterpolatedExpression node) |
| 182 => visitInterpolatedNode(node); | 179 => visitInterpolatedNode(node); |
| 183 T visitInterpolatedLiteral(InterpolatedLiteral node) | 180 T visitInterpolatedLiteral(InterpolatedLiteral node) |
| 184 => visitInterpolatedNode(node); | 181 => visitInterpolatedNode(node); |
| 185 T visitInterpolatedParameter(InterpolatedParameter node) | 182 T visitInterpolatedParameter(InterpolatedParameter node) |
| 186 => visitInterpolatedNode(node); | 183 => visitInterpolatedNode(node); |
| 187 T visitInterpolatedSelector(InterpolatedSelector node) | 184 T visitInterpolatedSelector(InterpolatedSelector node) |
| 188 => visitInterpolatedNode(node); | 185 => visitInterpolatedNode(node); |
| 189 T visitInterpolatedStatement(InterpolatedStatement node) | 186 T visitInterpolatedStatement(InterpolatedStatement node) |
| 190 => visitInterpolatedNode(node); | 187 => visitInterpolatedNode(node); |
| 191 T visitInterpolatedMethod(InterpolatedMethod node) | 188 T visitInterpolatedMethod(InterpolatedMethod node) |
| 192 => visitInterpolatedNode(node); | 189 => visitInterpolatedNode(node); |
| 193 T visitInterpolatedPropertyName(InterpolatedPropertyName node) | |
| 194 => visitInterpolatedNode(node); | |
| 195 T visitInterpolatedVariableDeclaration(InterpolatedVariableDeclaration node) | 190 T visitInterpolatedVariableDeclaration(InterpolatedVariableDeclaration node) |
| 196 => visitInterpolatedNode(node); | 191 => visitInterpolatedNode(node); |
| 197 | 192 |
| 198 // Ignore comments by default. | 193 // Ignore comments by default. |
| 199 T visitComment(Comment node) => null; | 194 T visitComment(Comment node) => null; |
| 200 T visitCommentExpression(CommentExpression node) => null; | 195 T visitCommentExpression(CommentExpression node) => null; |
| 201 | 196 |
| 202 T visitAwait(Await node) => visitExpression(node); | 197 T visitAwait(Await node) => visitExpression(node); |
| 203 T visitDartYield(DartYield node) => visitStatement(node); | 198 T visitDartYield(DartYield node) => visitStatement(node); |
| 204 } | 199 } |
| (...skipping 645 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 850 } | 845 } |
| 851 | 846 |
| 852 class VariableDeclaration extends VariableReference { | 847 class VariableDeclaration extends VariableReference { |
| 853 final bool allowRename; | 848 final bool allowRename; |
| 854 VariableDeclaration(String name, {this.allowRename: true}) : super(name); | 849 VariableDeclaration(String name, {this.allowRename: true}) : super(name); |
| 855 | 850 |
| 856 accept(NodeVisitor visitor) => visitor.visitVariableDeclaration(this); | 851 accept(NodeVisitor visitor) => visitor.visitVariableDeclaration(this); |
| 857 VariableDeclaration _clone() => new VariableDeclaration(name); | 852 VariableDeclaration _clone() => new VariableDeclaration(name); |
| 858 } | 853 } |
| 859 | 854 |
| 860 class PropertyName extends Expression { | |
| 861 final String name; | |
| 862 PropertyName(this.name); | |
| 863 | |
| 864 accept(NodeVisitor visitor) => visitor.visitPropertyName(this); | |
| 865 visitChildren(NodeVisitor visitor) {} | |
| 866 int get precedenceLevel => PRIMARY; | |
| 867 PropertyName _clone() => new PropertyName(name); | |
| 868 } | |
| 869 | |
| 870 class Parameter extends VariableDeclaration { | 855 class Parameter extends VariableDeclaration { |
| 871 Parameter(String name) : super(name); | 856 Parameter(String name) : super(name); |
| 872 | 857 |
| 873 accept(NodeVisitor visitor) => visitor.visitParameter(this); | 858 accept(NodeVisitor visitor) => visitor.visitParameter(this); |
| 874 Parameter _clone() => new Parameter(name); | 859 Parameter _clone() => new Parameter(name); |
| 875 } | 860 } |
| 876 | 861 |
| 877 class This extends Parameter { | 862 class This extends Parameter { |
| 878 This() : super("this"); | 863 This() : super("this"); |
| 879 | 864 |
| (...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1302 int get precedenceLevel => PRIMARY; | 1287 int get precedenceLevel => PRIMARY; |
| 1303 Expression get name => _unsupported; | 1288 Expression get name => _unsupported; |
| 1304 Expression get value => _unsupported; | 1289 Expression get value => _unsupported; |
| 1305 bool get isGetter => _unsupported; | 1290 bool get isGetter => _unsupported; |
| 1306 bool get isSetter => _unsupported; | 1291 bool get isSetter => _unsupported; |
| 1307 bool get isStatic => _unsupported; | 1292 bool get isStatic => _unsupported; |
| 1308 Fun get function => _unsupported; | 1293 Fun get function => _unsupported; |
| 1309 get _unsupported => throw '$runtimeType does not support this member.'; | 1294 get _unsupported => throw '$runtimeType does not support this member.'; |
| 1310 } | 1295 } |
| 1311 | 1296 |
| 1312 class InterpolatedPropertyName extends Expression with InterpolatedNode | |
| 1313 implements PropertyName { | |
| 1314 final nameOrPosition; | |
| 1315 | |
| 1316 InterpolatedPropertyName(this.nameOrPosition); | |
| 1317 | |
| 1318 accept(NodeVisitor visitor) => visitor.visitInterpolatedPropertyName(this); | |
| 1319 void visitChildren(NodeVisitor visitor) {} | |
| 1320 InterpolatedPropertyName _clone() => | |
| 1321 new InterpolatedPropertyName(nameOrPosition); | |
| 1322 | |
| 1323 int get precedenceLevel => PRIMARY; | |
| 1324 String get name => throw '$runtimeType does not support this member.'; | |
| 1325 bool get allowRename => false; | |
| 1326 } | |
| 1327 | |
| 1328 class InterpolatedVariableDeclaration extends Expression with InterpolatedNode | 1297 class InterpolatedVariableDeclaration extends Expression with InterpolatedNode |
| 1329 implements VariableDeclaration { | 1298 implements VariableDeclaration { |
| 1330 final nameOrPosition; | 1299 final nameOrPosition; |
| 1331 | 1300 |
| 1332 InterpolatedVariableDeclaration(this.nameOrPosition); | 1301 InterpolatedVariableDeclaration(this.nameOrPosition); |
| 1333 | 1302 |
| 1334 accept(NodeVisitor visitor) => | 1303 accept(NodeVisitor visitor) => |
| 1335 visitor.visitInterpolatedVariableDeclaration(this); | 1304 visitor.visitInterpolatedVariableDeclaration(this); |
| 1336 void visitChildren(NodeVisitor visitor) {} | 1305 void visitChildren(NodeVisitor visitor) {} |
| 1337 InterpolatedVariableDeclaration _clone() => | 1306 InterpolatedVariableDeclaration _clone() => |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1406 final Expression expression; | 1375 final Expression expression; |
| 1407 | 1376 |
| 1408 CommentExpression(this.comment, this.expression); | 1377 CommentExpression(this.comment, this.expression); |
| 1409 | 1378 |
| 1410 int get precedenceLevel => PRIMARY; | 1379 int get precedenceLevel => PRIMARY; |
| 1411 accept(NodeVisitor visitor) => visitor.visitCommentExpression(this); | 1380 accept(NodeVisitor visitor) => visitor.visitCommentExpression(this); |
| 1412 CommentExpression _clone() => new CommentExpression(comment, expression); | 1381 CommentExpression _clone() => new CommentExpression(comment, expression); |
| 1413 | 1382 |
| 1414 void visitChildren(NodeVisitor visitor) => expression.accept(visitor); | 1383 void visitChildren(NodeVisitor visitor) => expression.accept(visitor); |
| 1415 } | 1384 } |
| OLD | NEW |