Index: pkg/fasta/lib/src/builder/type_declaration_builder.dart |
diff --git a/pkg/fasta/lib/src/builder/type_declaration_builder.dart b/pkg/fasta/lib/src/builder/type_declaration_builder.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b3948c9e98016ec12e539ef47d1663974edcdb83 |
--- /dev/null |
+++ b/pkg/fasta/lib/src/builder/type_declaration_builder.dart |
@@ -0,0 +1,34 @@ |
+// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+library fasta.type_declaration_builder; |
+ |
+import 'builder.dart' show |
+ Builder, |
+ MetadataBuilder, |
+ ModifierBuilder, |
+ TypeBuilder; |
+ |
+abstract class TypeDeclarationBuilder<T extends TypeBuilder, R> |
+ extends ModifierBuilder { |
+ final List<MetadataBuilder> metadata; |
+ |
+ final int modifiers; |
+ |
+ final String name; |
+ |
+ final List<T> types; |
+ |
+ Builder parent; |
+ |
+ TypeDeclarationBuilder(this.metadata, this.modifiers, this.name, this.types, |
+ this.parent); |
+ |
+ bool get isTypeDeclaration => true; |
+ |
+ R buildType(List<T> arguments); |
+ |
+ /// [arguments] have already been built. |
+ R buildTypesWithBuiltArguments(List<R> arguments); |
+} |