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

Side by Side Diff: frog/tree.g.dart

Issue 10548047: Remove frog from the repository. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Move test and update apidoc.gyp. Created 8 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 | Annotate | Revision Log
« no previous file with comments | « frog/tree.dart ('k') | frog/type.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2011, 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 // Generated by scripts/tree_gen.py.
5
6 class DirectiveDefinition extends Definition {
7 Identifier name;
8 List<ArgumentNode> arguments;
9
10 DirectiveDefinition(this.name, this.arguments, SourceSpan span): super(span) { }
11
12 visit(TreeVisitor visitor) => visitor.visitDirectiveDefinition(this);
13 }
14
15 class TypeDefinition extends Definition {
16 bool isClass;
17 Identifier name;
18 List<ParameterType> typeParameters;
19 List<TypeReference> extendsTypes;
20 List<TypeReference> implementsTypes;
21 NativeType nativeType;
22 DefaultTypeReference defaultType;
23 List<Statement> body;
24
25 TypeDefinition(this.isClass, this.name, this.typeParameters, this.extendsTypes , this.implementsTypes, this.nativeType, this.defaultType, this.body, SourceSpan span): super(span) {}
26
27 visit(TreeVisitor visitor) => visitor.visitTypeDefinition(this);
28 }
29
30 class FunctionTypeDefinition extends Definition {
31 FunctionDefinition func;
32 List<ParameterType> typeParameters;
33
34 FunctionTypeDefinition(this.func, this.typeParameters, SourceSpan span): super (span) {}
35
36 visit(TreeVisitor visitor) => visitor.visitFunctionTypeDefinition(this);
37 }
38
39 class VariableDefinition extends Definition {
40 List<Token> modifiers;
41 TypeReference type;
42 List<Identifier> names;
43 List<Expression> values;
44
45 VariableDefinition(this.modifiers, this.type, this.names, this.values, SourceS pan span): super(span) {}
46
47 visit(TreeVisitor visitor) => visitor.visitVariableDefinition(this);
48 }
49
50 class FunctionDefinition extends Definition {
51 List<Token> modifiers;
52 TypeReference returnType;
53 Identifier name;
54 List<FormalNode> formals;
55 List<Expression> initializers;
56 String nativeBody;
57 Statement body;
58
59 FunctionDefinition(this.modifiers, this.returnType, this.name, this.formals, t his.initializers, this.nativeBody, this.body, SourceSpan span): super(span) {}
60
61 visit(TreeVisitor visitor) => visitor.visitFunctionDefinition(this);
62 }
63
64 class ReturnStatement extends Statement {
65 Expression value;
66
67 ReturnStatement(this.value, SourceSpan span): super(span) {}
68
69 visit(TreeVisitor visitor) => visitor.visitReturnStatement(this);
70 }
71
72 class ThrowStatement extends Statement {
73 Expression value;
74
75 ThrowStatement(this.value, SourceSpan span): super(span) {}
76
77 visit(TreeVisitor visitor) => visitor.visitThrowStatement(this);
78 }
79
80 class AssertStatement extends Statement {
81 Expression test;
82
83 AssertStatement(this.test, SourceSpan span): super(span) {}
84
85 visit(TreeVisitor visitor) => visitor.visitAssertStatement(this);
86 }
87
88 class BreakStatement extends Statement {
89 Identifier label;
90
91 BreakStatement(this.label, SourceSpan span): super(span) {}
92
93 visit(TreeVisitor visitor) => visitor.visitBreakStatement(this);
94 }
95
96 class ContinueStatement extends Statement {
97 Identifier label;
98
99 ContinueStatement(this.label, SourceSpan span): super(span) {}
100
101 visit(TreeVisitor visitor) => visitor.visitContinueStatement(this);
102 }
103
104 class IfStatement extends Statement {
105 Expression test;
106 Statement trueBranch;
107 Statement falseBranch;
108
109 IfStatement(this.test, this.trueBranch, this.falseBranch, SourceSpan span): su per(span) {}
110
111 visit(TreeVisitor visitor) => visitor.visitIfStatement(this);
112 }
113
114 class WhileStatement extends Statement {
115 Expression test;
116 Statement body;
117
118 WhileStatement(this.test, this.body, SourceSpan span): super(span) {}
119
120 visit(TreeVisitor visitor) => visitor.visitWhileStatement(this);
121 }
122
123 class DoStatement extends Statement {
124 Statement body;
125 Expression test;
126
127 DoStatement(this.body, this.test, SourceSpan span): super(span) {}
128
129 visit(TreeVisitor visitor) => visitor.visitDoStatement(this);
130 }
131
132 class ForStatement extends Statement {
133 Statement init;
134 Expression test;
135 List<Expression> step;
136 Statement body;
137
138 ForStatement(this.init, this.test, this.step, this.body, SourceSpan span): sup er(span) {}
139
140 visit(TreeVisitor visitor) => visitor.visitForStatement(this);
141 }
142
143 class ForInStatement extends Statement {
144 DeclaredIdentifier item;
145 Expression list;
146 Statement body;
147
148 ForInStatement(this.item, this.list, this.body, SourceSpan span): super(span) {}
149
150 visit(TreeVisitor visitor) => visitor.visitForInStatement(this);
151 }
152
153 class TryStatement extends Statement {
154 Statement body;
155 List<CatchNode> catches;
156 Statement finallyBlock;
157
158 TryStatement(this.body, this.catches, this.finallyBlock, SourceSpan span): sup er(span) {}
159
160 visit(TreeVisitor visitor) => visitor.visitTryStatement(this);
161 }
162
163 class SwitchStatement extends Statement {
164 Expression test;
165 List<CaseNode> cases;
166
167 SwitchStatement(this.test, this.cases, SourceSpan span): super(span) {}
168
169 visit(TreeVisitor visitor) => visitor.visitSwitchStatement(this);
170 }
171
172 class BlockStatement extends Statement {
173 List<Statement> body;
174
175 BlockStatement(this.body, SourceSpan span): super(span) {}
176
177 visit(TreeVisitor visitor) => visitor.visitBlockStatement(this);
178 }
179
180 class LabeledStatement extends Statement {
181 Identifier name;
182 Statement body;
183
184 LabeledStatement(this.name, this.body, SourceSpan span): super(span) {}
185
186 visit(TreeVisitor visitor) => visitor.visitLabeledStatement(this);
187 }
188
189 class ExpressionStatement extends Statement {
190 Expression body;
191
192 ExpressionStatement(this.body, SourceSpan span): super(span) {}
193
194 visit(TreeVisitor visitor) => visitor.visitExpressionStatement(this);
195 }
196
197 class EmptyStatement extends Statement {
198
199 EmptyStatement(SourceSpan span): super(span) {}
200
201 visit(TreeVisitor visitor) => visitor.visitEmptyStatement(this);
202 }
203
204 class DietStatement extends Statement {
205
206 DietStatement(SourceSpan span): super(span) {}
207
208 visit(TreeVisitor visitor) => visitor.visitDietStatement(this);
209 }
210
211 class LambdaExpression extends Expression {
212 FunctionDefinition func;
213
214 LambdaExpression(this.func, SourceSpan span): super(span) {}
215
216 visit(TreeVisitor visitor) => visitor.visitLambdaExpression(this);
217 }
218
219 class CallExpression extends Expression {
220 Expression target;
221 List<ArgumentNode> arguments;
222
223 CallExpression(this.target, this.arguments, SourceSpan span): super(span) {}
224
225 visit(TreeVisitor visitor) => visitor.visitCallExpression(this);
226 }
227
228 class IndexExpression extends Expression {
229 Expression target;
230 Expression index;
231
232 IndexExpression(this.target, this.index, SourceSpan span): super(span) {}
233
234 visit(TreeVisitor visitor) => visitor.visitIndexExpression(this);
235 }
236
237 class BinaryExpression extends Expression {
238 Token op;
239 Expression x;
240 Expression y;
241
242 BinaryExpression(this.op, this.x, this.y, SourceSpan span): super(span) {}
243
244 visit(TreeVisitor visitor) => visitor.visitBinaryExpression(this);
245 }
246
247 class UnaryExpression extends Expression {
248 Token op;
249 Expression self;
250
251 UnaryExpression(this.op, this.self, SourceSpan span): super(span) {}
252
253 visit(TreeVisitor visitor) => visitor.visitUnaryExpression(this);
254 }
255
256 class PostfixExpression extends Expression {
257 Expression body;
258 Token op;
259
260 PostfixExpression(this.body, this.op, SourceSpan span): super(span) {}
261
262 visit(TreeVisitor visitor) => visitor.visitPostfixExpression(this);
263 }
264
265 class NewExpression extends Expression {
266 bool isConst;
267 TypeReference type;
268 Identifier name;
269 List<ArgumentNode> arguments;
270
271 NewExpression(this.isConst, this.type, this.name, this.arguments, SourceSpan s pan): super(span) {}
272
273 visit(TreeVisitor visitor) => visitor.visitNewExpression(this);
274 }
275
276 class ListExpression extends Expression {
277 bool isConst;
278 TypeReference itemType;
279 List<Expression> values;
280
281 ListExpression(this.isConst, this.itemType, this.values, SourceSpan span): sup er(span) {}
282
283 visit(TreeVisitor visitor) => visitor.visitListExpression(this);
284 }
285
286 class MapExpression extends Expression {
287 bool isConst;
288 TypeReference keyType;
289 TypeReference valueType;
290 List<Expression> items;
291
292 MapExpression(this.isConst, this.keyType, this.valueType, this.items, SourceSp an span): super(span) {}
293
294 visit(TreeVisitor visitor) => visitor.visitMapExpression(this);
295 }
296
297 class ConditionalExpression extends Expression {
298 Expression test;
299 Expression trueBranch;
300 Expression falseBranch;
301
302 ConditionalExpression(this.test, this.trueBranch, this.falseBranch, SourceSpan span): super(span) {}
303
304 visit(TreeVisitor visitor) => visitor.visitConditionalExpression(this);
305 }
306
307 class IsExpression extends Expression {
308 bool isTrue;
309 Expression x;
310 TypeReference type;
311
312 IsExpression(this.isTrue, this.x, this.type, SourceSpan span): super(span) {}
313
314 visit(TreeVisitor visitor) => visitor.visitIsExpression(this);
315 }
316
317 class ParenExpression extends Expression {
318 Expression body;
319
320 ParenExpression(this.body, SourceSpan span): super(span) {}
321
322 visit(TreeVisitor visitor) => visitor.visitParenExpression(this);
323 }
324
325 class AwaitExpression extends Expression {
326 Expression body;
327
328 AwaitExpression(this.body, SourceSpan span): super(span) {}
329
330 visit(TreeVisitor visitor) => visitor.visitAwaitExpression(this);
331 }
332
333 class DotExpression extends Expression {
334 Expression self;
335 Identifier name;
336
337 DotExpression(this.self, this.name, SourceSpan span): super(span) {}
338
339 visit(TreeVisitor visitor) => visitor.visitDotExpression(this);
340 }
341
342 class VarExpression extends Expression {
343 Identifier name;
344
345 VarExpression(this.name, SourceSpan span): super(span) {}
346
347 visit(TreeVisitor visitor) => visitor.visitVarExpression(this);
348 }
349
350 class ThisExpression extends Expression {
351
352 ThisExpression(SourceSpan span): super(span) {}
353
354 visit(TreeVisitor visitor) => visitor.visitThisExpression(this);
355 }
356
357 class SuperExpression extends Expression {
358
359 SuperExpression(SourceSpan span): super(span) {}
360
361 visit(TreeVisitor visitor) => visitor.visitSuperExpression(this);
362 }
363
364 class LiteralExpression extends Expression {
365 Value value;
366
367 LiteralExpression(this.value, SourceSpan span): super(span) {}
368
369 visit(TreeVisitor visitor) => visitor.visitLiteralExpression(this);
370 }
371
372 class StringConcatExpression extends Expression {
373 List<Expression> strings;
374
375 StringConcatExpression(this.strings, SourceSpan span): super(span) {}
376
377 visit(TreeVisitor visitor) => visitor.visitStringConcatExpression(this);
378 }
379
380 class StringInterpExpression extends Expression {
381 List<Expression> pieces;
382
383 StringInterpExpression(this.pieces, SourceSpan span): super(span) {}
384
385 visit(TreeVisitor visitor) => visitor.visitStringInterpExpression(this);
386 }
387
388 class SimpleTypeReference extends TypeReference {
389 Type type;
390
391 SimpleTypeReference(this.type, SourceSpan span): super(span) {}
392
393 visit(TreeVisitor visitor) => visitor.visitSimpleTypeReference(this);
394 }
395
396 class NameTypeReference extends TypeReference {
397 bool isFinal;
398 Identifier name;
399 List<Identifier> names;
400
401 NameTypeReference(this.isFinal, this.name, this.names, SourceSpan span): super (span) {}
402
403 visit(TreeVisitor visitor) => visitor.visitNameTypeReference(this);
404 }
405
406 class GenericTypeReference extends TypeReference {
407 TypeReference baseType;
408 List<TypeReference> typeArguments;
409 int depth;
410
411 GenericTypeReference(this.baseType, this.typeArguments, this.depth, SourceSpan span): super(span) {}
412
413 visit(TreeVisitor visitor) => visitor.visitGenericTypeReference(this);
414 }
415
416 class FunctionTypeReference extends TypeReference {
417 bool isFinal;
418 FunctionDefinition func;
419
420 FunctionTypeReference(this.isFinal, this.func, SourceSpan span): super(span) { }
421
422 visit(TreeVisitor visitor) => visitor.visitFunctionTypeReference(this);
423 }
424
425 class DefaultTypeReference extends TypeReference {
426 bool oldFactory;
427 NameTypeReference baseType;
428 List<ParameterType> typeParameters;
429
430 DefaultTypeReference(this.oldFactory, this.baseType, this.typeParameters, Sour ceSpan span): super(span) {}
431
432 visit(TreeVisitor visitor) => visitor.visitDefaultTypeReference(this);
433 }
434
435 class ArgumentNode extends Node {
436 Identifier label;
437 Expression value;
438
439 ArgumentNode(this.label, this.value, SourceSpan span): super(span) {}
440
441 visit(TreeVisitor visitor) => visitor.visitArgumentNode(this);
442 }
443
444 class FormalNode extends Node {
445 bool isThis;
446 bool isRest;
447 TypeReference type;
448 Identifier name;
449 Expression value;
450
451 FormalNode(this.isThis, this.isRest, this.type, this.name, this.value, SourceS pan span): super(span) {}
452
453 visit(TreeVisitor visitor) => visitor.visitFormalNode(this);
454 }
455
456 class CatchNode extends Node {
457 DeclaredIdentifier exception;
458 DeclaredIdentifier trace;
459 Statement body;
460
461 CatchNode(this.exception, this.trace, this.body, SourceSpan span): super(span) {}
462
463 visit(TreeVisitor visitor) => visitor.visitCatchNode(this);
464 }
465
466 class CaseNode extends Node {
467 Identifier label;
468 List<Expression> cases;
469 List<Statement> statements;
470
471 CaseNode(this.label, this.cases, this.statements, SourceSpan span): super(span ) {}
472
473 visit(TreeVisitor visitor) => visitor.visitCaseNode(this);
474 }
475
476 class TypeParameter extends Node {
477 Identifier name;
478 TypeReference extendsType;
479
480 TypeParameter(this.name, this.extendsType, SourceSpan span): super(span) {}
481
482 visit(TreeVisitor visitor) => visitor.visitTypeParameter(this);
483 }
484
485 class Identifier extends Node {
486 String name;
487
488 Identifier(this.name, SourceSpan span): super(span) {}
489
490 visit(TreeVisitor visitor) => visitor.visitIdentifier(this);
491 }
492
493 class DeclaredIdentifier extends Expression {
494 TypeReference type;
495 Identifier name;
496 bool isFinal;
497
498 DeclaredIdentifier(this.type, this.name, this.isFinal, SourceSpan span): super (span) {}
499
500 visit(TreeVisitor visitor) => visitor.visitDeclaredIdentifier(this);
501 }
502
503
504 interface TreeVisitor {
505 visitDirectiveDefinition(DirectiveDefinition node);
506
507 visitTypeDefinition(TypeDefinition node);
508
509 visitFunctionTypeDefinition(FunctionTypeDefinition node);
510
511 visitVariableDefinition(VariableDefinition node);
512
513 visitFunctionDefinition(FunctionDefinition node);
514
515 visitReturnStatement(ReturnStatement node);
516
517 visitThrowStatement(ThrowStatement node);
518
519 visitAssertStatement(AssertStatement node);
520
521 visitBreakStatement(BreakStatement node);
522
523 visitContinueStatement(ContinueStatement node);
524
525 visitIfStatement(IfStatement node);
526
527 visitWhileStatement(WhileStatement node);
528
529 visitDoStatement(DoStatement node);
530
531 visitForStatement(ForStatement node);
532
533 visitForInStatement(ForInStatement node);
534
535 visitTryStatement(TryStatement node);
536
537 visitSwitchStatement(SwitchStatement node);
538
539 visitBlockStatement(BlockStatement node);
540
541 visitLabeledStatement(LabeledStatement node);
542
543 visitExpressionStatement(ExpressionStatement node);
544
545 visitEmptyStatement(EmptyStatement node);
546
547 visitDietStatement(DietStatement node);
548
549 visitLambdaExpression(LambdaExpression node);
550
551 visitCallExpression(CallExpression node);
552
553 visitIndexExpression(IndexExpression node);
554
555 visitBinaryExpression(BinaryExpression node);
556
557 visitUnaryExpression(UnaryExpression node);
558
559 visitPostfixExpression(PostfixExpression node);
560
561 visitNewExpression(NewExpression node);
562
563 visitListExpression(ListExpression node);
564
565 visitMapExpression(MapExpression node);
566
567 visitConditionalExpression(ConditionalExpression node);
568
569 visitIsExpression(IsExpression node);
570
571 visitParenExpression(ParenExpression node);
572
573 visitAwaitExpression(AwaitExpression node);
574
575 visitDotExpression(DotExpression node);
576
577 visitVarExpression(VarExpression node);
578
579 visitThisExpression(ThisExpression node);
580
581 visitSuperExpression(SuperExpression node);
582
583 visitLiteralExpression(LiteralExpression node);
584
585 visitStringConcatExpression(StringConcatExpression node);
586
587 visitStringInterpExpression(StringInterpExpression node);
588
589 visitSimpleTypeReference(SimpleTypeReference node);
590
591 visitNameTypeReference(NameTypeReference node);
592
593 visitGenericTypeReference(GenericTypeReference node);
594
595 visitFunctionTypeReference(FunctionTypeReference node);
596
597 visitDefaultTypeReference(DefaultTypeReference node);
598
599 visitArgumentNode(ArgumentNode node);
600
601 visitFormalNode(FormalNode node);
602
603 visitCatchNode(CatchNode node);
604
605 visitCaseNode(CaseNode node);
606
607 visitTypeParameter(TypeParameter node);
608
609 visitIdentifier(Identifier node);
610
611 visitDeclaredIdentifier(DeclaredIdentifier node);
612
613 }
614
615 class TreePrinter implements TreeVisitor {
616 var output;
617 TreePrinter(this.output) { output.printer = this; }
618 void visitDirectiveDefinition(DirectiveDefinition node) {
619 output.heading('DirectiveDefinition', node.span);
620 output.writeNode('name', node.name);
621 output.writeNodeList('arguments', node.arguments);
622 }
623
624 void visitTypeDefinition(TypeDefinition node) {
625 output.heading('TypeDefinition', node.span);
626 output.writeValue('isClass', node.isClass);
627 output.writeNode('name', node.name);
628 output.writeList('typeParameters', node.typeParameters);
629 output.writeNodeList('extendsTypes', node.extendsTypes);
630 output.writeNodeList('implementsTypes', node.implementsTypes);
631 output.writeValue('nativeType', node.nativeType);
632 output.writeNode('defaultType', node.defaultType);
633 output.writeNodeList('body', node.body);
634 }
635
636 void visitFunctionTypeDefinition(FunctionTypeDefinition node) {
637 output.heading('FunctionTypeDefinition', node.span);
638 output.writeNode('func', node.func);
639 output.writeList('typeParameters', node.typeParameters);
640 }
641
642 void visitVariableDefinition(VariableDefinition node) {
643 output.heading('VariableDefinition', node.span);
644 output.writeList('modifiers', node.modifiers);
645 output.writeNode('type', node.type);
646 output.writeNodeList('names', node.names);
647 output.writeNodeList('values', node.values);
648 }
649
650 void visitFunctionDefinition(FunctionDefinition node) {
651 output.heading('FunctionDefinition', node.span);
652 output.writeList('modifiers', node.modifiers);
653 output.writeNode('returnType', node.returnType);
654 output.writeNode('name', node.name);
655 output.writeNodeList('formals', node.formals);
656 output.writeNodeList('initializers', node.initializers);
657 output.writeValue('nativeBody', node.nativeBody);
658 output.writeNode('body', node.body);
659 }
660
661 void visitReturnStatement(ReturnStatement node) {
662 output.heading('ReturnStatement', node.span);
663 output.writeNode('value', node.value);
664 }
665
666 void visitThrowStatement(ThrowStatement node) {
667 output.heading('ThrowStatement', node.span);
668 output.writeNode('value', node.value);
669 }
670
671 void visitAssertStatement(AssertStatement node) {
672 output.heading('AssertStatement', node.span);
673 output.writeNode('test', node.test);
674 }
675
676 void visitBreakStatement(BreakStatement node) {
677 output.heading('BreakStatement(' + output.toValue(node.label) + ")", node.sp an);
678 }
679
680 void visitContinueStatement(ContinueStatement node) {
681 output.heading('ContinueStatement(' + output.toValue(node.label) + ")", node .span);
682 }
683
684 void visitIfStatement(IfStatement node) {
685 output.heading('IfStatement', node.span);
686 output.writeNode('test', node.test);
687 output.writeNode('trueBranch', node.trueBranch);
688 output.writeNode('falseBranch', node.falseBranch);
689 }
690
691 void visitWhileStatement(WhileStatement node) {
692 output.heading('WhileStatement', node.span);
693 output.writeNode('test', node.test);
694 output.writeNode('body', node.body);
695 }
696
697 void visitDoStatement(DoStatement node) {
698 output.heading('DoStatement', node.span);
699 output.writeNode('body', node.body);
700 output.writeNode('test', node.test);
701 }
702
703 void visitForStatement(ForStatement node) {
704 output.heading('ForStatement', node.span);
705 output.writeNode('init', node.init);
706 output.writeNode('test', node.test);
707 output.writeNodeList('step', node.step);
708 output.writeNode('body', node.body);
709 }
710
711 void visitForInStatement(ForInStatement node) {
712 output.heading('ForInStatement', node.span);
713 output.writeNode('item', node.item);
714 output.writeNode('list', node.list);
715 output.writeNode('body', node.body);
716 }
717
718 void visitTryStatement(TryStatement node) {
719 output.heading('TryStatement', node.span);
720 output.writeNode('body', node.body);
721 output.writeNodeList('catches', node.catches);
722 output.writeNode('finallyBlock', node.finallyBlock);
723 }
724
725 void visitSwitchStatement(SwitchStatement node) {
726 output.heading('SwitchStatement', node.span);
727 output.writeNode('test', node.test);
728 output.writeNodeList('cases', node.cases);
729 }
730
731 void visitBlockStatement(BlockStatement node) {
732 output.heading('BlockStatement', node.span);
733 output.writeNodeList('body', node.body);
734 }
735
736 void visitLabeledStatement(LabeledStatement node) {
737 output.heading('LabeledStatement', node.span);
738 output.writeNode('name', node.name);
739 output.writeNode('body', node.body);
740 }
741
742 void visitExpressionStatement(ExpressionStatement node) {
743 output.heading('ExpressionStatement', node.span);
744 output.writeNode('body', node.body);
745 }
746
747 void visitEmptyStatement(EmptyStatement node) {
748 output.heading('EmptyStatement', node.span);
749 }
750
751 void visitDietStatement(DietStatement node) {
752 output.heading('DietStatement', node.span);
753 }
754
755 void visitLambdaExpression(LambdaExpression node) {
756 output.heading('LambdaExpression', node.span);
757 output.writeNode('func', node.func);
758 }
759
760 void visitCallExpression(CallExpression node) {
761 output.heading('CallExpression', node.span);
762 output.writeNode('target', node.target);
763 output.writeNodeList('arguments', node.arguments);
764 }
765
766 void visitIndexExpression(IndexExpression node) {
767 output.heading('IndexExpression', node.span);
768 output.writeNode('target', node.target);
769 output.writeNode('index', node.index);
770 }
771
772 void visitBinaryExpression(BinaryExpression node) {
773 output.heading('BinaryExpression', node.span);
774 output.writeValue('op', node.op);
775 output.writeNode('x', node.x);
776 output.writeNode('y', node.y);
777 }
778
779 void visitUnaryExpression(UnaryExpression node) {
780 output.heading('UnaryExpression', node.span);
781 output.writeValue('op', node.op);
782 output.writeNode('self', node.self);
783 }
784
785 void visitPostfixExpression(PostfixExpression node) {
786 output.heading('PostfixExpression', node.span);
787 output.writeNode('body', node.body);
788 output.writeValue('op', node.op);
789 }
790
791 void visitNewExpression(NewExpression node) {
792 output.heading('NewExpression', node.span);
793 output.writeValue('isConst', node.isConst);
794 output.writeNode('type', node.type);
795 output.writeNode('name', node.name);
796 output.writeNodeList('arguments', node.arguments);
797 }
798
799 void visitListExpression(ListExpression node) {
800 output.heading('ListExpression', node.span);
801 output.writeValue('isConst', node.isConst);
802 output.writeNode('itemType', node.itemType);
803 output.writeNodeList('values', node.values);
804 }
805
806 void visitMapExpression(MapExpression node) {
807 output.heading('MapExpression', node.span);
808 output.writeValue('isConst', node.isConst);
809 output.writeNode('keyType', node.keyType);
810 output.writeNode('valueType', node.valueType);
811 output.writeNodeList('items', node.items);
812 }
813
814 void visitConditionalExpression(ConditionalExpression node) {
815 output.heading('ConditionalExpression', node.span);
816 output.writeNode('test', node.test);
817 output.writeNode('trueBranch', node.trueBranch);
818 output.writeNode('falseBranch', node.falseBranch);
819 }
820
821 void visitIsExpression(IsExpression node) {
822 output.heading('IsExpression', node.span);
823 output.writeValue('isTrue', node.isTrue);
824 output.writeNode('x', node.x);
825 output.writeNode('type', node.type);
826 }
827
828 void visitParenExpression(ParenExpression node) {
829 output.heading('ParenExpression', node.span);
830 output.writeNode('body', node.body);
831 }
832
833 void visitAwaitExpression(AwaitExpression node) {
834 output.heading('AwaitExpression', node.span);
835 output.writeNode('body', node.body);
836 }
837
838 void visitDotExpression(DotExpression node) {
839 output.heading('DotExpression', node.span);
840 output.writeNode('self', node.self);
841 output.writeNode('name', node.name);
842 }
843
844 void visitVarExpression(VarExpression node) {
845 output.heading('VarExpression(' + output.toValue(node.name) + ")", node.span );
846 }
847
848 void visitThisExpression(ThisExpression node) {
849 output.heading('ThisExpression', node.span);
850 }
851
852 void visitSuperExpression(SuperExpression node) {
853 output.heading('SuperExpression', node.span);
854 }
855
856 void visitLiteralExpression(LiteralExpression node) {
857 output.heading('LiteralExpression(' + output.toValue(node.value) + ")", node .span);
858 }
859
860 void visitStringConcatExpression(StringConcatExpression node) {
861 output.heading('StringConcatExpression', node.span);
862 output.writeNodeList('strings', node.strings);
863 }
864
865 void visitStringInterpExpression(StringInterpExpression node) {
866 output.heading('StringInterpExpression', node.span);
867 output.writeNodeList('pieces', node.pieces);
868 }
869
870 void visitSimpleTypeReference(SimpleTypeReference node) {
871 output.heading('SimpleTypeReference(' + output.toValue(node.type) + ")", nod e.span);
872 }
873
874 void visitNameTypeReference(NameTypeReference node) {
875 output.heading('NameTypeReference', node.span);
876 output.writeValue('isFinal', node.isFinal);
877 output.writeNode('name', node.name);
878 output.writeNodeList('names', node.names);
879 }
880
881 void visitGenericTypeReference(GenericTypeReference node) {
882 output.heading('GenericTypeReference', node.span);
883 output.writeNode('baseType', node.baseType);
884 output.writeNodeList('typeArguments', node.typeArguments);
885 output.writeValue('depth', node.depth);
886 }
887
888 void visitFunctionTypeReference(FunctionTypeReference node) {
889 output.heading('FunctionTypeReference', node.span);
890 output.writeValue('isFinal', node.isFinal);
891 output.writeNode('func', node.func);
892 }
893
894 void visitDefaultTypeReference(DefaultTypeReference node) {
895 output.heading('DefaultTypeReference', node.span);
896 output.writeValue('oldFactory', node.oldFactory);
897 output.writeNode('baseType', node.baseType);
898 output.writeList('typeParameters', node.typeParameters);
899 }
900
901 void visitArgumentNode(ArgumentNode node) {
902 output.heading('ArgumentNode', node.span);
903 output.writeNode('label', node.label);
904 output.writeNode('value', node.value);
905 }
906
907 void visitFormalNode(FormalNode node) {
908 output.heading('FormalNode', node.span);
909 output.writeValue('isThis', node.isThis);
910 output.writeValue('isRest', node.isRest);
911 output.writeNode('type', node.type);
912 output.writeNode('name', node.name);
913 output.writeNode('value', node.value);
914 }
915
916 void visitCatchNode(CatchNode node) {
917 output.heading('CatchNode', node.span);
918 output.writeNode('exception', node.exception);
919 output.writeNode('trace', node.trace);
920 output.writeNode('body', node.body);
921 }
922
923 void visitCaseNode(CaseNode node) {
924 output.heading('CaseNode', node.span);
925 output.writeNode('label', node.label);
926 output.writeNodeList('cases', node.cases);
927 output.writeNodeList('statements', node.statements);
928 }
929
930 void visitTypeParameter(TypeParameter node) {
931 output.heading('TypeParameter', node.span);
932 output.writeNode('name', node.name);
933 output.writeNode('extendsType', node.extendsType);
934 }
935
936 void visitIdentifier(Identifier node) {
937 output.heading('Identifier(' + output.toValue(node.name) + ")", node.span);
938 }
939
940 void visitDeclaredIdentifier(DeclaredIdentifier node) {
941 output.heading('DeclaredIdentifier', node.span);
942 output.writeNode('type', node.type);
943 output.writeNode('name', node.name);
944 output.writeValue('isFinal', node.isFinal);
945 }
946
947 }
OLDNEW
« no previous file with comments | « frog/tree.dart ('k') | frog/type.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698