Skip to content

Commit f797e5f

Browse files
johnniwintherCommit Queue
authored andcommitted
[cfe] Remove MixinApplicationBuilder
Change-Id: I2780f63c1d63655cc23d44426f29d5d9a040c5f6 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/406841 Reviewed-by: Chloe Stefantsova <[email protected]> Commit-Queue: Johnni Winther <[email protected]>
1 parent 89512dc commit f797e5f

File tree

12 files changed

+56
-122
lines changed

12 files changed

+56
-122
lines changed

pkg/_fe_analyzer_shared/lib/src/parser/stack_listener.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ enum NullValues implements NullValue<Object> {
6666
Initializers,
6767
Labels,
6868
Metadata,
69-
MixinApplicationBuilder,
7069
Modifiers,
7170
Name,
7271
NominalVariable,

pkg/front_end/lib/src/builder/mixin_application_builder.dart

Lines changed: 0 additions & 16 deletions
This file was deleted.

pkg/front_end/lib/src/fragment/class.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class ClassFragment extends DeclarationFragment implements Fragment {
1616
late final List<MetadataBuilder>? metadata;
1717
late final Modifiers modifiers;
1818
late final TypeBuilder? supertype;
19-
late final MixinApplicationBuilder? mixins;
19+
late final List<TypeBuilder>? mixins;
2020
late final List<TypeBuilder>? interfaces;
2121
late final List<ConstructorReferenceBuilder> constructorReferences;
2222
late final int startOffset;

pkg/front_end/lib/src/fragment/enum.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class EnumFragment extends DeclarationFragment implements Fragment {
1414

1515
late final LookupScope compilationUnitScope;
1616
late final List<MetadataBuilder>? metadata;
17-
late final MixinApplicationBuilder? supertypeBuilder;
17+
late final List<TypeBuilder>? mixins;
1818
late final List<TypeBuilder>? interfaces;
1919
late final List<ConstructorReferenceBuilder> constructorReferences;
2020
late final int startOffset;

pkg/front_end/lib/src/fragment/fragment.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import '../builder/declaration_builders.dart';
2525
import '../builder/formal_parameter_builder.dart';
2626
import '../builder/member_builder.dart';
2727
import '../builder/metadata_builder.dart';
28-
import '../builder/mixin_application_builder.dart';
2928
import '../builder/named_type_builder.dart';
3029
import '../builder/omitted_type_builder.dart';
3130
import '../builder/type_builder.dart';

pkg/front_end/lib/src/fragment/mixin.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class MixinFragment extends DeclarationFragment implements Fragment {
1616
late final List<MetadataBuilder>? metadata;
1717
late final Modifiers modifiers;
1818
late final TypeBuilder? supertype;
19-
late final MixinApplicationBuilder? mixins;
19+
late final List<TypeBuilder>? mixins;
2020
late final List<TypeBuilder>? interfaces;
2121
late final List<ConstructorReferenceBuilder> constructorReferences;
2222
late final int startOffset;

pkg/front_end/lib/src/fragment/named_mixin_application.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class NamedMixinApplicationFragment implements Fragment {
1616
final List<MetadataBuilder>? metadata;
1717
final List<NominalParameterBuilder>? typeParameters;
1818
final TypeBuilder? supertype;
19-
final MixinApplicationBuilder mixins;
19+
final List<TypeBuilder> mixins;
2020
final List<TypeBuilder>? interfaces;
2121
final LookupScope compilationUnitScope;
2222

pkg/front_end/lib/src/source/builder_factory.dart

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import '../builder/constructor_reference_builder.dart';
1717
import '../builder/declaration_builders.dart';
1818
import '../builder/formal_parameter_builder.dart';
1919
import '../builder/metadata_builder.dart';
20-
import '../builder/mixin_application_builder.dart';
2120
import '../builder/named_type_builder.dart';
2221
import '../builder/nullability_builder.dart';
2322
import '../builder/omitted_type_builder.dart';
@@ -218,7 +217,7 @@ abstract class BuilderFactory {
218217
required Identifier identifier,
219218
required List<NominalParameterBuilder>? typeParameters,
220219
required TypeBuilder? supertype,
221-
required MixinApplicationBuilder? mixins,
220+
required List<TypeBuilder>? mixins,
222221
required List<TypeBuilder>? interfaces,
223222
required int startOffset,
224223
required int nameOffset,
@@ -230,8 +229,8 @@ abstract class BuilderFactory {
230229
required List<MetadataBuilder>? metadata,
231230
required Identifier identifier,
232231
required List<NominalParameterBuilder>? typeParameters,
233-
required MixinApplicationBuilder? supertypeBuilder,
234-
required List<TypeBuilder>? interfaceBuilders,
232+
required List<TypeBuilder>? mixins,
233+
required List<TypeBuilder>? interfaces,
235234
required int startOffset,
236235
required int endOffset});
237236

@@ -282,15 +281,12 @@ abstract class BuilderFactory {
282281
required List<NominalParameterBuilder>? typeParameters,
283282
required Modifiers modifiers,
284283
required TypeBuilder? supertype,
285-
required MixinApplicationBuilder mixinApplication,
284+
required List<TypeBuilder> mixins,
286285
required List<TypeBuilder>? interfaces,
287286
required int startOffset,
288287
required int nameOffset,
289288
required int endOffset});
290289

291-
MixinApplicationBuilder addMixinApplication(
292-
List<TypeBuilder> mixins, int charOffset);
293-
294290
void addFunctionTypeAlias(
295291
List<MetadataBuilder>? metadata,
296292
String name,

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

Lines changed: 29 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ import '../builder/formal_parameter_builder.dart';
4242
import '../builder/invalid_type_builder.dart';
4343
import '../builder/library_builder.dart';
4444
import '../builder/metadata_builder.dart';
45-
import '../builder/mixin_application_builder.dart';
4645
import '../builder/named_type_builder.dart';
4746
import '../builder/nullability_builder.dart';
4847
import '../builder/omitted_type_builder.dart';
@@ -1211,7 +1210,7 @@ class OutlineBuilder extends StackListenerImpl {
12111210
assert(checkState(null, [
12121211
/* interfaces */ ValueKinds.TypeBuilderListOrNull,
12131212
/* mixins */ unionOfKinds([
1214-
ValueKinds.MixinApplicationBuilderOrNull,
1213+
ValueKinds.TypeBuilderListOrNull,
12151214
ValueKinds.ParserRecovery,
12161215
]),
12171216
/* supertype offset */ ValueKinds.Integer,
@@ -1226,7 +1225,7 @@ class OutlineBuilder extends StackListenerImpl {
12261225
// give different errors (if, say, one later assigns
12271226
// A to a variable of type B).
12281227
pop(NullValues.TypeBuilderList); // Interfaces.
1229-
pop(NullValues.MixinApplicationBuilder); // Mixin applications.
1228+
pop(NullValues.TypeBuilderList); // Mixins.
12301229
pop(); // Supertype offset.
12311230
pop(NullValues.TypeBuilder); // Supertype.
12321231
}
@@ -1264,7 +1263,7 @@ class OutlineBuilder extends StackListenerImpl {
12641263
assert(checkState(beginToken, [
12651264
/* interfaces */ ValueKinds.TypeBuilderListOrNull,
12661265
/* mixins */ unionOfKinds([
1267-
ValueKinds.MixinApplicationBuilderOrNull,
1266+
ValueKinds.TypeBuilderListOrNull,
12681267
ValueKinds.ParserRecovery,
12691268
]),
12701269
/* supertype offset */ ValueKinds.Integer,
@@ -1280,18 +1279,15 @@ class OutlineBuilder extends StackListenerImpl {
12801279

12811280
List<TypeBuilder>? interfaces =
12821281
pop(NullValues.TypeBuilderList) as List<TypeBuilder>?;
1283-
MixinApplicationBuilder? mixinApplication =
1284-
nullIfParserRecovery(pop(NullValues.MixinApplicationBuilder))
1285-
as MixinApplicationBuilder?;
1282+
List<TypeBuilder>? mixins =
1283+
nullIfParserRecovery(pop(NullValues.TypeBuilderList))
1284+
as List<TypeBuilder>?;
12861285
int supertypeOffset = popCharOffset();
12871286
TypeBuilder? supertype = nullIfParserRecovery(pop()) as TypeBuilder?;
12881287
Modifiers modifiers = pop() as Modifiers;
12891288
List<NominalParameterBuilder>? typeParameters =
12901289
pop() as List<NominalParameterBuilder>?;
12911290
Object? name = pop();
1292-
if (typeParameters != null && mixinApplication != null) {
1293-
mixinApplication.typeParameters = typeParameters;
1294-
}
12951291
List<MetadataBuilder>? metadata = pop() as List<MetadataBuilder>?;
12961292
inAbstractOrSealedClass = false;
12971293
checkEmpty(beginToken.charOffset);
@@ -1313,8 +1309,7 @@ class OutlineBuilder extends StackListenerImpl {
13131309
uri);
13141310
}
13151311
}
1316-
if (mixinApplication != null) {
1317-
List<TypeBuilder>? mixins = mixinApplication.mixins;
1312+
if (mixins != null) {
13181313
for (TypeBuilder mixin in mixins) {
13191314
if (mixin.nullabilityBuilder.build() == Nullability.nullable) {
13201315
_compilationUnit.addProblem(
@@ -1349,7 +1344,7 @@ class OutlineBuilder extends StackListenerImpl {
13491344
identifier: identifier,
13501345
typeParameters: typeParameters,
13511346
supertype: supertype,
1352-
mixins: mixinApplication,
1347+
mixins: mixins,
13531348
interfaces: interfaces,
13541349
startOffset: startOffset,
13551350
nameOffset: identifier.nameOffset,
@@ -2245,24 +2240,7 @@ class OutlineBuilder extends StackListenerImpl {
22452240
assert(checkState(withKeyword, [
22462241
/* mixins */ unionOfKinds([
22472242
ValueKinds.ParserRecovery,
2248-
ValueKinds.TypeBuilderListOrNull,
2249-
]),
2250-
/* supertype */ unionOfKinds([
2251-
ValueKinds.ParserRecovery,
2252-
ValueKinds.TypeBuilder,
2253-
]),
2254-
]));
2255-
Object? mixins = pop();
2256-
if (mixins is ParserRecovery) {
2257-
push(mixins);
2258-
} else {
2259-
push(_builderFactory.addMixinApplication(
2260-
mixins as List<TypeBuilder>, withKeyword.charOffset));
2261-
}
2262-
assert(checkState(withKeyword, [
2263-
/* mixin application */ unionOfKinds([
2264-
ValueKinds.ParserRecovery,
2265-
ValueKinds.MixinApplicationBuilder,
2243+
ValueKinds.TypeBuilderList,
22662244
]),
22672245
/* supertype */ unionOfKinds([
22682246
ValueKinds.ParserRecovery,
@@ -2302,9 +2280,9 @@ class OutlineBuilder extends StackListenerImpl {
23022280
ValueKinds.ParserRecovery,
23032281
ValueKinds.TypeBuilderListOrNull,
23042282
]),
2305-
/* mixin application */ unionOfKinds([
2283+
/* mixins */ unionOfKinds([
23062284
ValueKinds.ParserRecovery,
2307-
ValueKinds.MixinApplicationBuilder,
2285+
ValueKinds.TypeBuilderList,
23082286
]),
23092287
/* supertype */ unionOfKinds([
23102288
ValueKinds.ParserRecovery,
@@ -2334,10 +2312,8 @@ class OutlineBuilder extends StackListenerImpl {
23342312
} else {
23352313
Identifier identifier = name as Identifier;
23362314
String classNameForErrors = identifier.name;
2337-
MixinApplicationBuilder mixinApplicationBuilder =
2338-
mixinApplication as MixinApplicationBuilder;
2339-
List<TypeBuilder> mixins = mixinApplicationBuilder.mixins;
2340-
if (supertype is TypeBuilder && supertype is! MixinApplicationBuilder) {
2315+
List<TypeBuilder> mixins = mixinApplication as List<TypeBuilder>;
2316+
if (supertype is TypeBuilder) {
23412317
if (supertype.nullabilityBuilder.build() == Nullability.nullable) {
23422318
_compilationUnit.addProblem(
23432319
templateNullableSuperclassError
@@ -2381,7 +2357,7 @@ class OutlineBuilder extends StackListenerImpl {
23812357
typeParameters: typeParameters,
23822358
modifiers: modifiers,
23832359
supertype: supertype as TypeBuilder?,
2384-
mixinApplication: mixinApplication,
2360+
mixins: mixins,
23852361
interfaces: interfaces,
23862362
startOffset: startOffset,
23872363
nameOffset: identifier.nameOffset,
@@ -2781,7 +2757,7 @@ class OutlineBuilder extends StackListenerImpl {
27812757
assert(checkState(enumKeyword, [
27822758
/* interfaces */ ValueKinds.TypeBuilderListOrNull,
27832759
/* mixins */ unionOfKinds([
2784-
ValueKinds.MixinApplicationBuilderOrNull,
2760+
ValueKinds.TypeBuilderListOrNull,
27852761
ValueKinds.ParserRecovery,
27862762
]),
27872763
/* type parameters */ ValueKinds.NominalVariableListOrNull,
@@ -2792,7 +2768,7 @@ class OutlineBuilder extends StackListenerImpl {
27922768
// We pop more values than needed to reach type parameters, offset and name.
27932769
List<TypeBuilder>? interfaces =
27942770
pop(NullValues.TypeBuilderList) as List<TypeBuilder>?;
2795-
Object? mixins = pop(NullValues.MixinApplicationBuilder);
2771+
Object? mixins = pop(NullValues.TypeBuilderList);
27962772
List<NominalParameterBuilder>? typeParameters =
27972773
pop() as List<NominalParameterBuilder>?;
27982774

@@ -2808,7 +2784,7 @@ class OutlineBuilder extends StackListenerImpl {
28082784
_builderFactory.beginEnumBody();
28092785

28102786
push(typeParameters ?? NullValues.NominalParameters);
2811-
push(mixins ?? NullValues.MixinApplicationBuilder);
2787+
push(mixins ?? NullValues.TypeBuilderList);
28122788
push(interfaces ?? NullValues.TypeBuilderList);
28132789

28142790
push(leftBrace.endGroup!.charOffset); // end char offset.
@@ -2836,7 +2812,7 @@ class OutlineBuilder extends StackListenerImpl {
28362812
/* endCharOffset */ ValueKinds.Integer,
28372813
/* interfaces */ ValueKinds.TypeBuilderListOrNull,
28382814
/* mixins */ unionOfKinds([
2839-
ValueKinds.MixinApplicationBuilderOrNull,
2815+
ValueKinds.TypeBuilderListOrNull,
28402816
ValueKinds.ParserRecovery,
28412817
]),
28422818
/* type parameters */ ValueKinds.NominalVariableListOrNull,
@@ -2872,8 +2848,8 @@ class OutlineBuilder extends StackListenerImpl {
28722848

28732849
List<TypeBuilder>? interfaces =
28742850
nullIfParserRecovery(pop()) as List<TypeBuilder>?;
2875-
MixinApplicationBuilder? mixinBuilder =
2876-
nullIfParserRecovery(pop()) as MixinApplicationBuilder?;
2851+
List<TypeBuilder>? mixins =
2852+
nullIfParserRecovery(pop()) as List<TypeBuilder>?;
28772853
List<NominalParameterBuilder>? typeParameters =
28782854
pop() as List<NominalParameterBuilder>?;
28792855
Object? identifier = pop();
@@ -2906,8 +2882,8 @@ class OutlineBuilder extends StackListenerImpl {
29062882
metadata: metadata,
29072883
identifier: identifier,
29082884
typeParameters: typeParameters,
2909-
supertypeBuilder: mixinBuilder,
2910-
interfaceBuilders: interfaces,
2885+
mixins: mixins,
2886+
interfaces: interfaces,
29112887
startOffset: startOffset,
29122888
endOffset: endOffset);
29132889
} else {
@@ -3804,12 +3780,11 @@ class OutlineBuilder extends StackListenerImpl {
38043780
if (supertype is ParserRecovery || mixins is ParserRecovery) {
38053781
push(new ParserRecovery(withKeyword.charOffset));
38063782
} else {
3807-
push(_builderFactory.addMixinApplication(
3808-
mixins as List<TypeBuilder>, withKeyword.charOffset));
3783+
push(mixins);
38093784
}
38103785
assert(checkState(withKeyword, [
38113786
/* mixins */ unionOfKinds([
3812-
ValueKinds.MixinApplicationBuilderOrNull,
3787+
ValueKinds.TypeBuilderListOrNull,
38133788
ValueKinds.ParserRecovery,
38143789
]),
38153790
/* supertype offset */ ValueKinds.Integer,
@@ -3830,9 +3805,9 @@ class OutlineBuilder extends StackListenerImpl {
38303805
ValueKinds.ParserRecovery,
38313806
]),
38323807
]));
3833-
push(NullValues.MixinApplicationBuilder);
3808+
push(NullValues.TypeBuilderList);
38343809
assert(checkState(null, [
3835-
/* mixins */ ValueKinds.MixinApplicationBuilderOrNull,
3810+
/* mixins */ ValueKinds.TypeBuilderListOrNull,
38363811
/* supertype offset */ ValueKinds.Integer,
38373812
/* supertype */ unionOfKinds([
38383813
ValueKinds.TypeBuilderOrNull,
@@ -3858,12 +3833,11 @@ class OutlineBuilder extends StackListenerImpl {
38583833
if (mixins is ParserRecovery) {
38593834
push(new ParserRecovery(withKeyword.charOffset));
38603835
} else {
3861-
push(_builderFactory.addMixinApplication(
3862-
mixins as List<TypeBuilder>, withKeyword.charOffset));
3836+
push(mixins);
38633837
}
38643838
assert(checkState(withKeyword, [
38653839
/* mixins */ unionOfKinds([
3866-
ValueKinds.MixinApplicationBuilderOrNull,
3840+
ValueKinds.TypeBuilderListOrNull,
38673841
ValueKinds.ParserRecovery,
38683842
]),
38693843
]));
@@ -3872,7 +3846,7 @@ class OutlineBuilder extends StackListenerImpl {
38723846
@override
38733847
void handleEnumNoWithClause() {
38743848
debugEvent("EnumNoWithClause");
3875-
push(NullValues.MixinApplicationBuilder);
3849+
push(NullValues.TypeBuilderList);
38763850
}
38773851

38783852
@override

0 commit comments

Comments
 (0)