Skip to content

Commit 5543d88

Browse files
scheglovCommit Queue
authored and
Commit Queue
committed
AE. Deprecate OnClause, use MixinOnClause instead.
Change-Id: I938a1ff4046851c46c6ae4cebdff25e05e88300f Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/360741 Reviewed-by: Brian Wilkerson <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent 5b262d8 commit 5543d88

35 files changed

+288
-198
lines changed

pkg/analysis_server/lib/src/computer/computer_highlights.dart

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1248,6 +1248,12 @@ class _DartUnitHighlightsComputerVisitor extends RecursiveAstVisitor<void> {
12481248
super.visitMixinDeclaration(node);
12491249
}
12501250

1251+
@override
1252+
void visitMixinOnClause(MixinOnClause node) {
1253+
computer._addRegion_token(node.onKeyword, HighlightRegionType.BUILT_IN);
1254+
super.visitMixinOnClause(node);
1255+
}
1256+
12511257
@override
12521258
void visitNamedType(NamedType node) {
12531259
if (node.importPrefix case final importPrefix?) {
@@ -1300,12 +1306,6 @@ class _DartUnitHighlightsComputerVisitor extends RecursiveAstVisitor<void> {
13001306
super.visitNullLiteral(node);
13011307
}
13021308

1303-
@override
1304-
void visitOnClause(OnClause node) {
1305-
computer._addRegion_token(node.onKeyword, HighlightRegionType.BUILT_IN);
1306-
super.visitOnClause(node);
1307-
}
1308-
13091309
@override
13101310
void visitPartDirective(PartDirective node) {
13111311
computer._addRegion_node(node, HighlightRegionType.DIRECTIVE);

pkg/analysis_server/lib/src/services/completion/dart/in_scope_completion_pass.dart

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1795,6 +1795,16 @@ class InScopeCompletionPass extends SimpleAstVisitor<void> {
17951795
}
17961796
}
17971797

1798+
@override
1799+
void visitMixinOnClause(MixinOnClause node) {
1800+
var onKeyword = node.onKeyword;
1801+
if (offset <= onKeyword.end) {
1802+
keywordHelper.addKeyword(Keyword.ON);
1803+
} else {
1804+
_forTypeAnnotation(node);
1805+
}
1806+
}
1807+
17981808
@override
17991809
void visitNamedExpression(NamedExpression node) {
18001810
if (offset <= node.name.label.end) {
@@ -1882,16 +1892,6 @@ class InScopeCompletionPass extends SimpleAstVisitor<void> {
18821892
}
18831893
}
18841894

1885-
@override
1886-
void visitOnClause(OnClause node) {
1887-
var onKeyword = node.onKeyword;
1888-
if (offset <= onKeyword.end) {
1889-
keywordHelper.addKeyword(Keyword.ON);
1890-
} else {
1891-
_forTypeAnnotation(node);
1892-
}
1893-
}
1894-
18951895
@override
18961896
void visitParenthesizedExpression(ParenthesizedExpression node) {
18971897
var expression = node.expression;
@@ -3671,9 +3671,9 @@ extension on AstNode {
36713671
MethodDeclaration(:var metadata) => metadata.contains(child),
36723672
MixinDeclaration(:var members, :var metadata) =>
36733673
members.contains(child) || metadata.contains(child),
3674-
ObjectPattern(:var fields) => fields.contains(child),
3675-
OnClause(:var superclassConstraints) =>
3674+
MixinOnClause(:var superclassConstraints) =>
36763675
superclassConstraints.contains(child),
3676+
ObjectPattern(:var fields) => fields.contains(child),
36773677
PartDirective(:var metadata) => metadata.contains(child),
36783678
PartOfDirective(:var metadata) => metadata.contains(child),
36793679
PatternVariableDeclaration(:var metadata) => metadata.contains(child),

pkg/analysis_server/lib/src/services/correction/dart/remove_name_from_declaration_clause.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class RemoveNameFromDeclarationClause extends ResolvedCorrectionProducer {
3535
} else if (clause is ImplementsClause) {
3636
clauseName = 'implements';
3737
nameList = clause.interfaces;
38-
} else if (clause is OnClause) {
38+
} else if (clause is MixinOnClause) {
3939
clauseName = 'on';
4040
nameList = clause.superclassConstraints;
4141
} else if (clause is WithClause) {

pkg/analysis_server/lib/src/utilities/selection.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -267,13 +267,13 @@ class _ChildrenFinder extends SimpleAstVisitor<void> {
267267
}
268268

269269
@override
270-
void visitObjectPattern(ObjectPattern node) {
271-
_fromList(node.fields);
270+
void visitMixinOnClause(MixinOnClause node) {
271+
_fromList(node.superclassConstraints);
272272
}
273273

274274
@override
275-
void visitOnClause(OnClause node) {
276-
_fromList(node.superclassConstraints);
275+
void visitObjectPattern(ObjectPattern node) {
276+
_fromList(node.fields);
277277
}
278278

279279
@override

pkg/analysis_server/tool/code_completion/code_metrics.dart

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -945,6 +945,14 @@ class CodeShapeDataCollector extends RecursiveAstVisitor<void> {
945945
super.visitMixinDeclaration(node);
946946
}
947947

948+
@override
949+
void visitMixinOnClause(MixinOnClause node) {
950+
_visitChildren(node, {
951+
'superclassConstraints': node.superclassConstraints,
952+
});
953+
super.visitMixinOnClause(node);
954+
}
955+
948956
@override
949957
void visitNamedExpression(NamedExpression node) {
950958
_visitChildren(node, {
@@ -985,14 +993,6 @@ class CodeShapeDataCollector extends RecursiveAstVisitor<void> {
985993
super.visitNullLiteral(node);
986994
}
987995

988-
@override
989-
void visitOnClause(OnClause node) {
990-
_visitChildren(node, {
991-
'superclassConstraints': node.superclassConstraints,
992-
});
993-
super.visitOnClause(node);
994-
}
995-
996996
@override
997997
void visitParenthesizedExpression(ParenthesizedExpression node) {
998998
_visitChildren(node, {

pkg/analysis_server/tool/code_completion/relevance_metrics.dart

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1036,6 +1036,14 @@ class RelevanceDataCollector extends RecursiveAstVisitor<void> {
10361036
inGenericContext = wasInGenericContext;
10371037
}
10381038

1039+
@override
1040+
void visitMixinOnClause(MixinOnClause node) {
1041+
for (var constraint in node.superclassConstraints) {
1042+
_recordDataForNode('OnClause (type)', constraint);
1043+
}
1044+
super.visitMixinOnClause(node);
1045+
}
1046+
10391047
@override
10401048
void visitNamedExpression(NamedExpression node) {
10411049
// Named expressions only occur in argument lists and are handled there.
@@ -1066,14 +1074,6 @@ class RelevanceDataCollector extends RecursiveAstVisitor<void> {
10661074
super.visitNullLiteral(node);
10671075
}
10681076

1069-
@override
1070-
void visitOnClause(OnClause node) {
1071-
for (var constraint in node.superclassConstraints) {
1072-
_recordDataForNode('OnClause (type)', constraint);
1073-
}
1074-
super.visitOnClause(node);
1075-
}
1076-
10771077
@override
10781078
void visitParenthesizedExpression(ParenthesizedExpression node) {
10791079
_recordDataForNode('ParenthesizedExpression (expression)', node.expression,

pkg/analysis_server/tool/code_completion/relevance_table_generator.dart

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -966,6 +966,14 @@ class RelevanceDataCollector extends RecursiveAstVisitor<void> {
966966
super.visitMixinDeclaration(node);
967967
}
968968

969+
@override
970+
void visitMixinOnClause(MixinOnClause node) {
971+
for (var constraint in node.superclassConstraints) {
972+
_recordDataForNode('OnClause_superclassConstraint', constraint);
973+
}
974+
super.visitMixinOnClause(node);
975+
}
976+
969977
@override
970978
void visitNamedExpression(NamedExpression node) {
971979
// Named expressions only occur in argument lists and are handled there.
@@ -996,14 +1004,6 @@ class RelevanceDataCollector extends RecursiveAstVisitor<void> {
9961004
super.visitNullLiteral(node);
9971005
}
9981006

999-
@override
1000-
void visitOnClause(OnClause node) {
1001-
for (var constraint in node.superclassConstraints) {
1002-
_recordDataForNode('OnClause_superclassConstraint', constraint);
1003-
}
1004-
super.visitOnClause(node);
1005-
}
1006-
10071007
@override
10081008
void visitParenthesizedExpression(ParenthesizedExpression node) {
10091009
_recordDataForNode('ParenthesizedExpression_expression', node.expression,

pkg/analysis_server/tool/code_completion/visitors.dart

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -560,6 +560,12 @@ class ExpectedCompletionsVisitor extends RecursiveAstVisitor<void> {
560560
super.visitMixinDeclaration(node);
561561
}
562562

563+
@override
564+
void visitMixinOnClause(MixinOnClause node) {
565+
safelyRecordKeywordCompletion(node.onKeyword);
566+
super.visitMixinOnClause(node);
567+
}
568+
563569
@override
564570
void visitNativeClause(NativeClause node) {
565571
safelyRecordKeywordCompletion(node.nativeKeyword);
@@ -578,12 +584,6 @@ class ExpectedCompletionsVisitor extends RecursiveAstVisitor<void> {
578584
super.visitNullLiteral(node);
579585
}
580586

581-
@override
582-
void visitOnClause(OnClause node) {
583-
safelyRecordKeywordCompletion(node.onKeyword);
584-
super.visitOnClause(node);
585-
}
586-
587587
@override
588588
void visitPartDirective(PartDirective node) {
589589
safelyRecordKeywordCompletion(node.partKeyword);

pkg/analyzer/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
use `PropertyInducingElement? get variable2` instead.
1010
The reason for this is that when the property accessor is an augmentation
1111
without the corresponding declaration, there is no corresponding variable.
12+
* Deprecated `ExtensionDeclaration.onKeyword` and `extendedType`.
13+
Use `ExtensionOnClause? get onClause` instead.
14+
Extension augmentations are not allowed to have `onClause`.
15+
* Deprecated `OnClause`, use `MixinOnClause` instead.
1216

1317
## 6.4.1
1418
* Patch for crash in ffi_verifier.

pkg/analyzer/lib/dart/ast/ast.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ export 'package:analyzer/src/dart/ast/ast.dart'
168168
MethodInvocation,
169169
MethodReferenceExpression,
170170
MixinDeclaration,
171+
MixinOnClause,
171172
NamedCompilationUnitMember,
172173
NamedExpression,
173174
NamedType,
@@ -181,6 +182,7 @@ export 'package:analyzer/src/dart/ast/ast.dart'
181182
NullLiteral,
182183
NullShortableExpression,
183184
ObjectPattern,
185+
// ignore:deprecated_member_use_from_same_package
184186
OnClause,
185187
ParenthesizedExpression,
186188
ParenthesizedPattern,

pkg/analyzer/lib/dart/ast/visitor.dart

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -515,6 +515,12 @@ class GeneralizingAstVisitor<R> implements AstVisitor<R> {
515515
R? visitMixinDeclaration(MixinDeclaration node) =>
516516
visitNamedCompilationUnitMember(node);
517517

518+
@override
519+
R? visitMixinOnClause(MixinOnClause node) {
520+
// ignore:deprecated_member_use_from_same_package
521+
return visitOnClause(node);
522+
}
523+
518524
R? visitNamedCompilationUnitMember(NamedCompilationUnitMember node) =>
519525
visitCompilationUnitMember(node);
520526

@@ -554,6 +560,7 @@ class GeneralizingAstVisitor<R> implements AstVisitor<R> {
554560
@override
555561
R? visitObjectPattern(ObjectPattern node) => visitDartPattern(node);
556562

563+
@Deprecated('Use visitMixinOnClause() instead')
557564
@override
558565
R? visitOnClause(OnClause node) => visitNode(node);
559566

@@ -1408,6 +1415,12 @@ class RecursiveAstVisitor<R> implements AstVisitor<R> {
14081415
return null;
14091416
}
14101417

1418+
@override
1419+
R? visitMixinOnClause(MixinOnClause node) {
1420+
// ignore:deprecated_member_use_from_same_package
1421+
return visitOnClause(node);
1422+
}
1423+
14111424
@override
14121425
R? visitNamedExpression(NamedExpression node) {
14131426
node.visitChildren(this);
@@ -1456,6 +1469,7 @@ class RecursiveAstVisitor<R> implements AstVisitor<R> {
14561469
return null;
14571470
}
14581471

1472+
@Deprecated('Use visitMixinOnClause() instead')
14591473
@override
14601474
R? visitOnClause(OnClause node) {
14611475
node.visitChildren(this);
@@ -2148,6 +2162,12 @@ class SimpleAstVisitor<R> implements AstVisitor<R> {
21482162
@override
21492163
R? visitMixinDeclaration(MixinDeclaration node) => null;
21502164

2165+
@override
2166+
R? visitMixinOnClause(MixinOnClause node) {
2167+
// ignore:deprecated_member_use_from_same_package
2168+
return visitOnClause(node);
2169+
}
2170+
21512171
@override
21522172
R? visitNamedExpression(NamedExpression node) => null;
21532173

@@ -2172,6 +2192,7 @@ class SimpleAstVisitor<R> implements AstVisitor<R> {
21722192
@override
21732193
R? visitObjectPattern(ObjectPattern node) => null;
21742194

2195+
@Deprecated('Use visitMixinOnClause() instead')
21752196
@override
21762197
R? visitOnClause(OnClause node) => null;
21772198

@@ -2696,6 +2717,12 @@ class ThrowingAstVisitor<R> implements AstVisitor<R> {
26962717
@override
26972718
R? visitMixinDeclaration(MixinDeclaration node) => _throw(node);
26982719

2720+
@override
2721+
R? visitMixinOnClause(MixinOnClause node) {
2722+
// ignore:deprecated_member_use_from_same_package
2723+
return visitOnClause(node);
2724+
}
2725+
26992726
@override
27002727
R? visitNamedExpression(NamedExpression node) => _throw(node);
27012728

@@ -2720,6 +2747,7 @@ class ThrowingAstVisitor<R> implements AstVisitor<R> {
27202747
@override
27212748
R? visitObjectPattern(ObjectPattern node) => _throw(node);
27222749

2750+
@Deprecated('Use visitMixinOnClause() instead')
27232751
@override
27242752
R? visitOnClause(OnClause node) => _throw(node);
27252753

@@ -3758,6 +3786,12 @@ class TimedAstVisitor<T> implements AstVisitor<T> {
37583786
return result;
37593787
}
37603788

3789+
@override
3790+
T? visitMixinOnClause(MixinOnClause node) {
3791+
// ignore:deprecated_member_use_from_same_package
3792+
return visitOnClause(node);
3793+
}
3794+
37613795
@override
37623796
T? visitNamedExpression(NamedExpression node) {
37633797
stopwatch.start();
@@ -3822,6 +3856,7 @@ class TimedAstVisitor<T> implements AstVisitor<T> {
38223856
return result;
38233857
}
38243858

3859+
@Deprecated('Use visitMixinOnClause() instead')
38253860
@override
38263861
T? visitOnClause(OnClause node) {
38273862
stopwatch.start();
@@ -4657,6 +4692,12 @@ class UnifyingAstVisitor<R> implements AstVisitor<R> {
46574692
@override
46584693
R? visitMixinDeclaration(MixinDeclaration node) => visitNode(node);
46594694

4695+
@override
4696+
R? visitMixinOnClause(MixinOnClause node) {
4697+
// ignore:deprecated_member_use_from_same_package
4698+
return visitOnClause(node);
4699+
}
4700+
46604701
@override
46614702
R? visitNamedExpression(NamedExpression node) => visitNode(node);
46624703

@@ -4686,6 +4727,7 @@ class UnifyingAstVisitor<R> implements AstVisitor<R> {
46864727
@override
46874728
R? visitObjectPattern(ObjectPattern node) => visitNode(node);
46884729

4730+
@Deprecated('Use visitMixinOnClause() instead')
46894731
@override
46904732
R? visitOnClause(OnClause node) => visitNode(node);
46914733

0 commit comments

Comments
 (0)