Skip to content

Commit bf9ea56

Browse files
johnniwintherCommit Queue
authored and
Commit Queue
committed
[kernel] Remove nodes used for the old 'extension-types' experiment
This removes ExtensionType, ExtensionTypeShowHideClause and CallSiteAccessKind from package:kernel which where only used by the now removed 'extension-types' experiment. A follow-up CL will rename InlineClass/InlineType to ExtensionTypeDeclaration/ExtensionType to match the names of the Extension Type feature currently being implemented. TEST=existing Change-Id: I58d2e8b0a92ac61329ee161cc6884a2c0e6f87ae Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/316420 Reviewed-by: Chloe Stefantsova <[email protected]> Commit-Queue: Johnni Winther <[email protected]> Reviewed-by: Sigmund Cherem <[email protected]> Reviewed-by: Alexander Markov <[email protected]>
1 parent 74fa24d commit bf9ea56

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+81
-1347
lines changed

pkg/compiler/lib/src/ir/util.dart

-5
Original file line numberDiff line numberDiff line change
@@ -240,11 +240,6 @@ class _FreeVariableVisitor implements ir.DartTypeVisitor<bool> {
240240
return visitList(node.typeArguments);
241241
}
242242

243-
@override
244-
bool visitExtensionType(ir.ExtensionType node) {
245-
return visitList(node.typeArguments);
246-
}
247-
248243
@override
249244
bool visitInlineType(ir.InlineType node) {
250245
return visit(node.instantiatedRepresentationType);

pkg/compiler/test/helpers/ir_types.dart

-6
Original file line numberDiff line numberDiff line change
@@ -121,12 +121,6 @@ class TypeTextVisitor implements ir.DartTypeVisitor1<void, StringBuffer> {
121121
_writeTypeArguments(node.typeArguments, sb);
122122
}
123123

124-
@override
125-
void visitExtensionType(ir.ExtensionType node, StringBuffer sb) {
126-
sb.write(node.extension.name);
127-
_writeTypeArguments(node.typeArguments, sb);
128-
}
129-
130124
@override
131125
void visitInlineType(ir.InlineType node, StringBuffer sb) {
132126
writeType(node.instantiatedRepresentationType, sb);

pkg/dev_compiler/lib/src/kernel/compiler.dart

-4
Original file line numberDiff line numberDiff line change
@@ -3372,10 +3372,6 @@ class ProgramCompiler extends ComputeOnceConstantVisitor<js_ast.Expression>
33723372
js_ast.Expression visitInterfaceType(InterfaceType type) =>
33733373
_emitInterfaceType(type);
33743374

3375-
@override
3376-
js_ast.Expression visitExtensionType(ExtensionType type) =>
3377-
type.onType.accept(this);
3378-
33793375
@override
33803376
js_ast.Expression visitInlineType(InlineType type) =>
33813377
type.instantiatedRepresentationType.accept(this);

pkg/dev_compiler/lib/src/kernel/type_recipe_generator.dart

-3
Original file line numberDiff line numberDiff line change
@@ -420,9 +420,6 @@ class _TypeRecipeVisitor extends DartTypeVisitor<String> {
420420
String visitNullType(NullType node) =>
421421
interfaceTypeRecipe(_coreTypes.deprecatedNullClass);
422422

423-
@override
424-
String visitExtensionType(ExtensionType node) => defaultDartType(node);
425-
426423
@override
427424
String visitIntersectionType(IntersectionType node) =>
428425
visitTypeParameterType(node.left);

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

-6
Original file line numberDiff line numberDiff line change
@@ -6205,12 +6205,6 @@ class IsInstantiatedVisitor implements DartTypeVisitor<bool> {
62056205
node.named.every((p) => p.type.accept(this));
62066206
}
62076207

6208-
@override
6209-
bool visitExtensionType(ExtensionType node) {
6210-
return node.typeArguments
6211-
.every((DartType typeArgument) => typeArgument.accept(this));
6212-
}
6213-
62146208
@override
62156209
bool visitInlineType(InlineType node) {
62166210
return node.typeArguments

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

-5
Original file line numberDiff line numberDiff line change
@@ -653,11 +653,6 @@ class ExhaustiveDartTypeVisitor implements DartTypeVisitor1<bool, CoreTypes> {
653653
return false;
654654
}
655655

656-
@override
657-
bool visitExtensionType(ExtensionType type, CoreTypes coreTypes) {
658-
return false;
659-
}
660-
661656
@override
662657
bool visitFunctionType(FunctionType type, CoreTypes coreTypes) {
663658
return false;

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

-14
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,6 @@ class _InvalidTypeFinder implements DartTypeVisitor1<bool, Set<TypedefType>> {
2424
bool defaultDartType(DartType node, Set<TypedefType> visitedTypedefs) {
2525
if (node is UnknownType) {
2626
return false;
27-
} else if (node is ExtensionType) {
28-
for (DartType typeArgument in node.typeArguments) {
29-
if (typeArgument.accept1(this, visitedTypedefs)) return true;
30-
}
31-
return false;
3227
} else {
3328
throw new StateError("Unhandled type ${node.runtimeType}.");
3429
}
@@ -54,15 +49,6 @@ class _InvalidTypeFinder implements DartTypeVisitor1<bool, Set<TypedefType>> {
5449
return false;
5550
}
5651

57-
@override
58-
bool visitExtensionType(
59-
ExtensionType node, Set<TypedefType> visitedTypedefs) {
60-
for (DartType typeArgument in node.typeArguments) {
61-
if (typeArgument.accept1(this, visitedTypedefs)) return true;
62-
}
63-
return false;
64-
}
65-
6652
@override
6753
bool visitInlineType(InlineType node, Set<TypedefType> visitedTypedefs) {
6854
for (DartType typeArgument in node.typeArguments) {

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

-5
Original file line numberDiff line numberDiff line change
@@ -1170,11 +1170,6 @@ class TypeVariableSearch implements DartTypeVisitor<bool> {
11701170
return anyTypeVariables(node.typeArguments);
11711171
}
11721172

1173-
@override
1174-
bool visitExtensionType(ExtensionType node) {
1175-
return anyTypeVariables(node.typeArguments);
1176-
}
1177-
11781173
@override
11791174
bool visitInlineType(InlineType node) {
11801175
return anyTypeVariables(node.typeArguments);

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

-5
Original file line numberDiff line numberDiff line change
@@ -108,11 +108,6 @@ class TypeBuilderComputer implements DartTypeVisitor<TypeBuilder> {
108108
arguments: arguments);
109109
}
110110

111-
@override
112-
TypeBuilder visitExtensionType(ExtensionType node) {
113-
throw "Not implemented";
114-
}
115-
116111
@override
117112
TypeBuilder visitInlineType(InlineType node) {
118113
throw "Not implemented";

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

-23
Original file line numberDiff line numberDiff line change
@@ -261,29 +261,6 @@ class TypeLabeler implements DartTypeVisitor<void>, ConstantVisitor<void> {
261261
addNullability(node.declaredNullability);
262262
}
263263

264-
@override
265-
void visitExtensionType(ExtensionType node) {
266-
// TODO(johnniwinther): Ensure enclosing libraries on extensions earlier
267-
// in the compiler to ensure types in error messages have context.
268-
Library? enclosingLibrary = node.extension.parent as Library?;
269-
result.add(nameForEntity(
270-
node.extension,
271-
node.extension.name,
272-
enclosingLibrary?.importUri ?? unknownUri,
273-
enclosingLibrary?.fileUri ?? unknownUri));
274-
if (node.typeArguments.isNotEmpty) {
275-
result.add("<");
276-
bool first = true;
277-
for (DartType typeArg in node.typeArguments) {
278-
if (!first) result.add(", ");
279-
typeArg.accept(this);
280-
first = false;
281-
}
282-
result.add(">");
283-
}
284-
addNullability(node.declaredNullability);
285-
}
286-
287264
@override
288265
void visitInlineType(InlineType node) {
289266
// TODO(johnniwinther): Ensure enclosing libraries on extensions earlier

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

-39
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import '../fasta_codes.dart'
1717
messagePatchDeclarationOrigin,
1818
noLength;
1919
import '../kernel/body_builder_context.dart';
20-
import '../operator.dart';
2120
import '../problems.dart';
2221
import '../scope.dart';
2322
import 'name_scheme.dart';
@@ -192,41 +191,3 @@ class SourceExtensionBuilder extends ExtensionBuilderImpl
192191
}
193192
}
194193
}
195-
196-
class ExtensionTypeShowHideClauseBuilder {
197-
final List<TypeBuilder> shownSupertypes;
198-
final List<String> shownGetters;
199-
final List<String> shownSetters;
200-
final List<String> shownMembersOrTypes;
201-
final List<Operator> shownOperators;
202-
203-
final List<TypeBuilder> hiddenSupertypes;
204-
final List<String> hiddenGetters;
205-
final List<String> hiddenSetters;
206-
final List<String> hiddenMembersOrTypes;
207-
final List<Operator> hiddenOperators;
208-
209-
ExtensionTypeShowHideClauseBuilder(
210-
{required this.shownSupertypes,
211-
required this.shownGetters,
212-
required this.shownSetters,
213-
required this.shownMembersOrTypes,
214-
required this.shownOperators,
215-
required this.hiddenSupertypes,
216-
required this.hiddenGetters,
217-
required this.hiddenSetters,
218-
required this.hiddenMembersOrTypes,
219-
required this.hiddenOperators});
220-
221-
void buildAndStoreTypes(Extension extension, LibraryBuilder libraryBuilder) {
222-
List<Supertype> builtShownSupertypes =
223-
shownSupertypes.map((t) => t.buildSupertype(libraryBuilder)!).toList();
224-
List<Supertype> builtHiddenSupertypes =
225-
hiddenSupertypes.map((t) => t.buildSupertype(libraryBuilder)!).toList();
226-
ExtensionTypeShowHideClause showHideClause =
227-
extension.showHideClause ?? new ExtensionTypeShowHideClause();
228-
showHideClause.shownSupertypes.addAll(builtShownSupertypes);
229-
showHideClause.hiddenSupertypes.addAll(builtHiddenSupertypes);
230-
extension.showHideClause ??= showHideClause;
231-
}
232-
}

pkg/front_end/lib/src/fasta/type_inference/external_ast_helper.dart

+8-12
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,8 @@ StaticInvocation createStaticInvocation(Procedure target, Arguments arguments,
3232
InstanceInvocation createOperatorInvocation(InferenceVisitorBase base,
3333
DartType leftType, Expression left, Name operatorName, Expression right,
3434
{required int fileOffset}) {
35-
ObjectAccessTarget target = base.findInterfaceMember(
36-
leftType, operatorName, fileOffset,
37-
callSiteAccessKind: CallSiteAccessKind.operatorInvocation);
35+
ObjectAccessTarget target = base
36+
.findInterfaceMember(leftType, operatorName, fileOffset, isSetter: false);
3837
return new InstanceInvocation(InstanceAccessKind.Instance, left, operatorName,
3938
createArguments([right], fileOffset: fileOffset),
4039
functionType: target.getFunctionType(base),
@@ -47,9 +46,8 @@ InstanceInvocation createOperatorInvocation(InferenceVisitorBase base,
4746
InstanceGet createInstanceGet(InferenceVisitorBase base, DartType receiverType,
4847
Expression receiver, Name name,
4948
{required int fileOffset}) {
50-
ObjectAccessTarget target = base.findInterfaceMember(
51-
receiverType, name, fileOffset,
52-
callSiteAccessKind: CallSiteAccessKind.getterInvocation);
49+
ObjectAccessTarget target =
50+
base.findInterfaceMember(receiverType, name, fileOffset, isSetter: false);
5351
Member? member = target.member;
5452
assert(member is Field || member is Procedure && member.isGetter);
5553
return new InstanceGet(InstanceAccessKind.Instance, receiver, name,
@@ -66,9 +64,8 @@ InstanceInvocation createInstanceInvocation(
6664
Name name,
6765
List<Expression> positionalArguments,
6866
{required int fileOffset}) {
69-
ObjectAccessTarget target = base.findInterfaceMember(
70-
receiverType, name, fileOffset,
71-
callSiteAccessKind: CallSiteAccessKind.methodInvocation);
67+
ObjectAccessTarget target =
68+
base.findInterfaceMember(receiverType, name, fileOffset, isSetter: false);
7269
return new InstanceInvocation(InstanceAccessKind.Instance, receiver, name,
7370
createArguments(positionalArguments, fileOffset: fileOffset),
7471
functionType: target.getFunctionType(base),
@@ -80,9 +77,8 @@ InstanceInvocation createInstanceInvocation(
8077
EqualsCall createEqualsCall(InferenceVisitorBase base, DartType leftType,
8178
Expression left, Expression right,
8279
{required int fileOffset}) {
83-
ObjectAccessTarget target = base.findInterfaceMember(
84-
leftType, equalsName, fileOffset,
85-
callSiteAccessKind: CallSiteAccessKind.operatorInvocation);
80+
ObjectAccessTarget target = base
81+
.findInterfaceMember(leftType, equalsName, fileOffset, isSetter: false);
8682
return new EqualsCall(left, right,
8783
functionType: target.getFunctionType(base),
8884
interfaceTarget: target.member as Procedure)

pkg/front_end/lib/src/fasta/type_inference/for_in.dart

+3-7
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,7 @@ class PropertyForInVariable implements ForInVariable {
106106
DartType receiverType = receiverResult.inferredType;
107107
ObjectAccessTarget writeTarget = visitor.findInterfaceMember(
108108
receiverType, propertySet.name, propertySet.fileOffset,
109-
callSiteAccessKind: CallSiteAccessKind.setterInvocation,
110-
instrumented: true,
111-
includeExtensionMethods: true);
109+
isSetter: true, instrumented: true, includeExtensionMethods: true);
112110
DartType elementType = _writeType = writeTarget.getSetterType(visitor);
113111
Expression? error = visitor.reportMissingInterfaceMember(
114112
writeTarget,
@@ -164,8 +162,7 @@ class AbstractSuperPropertyForInVariable implements ForInVariable {
164162
DartType receiverType = visitor.thisType!;
165163
ObjectAccessTarget writeTarget = visitor.findInterfaceMember(
166164
receiverType, superPropertySet.name, superPropertySet.fileOffset,
167-
callSiteAccessKind: CallSiteAccessKind.setterInvocation,
168-
instrumented: true);
165+
isSetter: true, instrumented: true);
169166
assert(writeTarget.isInstanceMember || writeTarget.isObjectMember);
170167
return _writeType = writeTarget.getSetterType(visitor);
171168
}
@@ -202,8 +199,7 @@ class SuperPropertyForInVariable implements ForInVariable {
202199
DartType receiverType = visitor.thisType!;
203200
ObjectAccessTarget writeTarget = visitor.findInterfaceMember(
204201
receiverType, superPropertySet.name, superPropertySet.fileOffset,
205-
callSiteAccessKind: CallSiteAccessKind.setterInvocation,
206-
instrumented: true);
202+
isSetter: true, instrumented: true);
207203
assert(writeTarget.isInstanceMember || writeTarget.isObjectMember);
208204
return _writeType = writeTarget.getSetterType(visitor);
209205
}

0 commit comments

Comments
 (0)