Skip to content

Commit fdf59ad

Browse files
srawlinsCommit Queue
authored and
Commit Queue
committed
Remove all support for super-mixins option
Bug: #50680 Change-Id: I96409d02e64d3e198e0fae4a55f58f871ce2aeac Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/275142 Reviewed-by: Konstantin Shcheglov <[email protected]> Reviewed-by: Samuel Rawlins <[email protected]> Reviewed-by: Brian Wilkerson <[email protected]> Commit-Queue: Samuel Rawlins <[email protected]>
1 parent 0f0e19c commit fdf59ad

File tree

15 files changed

+3
-152
lines changed

15 files changed

+3
-152
lines changed

pkg/analysis_server/doc/api.html

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3436,12 +3436,6 @@ <h2 class="domain"><a name="types">Types</a></h2>
34363436
True if the client wants to enable support for the
34373437
proposed "null aware operators" feature.
34383438
</p>
3439-
</dd><dt class="field"><b>enableSuperMixins: bool<span style="color:#999999"> (optional)</span></b></dt><dd>
3440-
3441-
<p>
3442-
True if the client wants to enable support for the
3443-
proposed "less restricted mixins" proposal (DEP 34).
3444-
</p>
34453439
</dd><dt class="field"><b>generateDart2jsHints: bool<span style="color:#999999"> (optional)</span></b></dt><dd>
34463440

34473441
<p>

pkg/analysis_server/lib/protocol/protocol_generated.dart

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2037,7 +2037,6 @@ class AnalysisOccurrencesParams implements HasToJson {
20372037
/// "enableDeferredLoading": optional bool
20382038
/// "enableEnums": optional bool
20392039
/// "enableNullAwareOperators": optional bool
2040-
/// "enableSuperMixins": optional bool
20412040
/// "generateDart2jsHints": optional bool
20422041
/// "generateHints": optional bool
20432042
/// "generateLints": optional bool
@@ -2068,10 +2067,6 @@ class AnalysisOptions implements HasToJson {
20682067
/// operators" feature.
20692068
bool? enableNullAwareOperators;
20702069

2071-
/// True if the client wants to enable support for the proposed "less
2072-
/// restricted mixins" proposal (DEP 34).
2073-
bool? enableSuperMixins;
2074-
20752070
/// True if hints that are specific to dart2js should be generated. This
20762071
/// option is ignored if generateHints is false.
20772072
bool? generateDart2jsHints;
@@ -2089,7 +2084,6 @@ class AnalysisOptions implements HasToJson {
20892084
this.enableDeferredLoading,
20902085
this.enableEnums,
20912086
this.enableNullAwareOperators,
2092-
this.enableSuperMixins,
20932087
this.generateDart2jsHints,
20942088
this.generateHints,
20952089
this.generateLints});
@@ -2119,11 +2113,6 @@ class AnalysisOptions implements HasToJson {
21192113
'$jsonPath.enableNullAwareOperators',
21202114
json['enableNullAwareOperators']);
21212115
}
2122-
bool? enableSuperMixins;
2123-
if (json.containsKey('enableSuperMixins')) {
2124-
enableSuperMixins = jsonDecoder.decodeBool(
2125-
'$jsonPath.enableSuperMixins', json['enableSuperMixins']);
2126-
}
21272116
bool? generateDart2jsHints;
21282117
if (json.containsKey('generateDart2jsHints')) {
21292118
generateDart2jsHints = jsonDecoder.decodeBool(
@@ -2144,7 +2133,6 @@ class AnalysisOptions implements HasToJson {
21442133
enableDeferredLoading: enableDeferredLoading,
21452134
enableEnums: enableEnums,
21462135
enableNullAwareOperators: enableNullAwareOperators,
2147-
enableSuperMixins: enableSuperMixins,
21482136
generateDart2jsHints: generateDart2jsHints,
21492137
generateHints: generateHints,
21502138
generateLints: generateLints);
@@ -2172,10 +2160,6 @@ class AnalysisOptions implements HasToJson {
21722160
if (enableNullAwareOperators != null) {
21732161
result['enableNullAwareOperators'] = enableNullAwareOperators;
21742162
}
2175-
var enableSuperMixins = this.enableSuperMixins;
2176-
if (enableSuperMixins != null) {
2177-
result['enableSuperMixins'] = enableSuperMixins;
2178-
}
21792163
var generateDart2jsHints = this.generateDart2jsHints;
21802164
if (generateDart2jsHints != null) {
21812165
result['generateDart2jsHints'] = generateDart2jsHints;
@@ -2201,7 +2185,6 @@ class AnalysisOptions implements HasToJson {
22012185
enableDeferredLoading == other.enableDeferredLoading &&
22022186
enableEnums == other.enableEnums &&
22032187
enableNullAwareOperators == other.enableNullAwareOperators &&
2204-
enableSuperMixins == other.enableSuperMixins &&
22052188
generateDart2jsHints == other.generateDart2jsHints &&
22062189
generateHints == other.generateHints &&
22072190
generateLints == other.generateLints;
@@ -2215,7 +2198,6 @@ class AnalysisOptions implements HasToJson {
22152198
enableDeferredLoading,
22162199
enableEnums,
22172200
enableNullAwareOperators,
2218-
enableSuperMixins,
22192201
generateDart2jsHints,
22202202
generateHints,
22212203
generateLints,

pkg/analysis_server/lib/src/services/correction/error_fix_status.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,6 @@ AnalysisOptionsHintCode.PREVIEW_DART_2_SETTING_DEPRECATED:
4646
AnalysisOptionsHintCode.STRONG_MODE_SETTING_DEPRECATED:
4747
status: needsFix
4848
notes: Fixed.
49-
AnalysisOptionsHintCode.SUPER_MIXINS_SETTING_DEPRECATED:
50-
status: needsFix
51-
notes: Fixed.
5249
AnalysisOptionsWarningCode.INCLUDE_FILE_NOT_FOUND:
5350
status: noFix
5451
notes: |-

pkg/analysis_server/lib/src/services/correction/fix/analysis_options/fix_generator.dart

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,6 @@ class AnalysisOptionsFixGenerator {
7070
await _addFix_removeSetting(coveringNodePath);
7171
} else if (errorCode == DEPRECATED_LINT_HINT) {
7272
await _addFix_removeLint(coveringNodePath);
73-
} else if (errorCode ==
74-
AnalysisOptionsHintCode.SUPER_MIXINS_SETTING_DEPRECATED) {
75-
await _addFix_removeSetting(coveringNodePath);
7673
// } else if (errorCode == AnalysisOptionsWarningCode.INCLUDED_FILE_WARNING) {
7774
// } else if (errorCode == AnalysisOptionsWarningCode.INCLUDE_FILE_NOT_FOUND) {
7875
// } else if (errorCode == AnalysisOptionsWarningCode.INVALID_OPTION) {

pkg/analysis_server/test/integration/analysis/error_test.dart

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -50,37 +50,4 @@ void f() {
5050
expect(errors, hasLength(1));
5151
expect(errors[0].location.file, equals(pathname));
5252
}
53-
54-
@failingTest
55-
Future<void> test_super_mixins_enabled() async {
56-
// We see errors here with the new driver (#28870).
57-
// Expected: empty
58-
// Actual: [
59-
// AnalysisError:{"severity":"ERROR","type":"COMPILE_TIME_ERROR","location":{"file":"/var/folders/00/0w95r000h01000cxqpysvccm003j4q/T/analysisServerfbuOQb/test.dart","offset":31,"length":1,"startLine":1,"startColumn":32},"message":"The class 'C' can't be used as a mixin because it extends a class other than Object.","correction":"","code":"mixin_inherits_from_not_object","hasFix":false},
60-
// AnalysisError:{"severity":"ERROR","type":"COMPILE_TIME_ERROR","location":{"file":"/var/folders/00/0w95r000h01000cxqpysvccm003j4q/T/analysisServerfbuOQb/test.dart","offset":31,"length":1,"startLine":1,"startColumn":32},"message":"The class 'C' can't be used as a mixin because it references 'super'.","correction":"","code":"mixin_references_super","hasFix":false}
61-
// ]
62-
63-
var pathname = sourcePath('test.dart');
64-
writeFile(pathname, '''
65-
class Test extends Object with C {
66-
void foo() {}
67-
}
68-
abstract class B {
69-
void foo() {}
70-
}
71-
abstract class C extends B {
72-
void bar() {
73-
super.foo();
74-
}
75-
}
76-
''');
77-
// ignore: deprecated_member_use_from_same_package
78-
await sendAnalysisUpdateOptions(
79-
AnalysisOptions()..enableSuperMixins = true);
80-
await standardAnalysisSetup();
81-
await analysisFinished;
82-
expect(currentAnalysisErrors[pathname], isList);
83-
var errors = currentAnalysisErrors[pathname];
84-
expect(errors, isEmpty);
85-
}
8653
}

pkg/analysis_server/test/integration/support/protocol_matchers.dart

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,6 @@ final Matcher isAnalysisErrorType = MatchesEnum('AnalysisErrorType', [
9797
/// "enableDeferredLoading": optional bool
9898
/// "enableEnums": optional bool
9999
/// "enableNullAwareOperators": optional bool
100-
/// "enableSuperMixins": optional bool
101100
/// "generateDart2jsHints": optional bool
102101
/// "generateHints": optional bool
103102
/// "generateLints": optional bool
@@ -108,7 +107,6 @@ final Matcher isAnalysisOptions = LazyMatcher(
108107
'enableDeferredLoading': isBool,
109108
'enableEnums': isBool,
110109
'enableNullAwareOperators': isBool,
111-
'enableSuperMixins': isBool,
112110
'generateDart2jsHints': isBool,
113111
'generateHints': isBool,
114112
'generateLints': isBool

pkg/analysis_server/test/src/services/correction/fix/analysis_options/remove_setting_test.dart

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,6 @@ analyzer:
2828
''');
2929
}
3030

31-
Future<void> test_enableSuperMixins() async {
32-
await assertHasFix('''
33-
analyzer:
34-
enable-experiment:
35-
- test-experiment
36-
language:
37-
enableSuperMixins: true
38-
''', '''
39-
analyzer:
40-
enable-experiment:
41-
- test-experiment
42-
''');
43-
}
44-
4531
Future<void> test_invalidExperiment_first() async {
4632
await assertHasFix('''
4733
analyzer:

pkg/analysis_server/tool/spec/generated/java/types/AnalysisOptions.java

Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,6 @@ public class AnalysisOptions {
6666
*/
6767
private final Boolean enableNullAwareOperators;
6868

69-
/**
70-
* True if the client wants to enable support for the proposed "less restricted mixins" proposal
71-
* (DEP 34).
72-
*/
73-
private final Boolean enableSuperMixins;
74-
7569
/**
7670
* True if hints that are specific to dart2js should be generated. This option is ignored if
7771
* generateHints is false.
@@ -91,12 +85,11 @@ public class AnalysisOptions {
9185
/**
9286
* Constructor for {@link AnalysisOptions}.
9387
*/
94-
public AnalysisOptions(Boolean enableAsync, Boolean enableDeferredLoading, Boolean enableEnums, Boolean enableNullAwareOperators, Boolean enableSuperMixins, Boolean generateDart2jsHints, Boolean generateHints, Boolean generateLints) {
88+
public AnalysisOptions(Boolean enableAsync, Boolean enableDeferredLoading, Boolean enableEnums, Boolean enableNullAwareOperators, Boolean generateDart2jsHints, Boolean generateHints, Boolean generateLints) {
9589
this.enableAsync = enableAsync;
9690
this.enableDeferredLoading = enableDeferredLoading;
9791
this.enableEnums = enableEnums;
9892
this.enableNullAwareOperators = enableNullAwareOperators;
99-
this.enableSuperMixins = enableSuperMixins;
10093
this.generateDart2jsHints = generateDart2jsHints;
10194
this.generateHints = generateHints;
10295
this.generateLints = generateLints;
@@ -111,7 +104,6 @@ public boolean equals(Object obj) {
111104
ObjectUtilities.equals(other.enableDeferredLoading, enableDeferredLoading) &&
112105
ObjectUtilities.equals(other.enableEnums, enableEnums) &&
113106
ObjectUtilities.equals(other.enableNullAwareOperators, enableNullAwareOperators) &&
114-
ObjectUtilities.equals(other.enableSuperMixins, enableSuperMixins) &&
115107
ObjectUtilities.equals(other.generateDart2jsHints, generateDart2jsHints) &&
116108
ObjectUtilities.equals(other.generateHints, generateHints) &&
117109
ObjectUtilities.equals(other.generateLints, generateLints);
@@ -124,11 +116,10 @@ public static AnalysisOptions fromJson(JsonObject jsonObject) {
124116
Boolean enableDeferredLoading = jsonObject.get("enableDeferredLoading") == null ? null : jsonObject.get("enableDeferredLoading").getAsBoolean();
125117
Boolean enableEnums = jsonObject.get("enableEnums") == null ? null : jsonObject.get("enableEnums").getAsBoolean();
126118
Boolean enableNullAwareOperators = jsonObject.get("enableNullAwareOperators") == null ? null : jsonObject.get("enableNullAwareOperators").getAsBoolean();
127-
Boolean enableSuperMixins = jsonObject.get("enableSuperMixins") == null ? null : jsonObject.get("enableSuperMixins").getAsBoolean();
128119
Boolean generateDart2jsHints = jsonObject.get("generateDart2jsHints") == null ? null : jsonObject.get("generateDart2jsHints").getAsBoolean();
129120
Boolean generateHints = jsonObject.get("generateHints") == null ? null : jsonObject.get("generateHints").getAsBoolean();
130121
Boolean generateLints = jsonObject.get("generateLints") == null ? null : jsonObject.get("generateLints").getAsBoolean();
131-
return new AnalysisOptions(enableAsync, enableDeferredLoading, enableEnums, enableNullAwareOperators, enableSuperMixins, generateDart2jsHints, generateHints, generateLints);
122+
return new AnalysisOptions(enableAsync, enableDeferredLoading, enableEnums, enableNullAwareOperators, generateDart2jsHints, generateHints, generateLints);
132123
}
133124

134125
public static List<AnalysisOptions> fromJsonArray(JsonArray jsonArray) {
@@ -179,14 +170,6 @@ public Boolean getEnableNullAwareOperators() {
179170
return enableNullAwareOperators;
180171
}
181172

182-
/**
183-
* True if the client wants to enable support for the proposed "less restricted mixins" proposal
184-
* (DEP 34).
185-
*/
186-
public Boolean getEnableSuperMixins() {
187-
return enableSuperMixins;
188-
}
189-
190173
/**
191174
* True if hints that are specific to dart2js should be generated. This option is ignored if
192175
* generateHints is false.
@@ -216,7 +199,6 @@ public int hashCode() {
216199
builder.append(enableDeferredLoading);
217200
builder.append(enableEnums);
218201
builder.append(enableNullAwareOperators);
219-
builder.append(enableSuperMixins);
220202
builder.append(generateDart2jsHints);
221203
builder.append(generateHints);
222204
builder.append(generateLints);
@@ -237,9 +219,6 @@ public JsonObject toJson() {
237219
if (enableNullAwareOperators != null) {
238220
jsonObject.addProperty("enableNullAwareOperators", enableNullAwareOperators);
239221
}
240-
if (enableSuperMixins != null) {
241-
jsonObject.addProperty("enableSuperMixins", enableSuperMixins);
242-
}
243222
if (generateDart2jsHints != null) {
244223
jsonObject.addProperty("generateDart2jsHints", generateDart2jsHints);
245224
}
@@ -264,8 +243,6 @@ public String toString() {
264243
builder.append(enableEnums + ", ");
265244
builder.append("enableNullAwareOperators=");
266245
builder.append(enableNullAwareOperators + ", ");
267-
builder.append("enableSuperMixins=");
268-
builder.append(enableSuperMixins + ", ");
269246
builder.append("generateDart2jsHints=");
270247
builder.append(generateDart2jsHints + ", ");
271248
builder.append("generateHints=");

pkg/analysis_server/tool/spec/spec_input.html

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3549,13 +3549,6 @@ <h2 class="domain"><a name="types">Types</a></h2>
35493549
proposed "null aware operators" feature.
35503550
</p>
35513551
</field>
3552-
<field name="enableSuperMixins" optional="true">
3553-
<ref>bool</ref>
3554-
<p>
3555-
True if the client wants to enable support for the
3556-
proposed "less restricted mixins" proposal (DEP 34).
3557-
</p>
3558-
</field>
35593552
<field name="generateDart2jsHints" optional="true">
35603553
<ref>bool</ref>
35613554
<p>

pkg/analysis_server_client/lib/src/protocol/protocol_generated.dart

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2037,7 +2037,6 @@ class AnalysisOccurrencesParams implements HasToJson {
20372037
/// "enableDeferredLoading": optional bool
20382038
/// "enableEnums": optional bool
20392039
/// "enableNullAwareOperators": optional bool
2040-
/// "enableSuperMixins": optional bool
20412040
/// "generateDart2jsHints": optional bool
20422041
/// "generateHints": optional bool
20432042
/// "generateLints": optional bool
@@ -2068,10 +2067,6 @@ class AnalysisOptions implements HasToJson {
20682067
/// operators" feature.
20692068
bool? enableNullAwareOperators;
20702069

2071-
/// True if the client wants to enable support for the proposed "less
2072-
/// restricted mixins" proposal (DEP 34).
2073-
bool? enableSuperMixins;
2074-
20752070
/// True if hints that are specific to dart2js should be generated. This
20762071
/// option is ignored if generateHints is false.
20772072
bool? generateDart2jsHints;
@@ -2089,7 +2084,6 @@ class AnalysisOptions implements HasToJson {
20892084
this.enableDeferredLoading,
20902085
this.enableEnums,
20912086
this.enableNullAwareOperators,
2092-
this.enableSuperMixins,
20932087
this.generateDart2jsHints,
20942088
this.generateHints,
20952089
this.generateLints});
@@ -2119,11 +2113,6 @@ class AnalysisOptions implements HasToJson {
21192113
'$jsonPath.enableNullAwareOperators',
21202114
json['enableNullAwareOperators']);
21212115
}
2122-
bool? enableSuperMixins;
2123-
if (json.containsKey('enableSuperMixins')) {
2124-
enableSuperMixins = jsonDecoder.decodeBool(
2125-
'$jsonPath.enableSuperMixins', json['enableSuperMixins']);
2126-
}
21272116
bool? generateDart2jsHints;
21282117
if (json.containsKey('generateDart2jsHints')) {
21292118
generateDart2jsHints = jsonDecoder.decodeBool(
@@ -2144,7 +2133,6 @@ class AnalysisOptions implements HasToJson {
21442133
enableDeferredLoading: enableDeferredLoading,
21452134
enableEnums: enableEnums,
21462135
enableNullAwareOperators: enableNullAwareOperators,
2147-
enableSuperMixins: enableSuperMixins,
21482136
generateDart2jsHints: generateDart2jsHints,
21492137
generateHints: generateHints,
21502138
generateLints: generateLints);
@@ -2172,10 +2160,6 @@ class AnalysisOptions implements HasToJson {
21722160
if (enableNullAwareOperators != null) {
21732161
result['enableNullAwareOperators'] = enableNullAwareOperators;
21742162
}
2175-
var enableSuperMixins = this.enableSuperMixins;
2176-
if (enableSuperMixins != null) {
2177-
result['enableSuperMixins'] = enableSuperMixins;
2178-
}
21792163
var generateDart2jsHints = this.generateDart2jsHints;
21802164
if (generateDart2jsHints != null) {
21812165
result['generateDart2jsHints'] = generateDart2jsHints;
@@ -2201,7 +2185,6 @@ class AnalysisOptions implements HasToJson {
22012185
enableDeferredLoading == other.enableDeferredLoading &&
22022186
enableEnums == other.enableEnums &&
22032187
enableNullAwareOperators == other.enableNullAwareOperators &&
2204-
enableSuperMixins == other.enableSuperMixins &&
22052188
generateDart2jsHints == other.generateDart2jsHints &&
22062189
generateHints == other.generateHints &&
22072190
generateLints == other.generateLints;
@@ -2215,7 +2198,6 @@ class AnalysisOptions implements HasToJson {
22152198
enableDeferredLoading,
22162199
enableEnums,
22172200
enableNullAwareOperators,
2218-
enableSuperMixins,
22192201
generateDart2jsHints,
22202202
generateHints,
22212203
generateLints,

pkg/analyzer/lib/src/analysis_options/error/option_codes.g.dart

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -77,16 +77,6 @@ class AnalysisOptionsHintCode extends ErrorCode {
7777
"It is no longer necessary to explicitly enable strong mode.",
7878
);
7979

80-
/// An error code indicating that the enablePreviewDart2 setting is
81-
/// deprecated.
82-
static const AnalysisOptionsHintCode SUPER_MIXINS_SETTING_DEPRECATED =
83-
AnalysisOptionsHintCode(
84-
'SUPER_MIXINS_SETTING_DEPRECATED',
85-
"The 'enableSuperMixins' setting is deprecated.",
86-
correctionMessage:
87-
"Support has been added to the language for 'mixin' based mixins.",
88-
);
89-
9080
/// Initialize a newly created error code to have the given [name].
9181
const AnalysisOptionsHintCode(
9282
String name,

pkg/analyzer/lib/src/error/error_code_values.g.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ const List<ErrorCode> errorCodeValues = [
2424
AnalysisOptionsErrorCode.PARSE_ERROR,
2525
AnalysisOptionsHintCode.PREVIEW_DART_2_SETTING_DEPRECATED,
2626
AnalysisOptionsHintCode.STRONG_MODE_SETTING_DEPRECATED,
27-
AnalysisOptionsHintCode.SUPER_MIXINS_SETTING_DEPRECATED,
2827
AnalysisOptionsWarningCode.INCLUDED_FILE_WARNING,
2928
AnalysisOptionsWarningCode.INCLUDE_FILE_NOT_FOUND,
3029
AnalysisOptionsWarningCode.INVALID_OPTION,

0 commit comments

Comments
 (0)