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 import 'dart:collection' show IterableMixin; | 5 import 'dart:collection' show IterableMixin; |
6 | 6 |
7 import '../common.dart'; | 7 import '../common.dart'; |
8 import '../elements/elements.dart' show MetadataAnnotation; | 8 import '../elements/elements.dart' show MetadataAnnotation; |
9 import '../resolution/secret_tree_element.dart' | 9 import '../resolution/secret_tree_element.dart' |
10 show NullTreeElementMixin, StoredTreeElementMixin; | 10 show NullTreeElementMixin, StoredTreeElementMixin; |
(...skipping 1720 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1731 accept1(Visitor1 visitor, arg) => visitor.visitRethrow(this, arg); | 1731 accept1(Visitor1 visitor, arg) => visitor.visitRethrow(this, arg); |
1732 | 1732 |
1733 visitChildren(Visitor visitor) {} | 1733 visitChildren(Visitor visitor) {} |
1734 | 1734 |
1735 visitChildren1(Visitor1 visitor, arg) {} | 1735 visitChildren1(Visitor1 visitor, arg) {} |
1736 | 1736 |
1737 Token getBeginToken() => throwToken; | 1737 Token getBeginToken() => throwToken; |
1738 Token getEndToken() => endToken; | 1738 Token getEndToken() => endToken; |
1739 } | 1739 } |
1740 | 1740 |
1741 abstract class TypeAnnotation extends Node { | 1741 abstract class TypeAnnotation extends Node {} |
1742 } | |
1743 | 1742 |
1744 class NominalTypeAnnotation extends TypeAnnotation { | 1743 class NominalTypeAnnotation extends TypeAnnotation { |
1745 final Expression typeName; | 1744 final Expression typeName; |
1746 final NodeList typeArguments; | 1745 final NodeList typeArguments; |
1747 | 1746 |
1748 NominalTypeAnnotation(this.typeName, this.typeArguments); | 1747 NominalTypeAnnotation(this.typeName, this.typeArguments); |
1749 | 1748 |
1750 NominalTypeAnnotation asNominalTypeAnnotation() => this; | 1749 NominalTypeAnnotation asNominalTypeAnnotation() => this; |
1751 | 1750 |
1752 accept(Visitor visitor) => visitor.visitNominalTypeAnnotation(this); | 1751 accept(Visitor visitor) => visitor.visitNominalTypeAnnotation(this); |
(...skipping 1134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2887 | 2886 |
2888 /// Parameters to the template. | 2887 /// Parameters to the template. |
2889 /// | 2888 /// |
2890 /// For example, `T` and `S` are template parameters in the following | 2889 /// For example, `T` and `S` are template parameters in the following |
2891 /// typedef: `typedef F<S, T> = Function(S, T)`, or, in the inlined syntax, | 2890 /// typedef: `typedef F<S, T> = Function(S, T)`, or, in the inlined syntax, |
2892 /// `typedef F<S, T>(S x, T y)`. | 2891 /// `typedef F<S, T>(S x, T y)`. |
2893 final NodeList templateParameters; | 2892 final NodeList templateParameters; |
2894 | 2893 |
2895 final TypeAnnotation returnType; | 2894 final TypeAnnotation returnType; |
2896 final Identifier name; | 2895 final Identifier name; |
| 2896 |
2897 /// The generic type parameters to the function type. | 2897 /// The generic type parameters to the function type. |
2898 /// | 2898 /// |
2899 /// For example `A` and `B` (but not `T`) are type parameters in | 2899 /// For example `A` and `B` (but not `T`) are type parameters in |
2900 /// `typedef F<T> = Function<A, B>(A, B, T)`; | 2900 /// `typedef F<T> = Function<A, B>(A, B, T)`; |
2901 final NodeList typeParameters; | 2901 final NodeList typeParameters; |
2902 final NodeList formals; | 2902 final NodeList formals; |
2903 | 2903 |
2904 final Token typedefKeyword; | 2904 final Token typedefKeyword; |
2905 final Token endToken; | 2905 final Token endToken; |
2906 | 2906 |
2907 Typedef(this.isGeneralizedTypeAlias, this.templateParameters, this.returnType, | 2907 Typedef( |
2908 this.name, this.typeParameters, this.formals, this.typedefKeyword, | 2908 this.isGeneralizedTypeAlias, |
| 2909 this.templateParameters, |
| 2910 this.returnType, |
| 2911 this.name, |
| 2912 this.typeParameters, |
| 2913 this.formals, |
| 2914 this.typedefKeyword, |
2909 this.endToken); | 2915 this.endToken); |
2910 | 2916 |
2911 Typedef asTypedef() => this; | 2917 Typedef asTypedef() => this; |
2912 | 2918 |
2913 accept(Visitor visitor) => visitor.visitTypedef(this); | 2919 accept(Visitor visitor) => visitor.visitTypedef(this); |
2914 | 2920 |
2915 accept1(Visitor1 visitor, arg) => visitor.visitTypedef(this, arg); | 2921 accept1(Visitor1 visitor, arg) => visitor.visitTypedef(this, arg); |
2916 | 2922 |
2917 visitChildren(Visitor visitor) { | 2923 visitChildren(Visitor visitor) { |
2918 if (templateParameters != null) templateParameters.accept(visitor); | 2924 if (templateParameters != null) templateParameters.accept(visitor); |
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3217 get metadata => null; | 3223 get metadata => null; |
3218 get type => null; | 3224 get type => null; |
3219 | 3225 |
3220 // Typedef. | 3226 // Typedef. |
3221 get isGeneralizedTypeAlias => null; | 3227 get isGeneralizedTypeAlias => null; |
3222 get templateParameters => null; | 3228 get templateParameters => null; |
3223 get typeParameters => null; | 3229 get typeParameters => null; |
3224 get formals => null; | 3230 get formals => null; |
3225 get typedefKeyword => null; | 3231 get typedefKeyword => null; |
3226 } | 3232 } |
OLD | NEW |