Skip to content

Commit a303304

Browse files
johnniwintherCommit Queue
authored andcommitted
[cfe] Remove MemberBuilder.isAbstract
This removes isAbstract from MemberBuilder in order to prepare for using one builder for a getter/setter pair. Change-Id: Ie25efcb51ca6479c2df71c13518ada33177c8434 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/424421 Reviewed-by: Chloe Stefantsova <[email protected]> Commit-Queue: Johnni Winther <[email protected]>
1 parent db44830 commit a303304

20 files changed

+199
-205
lines changed

pkg/front_end/lib/src/base/scope.dart

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -470,10 +470,6 @@ mixin ErroneousMemberBuilderMixin implements SourceMemberBuilder {
470470
// Coverage-ignore(suite): Not run.
471471
bool get isProperty => throw new UnsupportedError("$runtimeType.isProperty");
472472

473-
@override
474-
// Coverage-ignore(suite): Not run.
475-
bool get isAbstract => false;
476-
477473
@override
478474
// Coverage-ignore(suite): Not run.
479475
bool get isFinal => false;
@@ -482,10 +478,6 @@ mixin ErroneousMemberBuilderMixin implements SourceMemberBuilder {
482478
// Coverage-ignore(suite): Not run.
483479
bool get isSynthesized => false;
484480

485-
@override
486-
// Coverage-ignore(suite): Not run.
487-
bool get isEnumElement => false;
488-
489481
@override
490482
bool get isConflictingSetter => false;
491483

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ abstract class IDeclarationBuilder implements ITypeDeclarationBuilder {
1414

1515
LibraryBuilder get libraryBuilder;
1616

17-
//bool get isExtension;
18-
1917
@override
2018
Uri get fileUri;
2119

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

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,6 @@ abstract class MemberBuilder implements Builder, LookupResult {
8787
/// the getter and setter capabilities.
8888
Iterable<Reference> get exportedMemberReferences;
8989

90-
bool get isAbstract;
91-
92-
/// Returns `true` if this member is declared by an enum element.
93-
bool get isEnumElement;
94-
9590
/// Returns `true` if this member is a setter that conflicts with the implicit
9691
/// setter of a field.
9792
bool get isConflictingSetter;
@@ -213,9 +208,6 @@ abstract class BuilderClassMember implements ClassMember {
213208
return declarationBuilder == objectClass;
214209
}
215210

216-
@override
217-
bool get isAbstract => memberBuilder.isAbstract;
218-
219211
@override
220212
// Coverage-ignore(suite): Not run.
221213
bool get isSynthesized => false;

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,19 @@ import 'package:kernel/ast.dart';
77
import 'member_builder.dart';
88

99
abstract class MethodBuilder implements MemberBuilder {
10+
bool get isAbstract;
11+
12+
/// Returns `true` if this method is an operator method.
1013
bool get isOperator;
1114

1215
@override
1316
Reference get invokeTargetReference;
1417
}
1518

19+
/// Helper extension with helpers that are derived from other properties of
20+
/// a [MethodBuilder].
1621
extension MethodBuilderExtension on MethodBuilder {
22+
/// Return `true` if this method is a regular method, i.e. _not_ an operator
23+
/// method.
1724
bool get isRegularMethod => !isOperator;
1825
}

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

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ abstract class PropertyBuilder implements MemberBuilder {
99
/// Returns `true` if this property builder has a constant field declaration.
1010
bool get hasConstField;
1111

12+
/// Returns `true` if this property is declared by an enum element.
13+
bool get isEnumElement;
14+
1215
/// Returns a [FieldQuality] enum value that describes what kind of field this
1316
/// property has, if any.
1417
FieldQuality get fieldQuality;
@@ -221,7 +224,9 @@ extension PropertyBuilderExtension on PropertyBuilder {
221224

222225
/// Returns `true` if this property builder has an abstract getter
223226
/// declaration.
224-
bool get hasAbstractGetter => getterQuality == GetterQuality.Abstract;
227+
bool get hasAbstractGetter =>
228+
getterQuality == GetterQuality.Abstract ||
229+
getterQuality == GetterQuality.ImplicitAbstract;
225230

226231
/// Returns `true` if this property builder has an explicit getter, i.e. is
227232
/// has a getter that is not an implicit getter from a field declaration.
@@ -234,6 +239,12 @@ extension PropertyBuilderExtension on PropertyBuilder {
234239
/// Returns `true` if this property builder has a setter.
235240
bool get hasSetter => setterQuality != SetterQuality.Absent;
236241

242+
/// Returns `true` if this property builder has an abstract setter
243+
/// declaration.
244+
bool get hasAbstractSetter =>
245+
setterQuality == SetterQuality.Abstract ||
246+
setterQuality == SetterQuality.ImplicitAbstract;
247+
237248
/// Returns `true` if this property builder has an explicit setter, i.e. is
238249
/// has a setter that is not an implicit setter from a field declaration.
239250
bool get hasExplicitSetter =>

pkg/front_end/lib/src/dill/dill_builder_mixins.dart

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,6 @@ mixin DillConstructorBuilderMixin
5050
// Coverage-ignore(suite): Not run.
5151
bool get isProperty => false;
5252

53-
@override
54-
// Coverage-ignore(suite): Not run.
55-
bool get isEnumElement => false;
56-
5753
@override
5854
// Coverage-ignore(suite): Not run.
5955
Member? get writeTarget => null;
@@ -193,10 +189,6 @@ mixin DillMethodBuilderMixin implements DillMemberBuilder, MethodBuilder {
193189
@override
194190
bool get isOperator => false;
195191

196-
@override
197-
// Coverage-ignore(suite): Not run.
198-
bool get isEnumElement => false;
199-
200192
@override
201193
Builder get getable => this;
202194

@@ -228,10 +220,6 @@ mixin DillOperatorBuilderMixin implements DillMemberBuilder, MethodBuilder {
228220
@override
229221
bool get isOperator => true;
230222

231-
@override
232-
// Coverage-ignore(suite): Not run.
233-
bool get isEnumElement => false;
234-
235223
@override
236224
// Coverage-ignore(suite): Not run.
237225
Builder get getable => this;
@@ -270,10 +258,6 @@ mixin DillFactoryBuilderMixin implements DillMemberBuilder, FactoryBuilder {
270258
// Coverage-ignore(suite): Not run.
271259
bool get isProperty => false;
272260

273-
@override
274-
// Coverage-ignore(suite): Not run.
275-
bool get isEnumElement => false;
276-
277261
@override
278262
// Coverage-ignore(suite): Not run.
279263
Builder get getable => this;

pkg/front_end/lib/src/dill/dill_class_builder.dart

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -127,19 +127,19 @@ class DillClassBuilder extends ClassBuilderImpl
127127
DillFieldBuilder builder =
128128
new DillFieldBuilder(field, libraryBuilder, this);
129129
String name = field.name.text;
130-
nameSpace.addLocalMember(name, builder, setter: false);
130+
_nameSpace.addLocalMember(name, builder, setter: false);
131131
}
132132

133133
void addConstructor(Constructor constructor, Procedure? constructorTearOff) {
134134
DillConstructorBuilder builder = new DillConstructorBuilder(
135135
constructor, constructorTearOff, libraryBuilder, this);
136136
String name = constructor.name.text;
137-
nameSpace.addConstructor(name, builder);
137+
_nameSpace.addConstructor(name, builder);
138138
}
139139

140140
void addFactory(Procedure factory, Procedure? factoryTearOff) {
141141
String name = factory.name.text;
142-
nameSpace.addConstructor(name,
142+
_nameSpace.addConstructor(name,
143143
new DillFactoryBuilder(factory, factoryTearOff, libraryBuilder, this));
144144
}
145145

@@ -150,22 +150,22 @@ class DillClassBuilder extends ClassBuilderImpl
150150
// Coverage-ignore(suite): Not run.
151151
throw new UnsupportedError("Use addFactory for adding factories");
152152
case ProcedureKind.Setter:
153-
nameSpace.addLocalMember(
153+
_nameSpace.addLocalMember(
154154
name, new DillSetterBuilder(procedure, libraryBuilder, this),
155155
setter: true);
156156
break;
157157
case ProcedureKind.Getter:
158-
nameSpace.addLocalMember(
158+
_nameSpace.addLocalMember(
159159
name, new DillGetterBuilder(procedure, libraryBuilder, this),
160160
setter: false);
161161
break;
162162
case ProcedureKind.Operator:
163-
nameSpace.addLocalMember(
163+
_nameSpace.addLocalMember(
164164
name, new DillOperatorBuilder(procedure, libraryBuilder, this),
165165
setter: false);
166166
break;
167167
case ProcedureKind.Method:
168-
nameSpace.addLocalMember(
168+
_nameSpace.addLocalMember(
169169
name, new DillMethodBuilder(procedure, libraryBuilder, this),
170170
setter: false);
171171
break;

pkg/front_end/lib/src/dill/dill_extension_builder.dart

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class DillExtensionBuilder extends ExtensionBuilderImpl
3333
case ExtensionMemberKind.Method:
3434
if (descriptor.isStatic) {
3535
Procedure procedure = descriptor.memberReference!.asProcedure;
36-
nameSpace.addLocalMember(
36+
_nameSpace.addLocalMember(
3737
name.text,
3838
new DillExtensionStaticMethodBuilder(
3939
procedure, descriptor, libraryBuilder, this),
@@ -42,7 +42,7 @@ class DillExtensionBuilder extends ExtensionBuilderImpl
4242
Procedure procedure = descriptor.memberReference!.asProcedure;
4343
Procedure? tearOff = descriptor.tearOffReference?.asProcedure;
4444
assert(tearOff != null, "No tear found for ${descriptor}");
45-
nameSpace.addLocalMember(
45+
_nameSpace.addLocalMember(
4646
name.text,
4747
new DillExtensionInstanceMethodBuilder(
4848
procedure, descriptor, libraryBuilder, this, tearOff!),
@@ -51,31 +51,31 @@ class DillExtensionBuilder extends ExtensionBuilderImpl
5151
break;
5252
case ExtensionMemberKind.Getter:
5353
Procedure procedure = descriptor.memberReference!.asProcedure;
54-
nameSpace.addLocalMember(
54+
_nameSpace.addLocalMember(
5555
name.text,
5656
new DillExtensionGetterBuilder(
5757
procedure, descriptor, libraryBuilder, this),
5858
setter: false);
5959
break;
6060
case ExtensionMemberKind.Field:
6161
Field field = descriptor.memberReference!.asField;
62-
nameSpace.addLocalMember(
62+
_nameSpace.addLocalMember(
6363
name.text,
6464
new DillExtensionFieldBuilder(
6565
field, descriptor, libraryBuilder, this),
6666
setter: false);
6767
break;
6868
case ExtensionMemberKind.Setter:
6969
Procedure procedure = descriptor.memberReference!.asProcedure;
70-
nameSpace.addLocalMember(
70+
_nameSpace.addLocalMember(
7171
name.text,
7272
new DillExtensionSetterBuilder(
7373
procedure, descriptor, libraryBuilder, this),
7474
setter: true);
7575
break;
7676
case ExtensionMemberKind.Operator:
7777
Procedure procedure = descriptor.memberReference!.asProcedure;
78-
nameSpace.addLocalMember(
78+
_nameSpace.addLocalMember(
7979
name.text,
8080
new DillExtensionOperatorBuilder(
8181
procedure, descriptor, libraryBuilder, this),

0 commit comments

Comments
 (0)