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 library visitor; | 5 library visitor; |
6 | 6 |
7 import 'elements.dart'; | 7 import 'elements.dart'; |
8 import '../closure.dart' | 8 import '../closure.dart' |
9 show BoxFieldElement, | 9 show BoxFieldElement, ClosureClassElement, ClosureFieldElement; |
10 ClosureClassElement, | |
11 ClosureFieldElement; | |
12 | 10 |
13 abstract class ElementVisitor<R, A> { | 11 abstract class ElementVisitor<R, A> { |
14 const ElementVisitor(); | 12 const ElementVisitor(); |
15 | 13 |
16 R visit(Element e, A arg) => e.accept(this, arg); | 14 R visit(Element e, A arg) => e.accept(this, arg); |
17 | 15 |
18 R visitErroneousElement(ErroneousElement e, A arg) => null; | 16 R visitErroneousElement(ErroneousElement e, A arg) => null; |
19 R visitWarnOnUseElement(WarnOnUseElement e, A arg) => null; | 17 R visitWarnOnUseElement(WarnOnUseElement e, A arg) => null; |
20 R visitAmbiguousElement(AmbiguousElement e, A arg) => null; | 18 R visitAmbiguousElement(AmbiguousElement e, A arg) => null; |
21 R visitCompilationUnitElement(CompilationUnitElement e, A arg) => null; | 19 R visitCompilationUnitElement(CompilationUnitElement e, A arg) => null; |
(...skipping 16 matching lines...) Expand all Loading... |
38 R visitConstructorBodyElement(ConstructorBodyElement e, A arg) => null; | 36 R visitConstructorBodyElement(ConstructorBodyElement e, A arg) => null; |
39 R visitClassElement(ClassElement e, A arg) => null; | 37 R visitClassElement(ClassElement e, A arg) => null; |
40 R visitMixinApplicationElement(MixinApplicationElement e, A arg) => null; | 38 R visitMixinApplicationElement(MixinApplicationElement e, A arg) => null; |
41 R visitEnumClassElement(EnumClassElement e, A arg) => null; | 39 R visitEnumClassElement(EnumClassElement e, A arg) => null; |
42 R visitTypeVariableElement(TypeVariableElement e, A arg) => null; | 40 R visitTypeVariableElement(TypeVariableElement e, A arg) => null; |
43 R visitBoxFieldElement(BoxFieldElement e, A arg) => null; | 41 R visitBoxFieldElement(BoxFieldElement e, A arg) => null; |
44 R visitClosureClassElement(ClosureClassElement e, A arg) => null; | 42 R visitClosureClassElement(ClosureClassElement e, A arg) => null; |
45 R visitClosureFieldElement(ClosureFieldElement e, A arg) => null; | 43 R visitClosureFieldElement(ClosureFieldElement e, A arg) => null; |
46 } | 44 } |
47 | 45 |
48 | |
49 abstract class BaseElementVisitor<R, A> extends ElementVisitor<R, A> { | 46 abstract class BaseElementVisitor<R, A> extends ElementVisitor<R, A> { |
50 const BaseElementVisitor(); | 47 const BaseElementVisitor(); |
51 | 48 |
52 R visitElement(Element e, A arg); | 49 R visitElement(Element e, A arg); |
53 | 50 |
54 @override | 51 @override |
55 R visitErroneousElement(ErroneousElement e, A arg) { | 52 R visitErroneousElement(ErroneousElement e, A arg) { |
56 return visitElement(e, arg); | 53 return visitElement(e, arg); |
57 } | 54 } |
58 | 55 |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 | 192 |
196 @override | 193 @override |
197 R visitClosureClassElement(ClosureClassElement e, A arg) { | 194 R visitClosureClassElement(ClosureClassElement e, A arg) { |
198 return visitClassElement(e, arg); | 195 return visitClassElement(e, arg); |
199 } | 196 } |
200 | 197 |
201 @override | 198 @override |
202 R visitClosureFieldElement(ClosureFieldElement e, A arg) { | 199 R visitClosureFieldElement(ClosureFieldElement e, A arg) { |
203 return visitVariableElement(e, arg); | 200 return visitVariableElement(e, arg); |
204 } | 201 } |
205 } | 202 } |
OLD | NEW |