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

Side by Side Diff: pkg/analyzer/lib/src/summary/fasta/visitor.dart

Issue 2972093002: Remove code for computing summaries based on the Fasta parser. (Closed)
Patch Set: 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
OLDNEW
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4
5 /// Visitor of the simplified expression syntax tree.
6 library summary.src.visitor;
7
8 import 'expressions.dart';
9
10 /// Post-order recursive visitor.
11 ///
12 /// Will invoke `handle*` methods in post order (children first, parents
13 /// afterwards).
14 class RecursiveVisitor extends Visitor {
15 visitAs(As n) {
16 n.exp.accept(this);
17 handleAs(n);
18 }
19
20 visitBinary(Binary n) {
21 n.left.accept(this);
22 n.right.accept(this);
23 handleBinary(n);
24 }
25
26 visitConditional(Conditional n) {
27 n.test.accept(this);
28 n.trueBranch.accept(this);
29 n.falseBranch.accept(this);
30 handleConditional(n);
31 }
32
33 visitConstCreation(ConstCreation n) {
34 for (var arg in n.positionalArgs) {
35 arg.accept(this);
36 }
37 for (var arg in n.namedArgs) {
38 arg.value.accept(this);
39 }
40 handleConstCreation(n);
41 }
42
43 visitIdentical(Identical n) {
44 n.left.accept(this);
45 n.right.accept(this);
46 handleIdentical(n);
47 }
48
49 visitIs(Is n) {
50 n.exp.accept(this);
51 handleIs(n);
52 }
53
54 visitList(ListLiteral n) {
55 for (var v in n.values) {
56 v.accept(this);
57 }
58 handleList(n);
59 }
60
61 visitLoad(Load n) {
62 n.left.accept(this);
63 handleLoad(n);
64 }
65
66 visitMap(MapLiteral n) {
67 for (var v in n.values) {
68 v.key.accept(this);
69 v.value.accept(this);
70 }
71 handleMap(n);
72 }
73
74 visitOpaqueOp(OpaqueOp n) {
75 n.exp.accept(this);
76 handleOpaqueOp(n);
77 }
78
79 visitUnary(Unary n) {
80 n.exp.accept(this);
81 handleUnary(n);
82 }
83 }
84
85 /// Plain non-recursive visitor.
86 class Visitor {
87 // References
88
89 handleAs(As n) {}
90 handleBinary(Binary n) {}
91
92 // Literals
93
94 handleBool(BoolLiteral n) {}
95 handleConditional(Conditional n) {}
96 handleConstCreation(ConstCreation n) {}
97 handleDouble(DoubleLiteral n) {}
98 handleIdentical(Identical n) {}
99 handleInt(IntLiteral n) {}
100 handleInvalid(Invalid n) {}
101 handleIs(Is n) {}
102
103 handleList(ListLiteral n) {}
104 handleLoad(Load n) {}
105 handleMap(MapLiteral n) {}
106 handleNull(NullLiteral n) {}
107 handleOpaque(Opaque n) {}
108 handleOpaqueOp(OpaqueOp n) {}
109 handleRef(Ref n) {}
110 handleString(StringLiteral n) {}
111
112 // Compound expressions
113
114 handleSymbol(SymbolLiteral n) {}
115 handleUnary(Unary n) {}
116 visitAs(As n) => handleAs(n);
117 visitBinary(Binary n) => handleBinary(n);
118 visitBool(BoolLiteral n) => handleBool(n);
119 visitConditional(Conditional n) => handleConditional(n);
120 visitConstCreation(ConstCreation n) => handleConstCreation(n);
121 visitDouble(DoubleLiteral n) => handleDouble(n);
122
123 visitIdentical(Identical n) => handleIdentical(n);
124 visitInt(IntLiteral n) => handleInt(n);
125 visitInvalid(Invalid n) => handleInvalid(n);
126 visitIs(Is n) => handleIs(n);
127 visitList(ListLiteral n) => handleList(n);
128 visitLoad(Load n) => handleLoad(n);
129 visitMap(MapLiteral n) => handleMap(n);
130 visitNull(NullLiteral n) => handleNull(n);
131
132 // Non-traditional expressions.
133
134 visitOpaque(Opaque n) => handleOpaque(n);
135 visitOpaqueOp(OpaqueOp n) => handleOpaqueOp(n);
136 visitRef(Ref n) => handleRef(n);
137
138 visitString(StringLiteral n) => handleString(n);
139 visitSymbol(SymbolLiteral n) => handleSymbol(n);
140 visitUnary(Unary n) => handleUnary(n);
141 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/summary/fasta/summary_builder.dart ('k') | pkg/analyzer/test/src/summary/summarize_fasta_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698