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

Side by Side Diff: pkg/kernel/lib/visitor.dart

Issue 2906693002: Serialize also canonical names of 'interfaceTargetReference'. (Closed)
Patch Set: Created 3 years, 6 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
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 library kernel.ast.visitor; 4 library kernel.ast.visitor;
5 5
6 import 'ast.dart'; 6 import 'ast.dart';
7 7
8 abstract class ExpressionVisitor<R> { 8 abstract class ExpressionVisitor<R> {
9 R defaultExpression(Expression node) => null; 9 R defaultExpression(Expression node) => null;
10 R defaultBasicLiteral(BasicLiteral node) => defaultExpression(node); 10 R defaultBasicLiteral(BasicLiteral node) => defaultExpression(node);
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 R visitTypeParameterType(TypeParameterType node) => defaultDartType(node); 246 R visitTypeParameterType(TypeParameterType node) => defaultDartType(node);
247 R visitTypedefType(TypedefType node) => defaultDartType(node); 247 R visitTypedefType(TypedefType node) => defaultDartType(node);
248 } 248 }
249 249
250 class MemberReferenceVisitor<R> { 250 class MemberReferenceVisitor<R> {
251 R defaultMemberReference(Member node) => null; 251 R defaultMemberReference(Member node) => null;
252 252
253 R visitFieldReference(Field node) => defaultMemberReference(node); 253 R visitFieldReference(Field node) => defaultMemberReference(node);
254 R visitConstructorReference(Constructor node) => defaultMemberReference(node); 254 R visitConstructorReference(Constructor node) => defaultMemberReference(node);
255 R visitProcedureReference(Procedure node) => defaultMemberReference(node); 255 R visitProcedureReference(Procedure node) => defaultMemberReference(node);
256
257 R visitInterfaceTargetReference(Reference reference) => null;
256 } 258 }
257 259
258 class Visitor<R> extends TreeVisitor<R> 260 class Visitor<R> extends TreeVisitor<R>
259 implements DartTypeVisitor<R>, MemberReferenceVisitor<R> { 261 implements DartTypeVisitor<R>, MemberReferenceVisitor<R> {
260 /// The catch-all case, except for references. 262 /// The catch-all case, except for references.
261 R defaultNode(Node node) => null; 263 R defaultNode(Node node) => null;
262 R defaultTreeNode(TreeNode node) => defaultNode(node); 264 R defaultTreeNode(TreeNode node) => defaultNode(node);
263 265
264 // DartTypes 266 // DartTypes
265 R defaultDartType(DartType node) => defaultNode(node); 267 R defaultDartType(DartType node) => defaultNode(node);
266 R visitInvalidType(InvalidType node) => defaultDartType(node); 268 R visitInvalidType(InvalidType node) => defaultDartType(node);
267 R visitDynamicType(DynamicType node) => defaultDartType(node); 269 R visitDynamicType(DynamicType node) => defaultDartType(node);
268 R visitVoidType(VoidType node) => defaultDartType(node); 270 R visitVoidType(VoidType node) => defaultDartType(node);
269 R visitBottomType(BottomType node) => defaultDartType(node); 271 R visitBottomType(BottomType node) => defaultDartType(node);
270 R visitInterfaceType(InterfaceType node) => defaultDartType(node); 272 R visitInterfaceType(InterfaceType node) => defaultDartType(node);
271 R visitVectorType(VectorType node) => defaultDartType(node); 273 R visitVectorType(VectorType node) => defaultDartType(node);
272 R visitFunctionType(FunctionType node) => defaultDartType(node); 274 R visitFunctionType(FunctionType node) => defaultDartType(node);
273 R visitTypeParameterType(TypeParameterType node) => defaultDartType(node); 275 R visitTypeParameterType(TypeParameterType node) => defaultDartType(node);
274 R visitTypedefType(TypedefType node) => defaultDartType(node); 276 R visitTypedefType(TypedefType node) => defaultDartType(node);
275 277
276 // Class references 278 // Class references
277 R visitClassReference(Class node) => null; 279 R visitClassReference(Class node) => null;
278 R visitTypedefReference(Typedef node) => null; 280 R visitTypedefReference(Typedef node) => null;
279 281
280 // Member references 282 // Member references
281 R defaultMemberReference(Member node) => null; 283 R defaultMemberReference(Member node) => null;
282 R visitFieldReference(Field node) => defaultMemberReference(node); 284 R visitFieldReference(Field node) => defaultMemberReference(node);
283 R visitConstructorReference(Constructor node) => defaultMemberReference(node); 285 R visitConstructorReference(Constructor node) => defaultMemberReference(node);
284 R visitProcedureReference(Procedure node) => defaultMemberReference(node); 286 R visitProcedureReference(Procedure node) => defaultMemberReference(node);
287 R visitInterfaceTargetReference(Reference reference) => null;
285 288
286 R visitName(Name node) => defaultNode(node); 289 R visitName(Name node) => defaultNode(node);
287 R visitSupertype(Supertype node) => defaultNode(node); 290 R visitSupertype(Supertype node) => defaultNode(node);
288 R visitNamedType(NamedType node) => defaultNode(node); 291 R visitNamedType(NamedType node) => defaultNode(node);
289 } 292 }
290 293
291 class RecursiveVisitor<R> extends Visitor<R> { 294 class RecursiveVisitor<R> extends Visitor<R> {
292 R defaultNode(Node node) { 295 R defaultNode(Node node) {
293 node.visitChildren(this); 296 node.visitChildren(this);
294 return null; 297 return null;
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 defaultStatement(node, arg); 439 defaultStatement(node, arg);
437 R visitTryCatch(TryCatch node, T arg) => defaultStatement(node, arg); 440 R visitTryCatch(TryCatch node, T arg) => defaultStatement(node, arg);
438 R visitTryFinally(TryFinally node, T arg) => defaultStatement(node, arg); 441 R visitTryFinally(TryFinally node, T arg) => defaultStatement(node, arg);
439 R visitYieldStatement(YieldStatement node, T arg) => 442 R visitYieldStatement(YieldStatement node, T arg) =>
440 defaultStatement(node, arg); 443 defaultStatement(node, arg);
441 R visitVariableDeclaration(VariableDeclaration node, T arg) => 444 R visitVariableDeclaration(VariableDeclaration node, T arg) =>
442 defaultStatement(node, arg); 445 defaultStatement(node, arg);
443 R visitFunctionDeclaration(FunctionDeclaration node, T arg) => 446 R visitFunctionDeclaration(FunctionDeclaration node, T arg) =>
444 defaultStatement(node, arg); 447 defaultStatement(node, arg);
445 } 448 }
OLDNEW
« pkg/kernel/lib/ast.dart ('K') | « pkg/kernel/lib/binary/limited_ast_to_binary.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698