Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit dbd70dd

Browse files
Kevin Millikincommit-bot@chromium.org
authored andcommitted
[cfe] Simplify metadata builders
These builders have some unused generality: they have an unnecessary type parameter and the implementation classes have unused fields. As currently used, they could be replaced with an int but the class is kept in anticipation of adding behavior (compiling annotations). Change-Id: I068cb483a19b3f7eae846c212cbdbb29ca77973d Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103529 Auto-Submit: Kevin Millikin <[email protected]> Reviewed-by: Dmitry Stefantsov <[email protected]> Commit-Queue: Kevin Millikin <[email protected]>
1 parent 9f9f10a commit dbd70dd

File tree

7 files changed

+30
-81
lines changed

7 files changed

+30
-81
lines changed

pkg/front_end/lib/src/fasta/builder/enum_builder.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ abstract class EnumBuilder<T extends TypeBuilder, R>
1212
}
1313

1414
class EnumConstantInfo {
15-
final List<MetadataBuilder<TypeBuilder>> metadata;
15+
final List<MetadataBuilder> metadata;
1616
final String name;
1717
final int charOffset;
1818
final String documentationComment;

pkg/front_end/lib/src/fasta/builder/metadata_builder.dart

Lines changed: 2 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -4,54 +4,8 @@
44

55
library fasta.metadata_builder;
66

7-
import 'builder.dart' show Declaration, TypeBuilder;
8-
9-
import 'constructor_reference_builder.dart' show ConstructorReferenceBuilder;
10-
11-
abstract class MetadataBuilder<T extends TypeBuilder> {
7+
class MetadataBuilder {
128
final int charOffset;
139

14-
MetadataBuilder(Declaration parent, this.charOffset);
15-
16-
factory MetadataBuilder.fromConstructor(
17-
ConstructorReferenceBuilder constructorReference,
18-
List<Object> arguments,
19-
Declaration parent,
20-
int charOffset) {
21-
return new ConstructorMetadataBuilder<T>(
22-
constructorReference, arguments, parent, charOffset);
23-
}
24-
25-
factory MetadataBuilder.fromExpression(
26-
Object expression, String postfix, Declaration parent, int charOffset) {
27-
return new ExpressionMetadataBuilder<T>(
28-
expression, postfix, parent, charOffset);
29-
}
30-
}
31-
32-
class ConstructorMetadataBuilder<T extends TypeBuilder>
33-
extends MetadataBuilder<T> {
34-
final ConstructorReferenceBuilder constructorReference;
35-
36-
final List<Object> arguments;
37-
38-
ConstructorMetadataBuilder(this.constructorReference, this.arguments,
39-
Declaration parent, int charOffset)
40-
: super(parent, charOffset);
41-
}
42-
43-
/// Expression metadata (without arguments).
44-
///
45-
/// Matches this grammar rule:
46-
///
47-
/// '@' qualified (‘.’ identifier)?
48-
class ExpressionMetadataBuilder<T extends TypeBuilder>
49-
extends MetadataBuilder<T> {
50-
final Object qualified;
51-
52-
final String identifier;
53-
54-
ExpressionMetadataBuilder(
55-
this.qualified, this.identifier, Declaration parent, int charOffset)
56-
: super(parent, charOffset);
10+
MetadataBuilder(this.charOffset);
5711
}

pkg/front_end/lib/src/fasta/builder/type_alias_builder.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ abstract class TypeAliasBuilder<T extends TypeBuilder, R>
1919
final List<TypeVariableBuilder<T, R>> typeVariables;
2020

2121
TypeAliasBuilder(
22-
List<MetadataBuilder<T>> metadata,
22+
List<MetadataBuilder> metadata,
2323
String name,
2424
this.typeVariables,
2525
this.type,

pkg/front_end/lib/src/fasta/builder/type_declaration_builder.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import 'builder.dart'
1414

1515
abstract class TypeDeclarationBuilder<T extends TypeBuilder, R>
1616
extends ModifierBuilder {
17-
final List<MetadataBuilder<T>> metadata;
17+
final List<MetadataBuilder> metadata;
1818

1919
final int modifiers;
2020

pkg/front_end/lib/src/fasta/dill/dill_type_alias_builder.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class DillTypeAliasBuilder extends KernelTypeAliasBuilder {
2323
: super(null, typedef.name, null, null, parent, typedef.fileOffset,
2424
typedef);
2525

26-
List<MetadataBuilder<KernelTypeBuilder>> get metadata {
26+
List<MetadataBuilder> get metadata {
2727
return unimplemented("metadata", -1, null);
2828
}
2929

pkg/front_end/lib/src/fasta/kernel/kernel_type_alias_builder.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class KernelTypeAliasBuilder
4444
DartType thisType;
4545

4646
KernelTypeAliasBuilder(
47-
List<MetadataBuilder<KernelTypeBuilder>> metadata,
47+
List<MetadataBuilder> metadata,
4848
String name,
4949
List<TypeVariableBuilder<KernelTypeBuilder, DartType>> typeVariables,
5050
KernelFunctionTypeBuilder type,

pkg/front_end/lib/src/fasta/source/outline_builder.dart

Lines changed: 23 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -143,30 +143,25 @@ class OutlineBuilder extends StackListener {
143143
List<TypeBuilder> typeArguments = pop();
144144
if (arguments == null) {
145145
pop(); // charOffset
146-
Object expression = pop();
147-
push(new MetadataBuilder<KernelTypeBuilder>.fromExpression(
148-
expression, postfix, library, beginToken.charOffset));
146+
pop(); // expression
147+
push(new MetadataBuilder(beginToken.charOffset));
149148
} else {
150149
int charOffset = pop();
151150
Object typeName = pop();
152151
if (typeName is ParserRecovery) {
153152
push(typeName);
154153
} else {
155-
push(new MetadataBuilder<KernelTypeBuilder>.fromConstructor(
156-
library.addConstructorReference(
157-
typeName, typeArguments, postfix, charOffset),
158-
arguments,
159-
library,
160-
beginToken.charOffset));
154+
library.addConstructorReference(
155+
typeName, typeArguments, postfix, charOffset);
156+
push(new MetadataBuilder(beginToken.charOffset));
161157
}
162158
}
163159
}
164160

165161
@override
166162
void endMetadataStar(int count) {
167163
debugEvent("MetadataStar");
168-
push(const FixedNullableList<MetadataBuilder<KernelTypeBuilder>>()
169-
.pop(stack, count) ??
164+
push(const FixedNullableList<MetadataBuilder>().pop(stack, count) ??
170165
NullValue.Metadata);
171166
}
172167

@@ -212,7 +207,7 @@ class OutlineBuilder extends StackListener {
212207
List<Configuration> configurations = pop();
213208
int uriOffset = popCharOffset();
214209
String uri = pop();
215-
List<MetadataBuilder<KernelTypeBuilder>> metadata = pop();
210+
List<MetadataBuilder> metadata = pop();
216211
library.addExport(metadata, uri, configurations, combinators,
217212
exportKeyword.charOffset, uriOffset);
218213
checkEmpty(exportKeyword.charOffset);
@@ -240,7 +235,7 @@ class OutlineBuilder extends StackListener {
240235
List<Configuration> configurations = pop();
241236
int uriOffset = popCharOffset();
242237
String uri = pop(); // For a conditional import, this is the default URI.
243-
List<MetadataBuilder<KernelTypeBuilder>> metadata = pop();
238+
List<MetadataBuilder> metadata = pop();
244239
checkEmpty(importKeyword.charOffset);
245240
if (prefix is ParserRecovery) return;
246241
library.addImport(
@@ -304,7 +299,7 @@ class OutlineBuilder extends StackListener {
304299
debugEvent("Part");
305300
int charOffset = popCharOffset();
306301
String uri = pop();
307-
List<MetadataBuilder<KernelTypeBuilder>> metadata = pop();
302+
List<MetadataBuilder> metadata = pop();
308303
library.addPart(metadata, uri, charOffset);
309304
checkEmpty(partKeyword.charOffset);
310305
}
@@ -327,7 +322,7 @@ class OutlineBuilder extends StackListener {
327322
void handleIdentifier(Token token, IdentifierContext context) {
328323
if (context == IdentifierContext.enumValueDeclaration) {
329324
debugEvent("handleIdentifier");
330-
List<MetadataBuilder<KernelTypeBuilder>> metadata = pop();
325+
List<MetadataBuilder> metadata = pop();
331326
if (token.isSynthetic) {
332327
push(new ParserRecovery(token.charOffset));
333328
} else {
@@ -435,7 +430,7 @@ class OutlineBuilder extends StackListener {
435430
popCharOffset();
436431
String documentationComment = getDocumentationComment(libraryKeyword);
437432
Object name = pop();
438-
List<MetadataBuilder<KernelTypeBuilder>> metadata = pop();
433+
List<MetadataBuilder> metadata = pop();
439434
library.documentationComment = documentationComment;
440435
if (name is! ParserRecovery) {
441436
library.name = flattenName(name, offsetForToken(libraryKeyword), uri);
@@ -551,7 +546,7 @@ class OutlineBuilder extends StackListener {
551546
if (typeVariables != null && supertype is MixinApplicationBuilder) {
552547
supertype.typeVariables = typeVariables;
553548
}
554-
List<MetadataBuilder<KernelTypeBuilder>> metadata = pop();
549+
List<MetadataBuilder> metadata = pop();
555550
checkEmpty(beginToken.charOffset);
556551
if (name is ParserRecovery) {
557552
library.endNestedDeclaration("<syntax-error>");
@@ -589,7 +584,7 @@ class OutlineBuilder extends StackListener {
589584
pop(NullValue.TypeVariables);
590585
int nameOffset = pop();
591586
Object name = pop();
592-
List<MetadataBuilder<KernelTypeBuilder>> metadata = pop(NullValue.Metadata);
587+
List<MetadataBuilder> metadata = pop(NullValue.Metadata);
593588
checkEmpty(mixinToken.charOffset);
594589
if (name is ParserRecovery) {
595590
library.endNestedDeclaration("<syntax-error>");
@@ -657,7 +652,7 @@ class OutlineBuilder extends StackListener {
657652
if (isAbstract) {
658653
modifiers |= abstractMask;
659654
}
660-
List<MetadataBuilder<KernelTypeBuilder>> metadata = pop();
655+
List<MetadataBuilder> metadata = pop();
661656
checkEmpty(beginToken.charOffset);
662657
library
663658
.endNestedDeclaration("#method")
@@ -843,7 +838,7 @@ class OutlineBuilder extends StackListener {
843838
}
844839
bool isConst = (modifiers & constMask) != 0;
845840
int varFinalOrConstOffset = pop();
846-
List<MetadataBuilder<KernelTypeBuilder>> metadata = pop();
841+
List<MetadataBuilder> metadata = pop();
847842
String documentationComment = getDocumentationComment(beginToken);
848843
library
849844
.endNestedDeclaration("#method")
@@ -938,7 +933,7 @@ class OutlineBuilder extends StackListener {
938933
pop();
939934
int charOffset = pop();
940935
Object name = pop();
941-
List<MetadataBuilder<KernelTypeBuilder>> metadata = pop();
936+
List<MetadataBuilder> metadata = pop();
942937
checkEmpty(beginToken.charOffset);
943938
if (name is ParserRecovery || mixinApplication is ParserRecovery) {
944939
library.endNestedDeclaration("<syntax-error>");
@@ -1033,7 +1028,7 @@ class OutlineBuilder extends StackListener {
10331028
Object name = pop();
10341029
TypeBuilder type = nullIfParserRecovery(pop());
10351030
int modifiers = pop();
1036-
List<MetadataBuilder<KernelTypeBuilder>> metadata = pop();
1031+
List<MetadataBuilder> metadata = pop();
10371032
if (name is ParserRecovery) {
10381033
push(name);
10391034
} else {
@@ -1185,7 +1180,7 @@ class OutlineBuilder extends StackListener {
11851180
int charOffset = pop(); // identifier char offset.
11861181
int startCharOffset = enumKeyword.charOffset;
11871182
Object name = pop();
1188-
List<MetadataBuilder<KernelTypeBuilder>> metadata = pop();
1183+
List<MetadataBuilder> metadata = pop();
11891184
checkEmpty(enumKeyword.charOffset);
11901185
if (name is ParserRecovery) return;
11911186
library.addEnum(documentationComment, metadata, name, enumConstantInfos,
@@ -1282,7 +1277,7 @@ class OutlineBuilder extends StackListener {
12821277
addProblem(messageTypedefNotFunction, equals.charOffset, equals.length);
12831278
}
12841279
}
1285-
List<MetadataBuilder<KernelTypeBuilder>> metadata = pop();
1280+
List<MetadataBuilder> metadata = pop();
12861281
checkEmpty(typedefKeyword.charOffset);
12871282
library.addFunctionTypeAlias(documentationComment, metadata, name,
12881283
typeVariables, functionType, charOffset);
@@ -1305,7 +1300,7 @@ class OutlineBuilder extends StackListener {
13051300
int modifiers = (staticToken != null ? staticMask : 0) |
13061301
(covariantToken != null ? covariantMask : 0) |
13071302
Modifier.validateVarFinalOrConst(varFinalOrConst?.lexeme);
1308-
List<MetadataBuilder<KernelTypeBuilder>> metadata = pop();
1303+
List<MetadataBuilder> metadata = pop();
13091304
checkEmpty(beginToken.charOffset);
13101305
if (fieldInfos == null) return;
13111306
String documentationComment = getDocumentationComment(beginToken);
@@ -1331,7 +1326,7 @@ class OutlineBuilder extends StackListener {
13311326
varFinalOrConst.length);
13321327
modifiers &= ~constMask;
13331328
}
1334-
List<MetadataBuilder<KernelTypeBuilder>> metadata = pop();
1329+
List<MetadataBuilder> metadata = pop();
13351330
if (fieldInfos == null) return;
13361331
String documentationComment = getDocumentationComment(beginToken);
13371332
library.addFields(
@@ -1461,7 +1456,7 @@ class OutlineBuilder extends StackListener {
14611456
debugEvent("endPartOf");
14621457
int charOffset = popCharOffset();
14631458
Object containingLibrary = pop();
1464-
List<MetadataBuilder<KernelTypeBuilder>> metadata = pop();
1459+
List<MetadataBuilder> metadata = pop();
14651460
if (hasName) {
14661461
library.addPartOf(metadata,
14671462
flattenName(containingLibrary, charOffset, uri), null, charOffset);
@@ -1511,7 +1506,7 @@ class OutlineBuilder extends StackListener {
15111506
int charOffset = pop();
15121507
Object name = pop();
15131508
int modifiers = pop();
1514-
List<MetadataBuilder<KernelTypeBuilder>> metadata = pop();
1509+
List<MetadataBuilder> metadata = pop();
15151510
if (name is ParserRecovery) {
15161511
library.endNestedDeclaration("<syntax-error>");
15171512
return;

0 commit comments

Comments
 (0)