Skip to content

Commit 1a9a35f

Browse files
scheglovCommit Queue
authored andcommitted
Elements. Start removing AugmentableElement.
Change-Id: I6bbbe2336b6abaca88b9bea3defd74ed790dbaa2 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/414661 Commit-Queue: Konstantin Shcheglov <[email protected]> Reviewed-by: Samuel Rawlins <[email protected]>
1 parent d9bb808 commit 1a9a35f

File tree

7 files changed

+17
-293
lines changed

7 files changed

+17
-293
lines changed

pkg/analysis_server/test/analysis/notification_highlights2_test.dart

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1543,6 +1543,7 @@ class C = Object with A;
15431543
assertHasRegion(HighlightRegionType.KEYWORD, 'with A;');
15441544
}
15451545

1546+
@SkippedTest() // TODO(scheglov): implement augmentation
15461547
Future<void> test_KEYWORD_augmented_onInstanceGetter() async {
15471548
addTestFile('''
15481549
class C {
@@ -1553,6 +1554,7 @@ class C {
15531554
assertHasRegion(HighlightRegionType.KEYWORD, 'augmented');
15541555
}
15551556

1557+
@SkippedTest() // TODO(scheglov): implement augmentation
15561558
Future<void> test_KEYWORD_augmented_onInstanceMethod() async {
15571559
addTestFile('''
15581560
class C {
@@ -1563,6 +1565,7 @@ class C {
15631565
assertHasRegion(HighlightRegionType.KEYWORD, 'augmented');
15641566
}
15651567

1568+
@SkippedTest() // TODO(scheglov): implement augmentation
15661569
Future<void> test_KEYWORD_augmented_onInstanceSetter() async {
15671570
addTestFile('''
15681571
class C {
@@ -1573,6 +1576,7 @@ class C {
15731576
assertHasRegion(HighlightRegionType.KEYWORD, 'augmented');
15741577
}
15751578

1579+
@SkippedTest() // TODO(scheglov): implement augmentation
15761580
Future<void> test_KEYWORD_augmented_onStaticMethod() async {
15771581
addTestFile('''
15781582
class C {
@@ -1583,6 +1587,7 @@ class C {
15831587
assertHasRegion(HighlightRegionType.KEYWORD, 'augmented');
15841588
}
15851589

1590+
@SkippedTest() // TODO(scheglov): implement augmentation
15861591
Future<void> test_KEYWORD_augmented_onTopLevelFunction() async {
15871592
addTestFile('''
15881593
augment int f(int x) => augmented(x);
@@ -1591,6 +1596,7 @@ augment int f(int x) => augmented(x);
15911596
assertHasRegion(HighlightRegionType.KEYWORD, 'augmented');
15921597
}
15931598

1599+
@SkippedTest() // TODO(scheglov): implement augmentation
15941600
Future<void> test_KEYWORD_augmented_onTopLevelGetter() async {
15951601
addTestFile('''
15961602
augment int get g => augmented;
@@ -1599,6 +1605,7 @@ augment int get g => augmented;
15991605
assertHasRegion(HighlightRegionType.KEYWORD, 'augmented');
16001606
}
16011607

1608+
@SkippedTest() // TODO(scheglov): implement augmentation
16021609
Future<void> test_KEYWORD_augmented_onTopLevelSetter() async {
16031610
addTestFile('''
16041611
augment set s(int x) { augmented = x; }

pkg/analysis_server/test/lsp/semantic_tokens_test.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,7 @@ class A {
271271
await _initializeAndVerifyTokensInRange(content, expected);
272272
}
273273

274+
@SkippedTest() // TODO(scheglov): implement augmentation
274275
Future<void> test_augmentations() async {
275276
var mainContent = '''
276277
part 'main_augmentation.dart';

pkg/analyzer/lib/src/dart/resolver/binary_expression_resolver.dart

Lines changed: 0 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -320,15 +320,6 @@ class BinaryExpressionResolver {
320320
{required TypeImpl contextType}) {
321321
var left = node.leftOperand;
322322

323-
if (left is AugmentedExpressionImpl) {
324-
_resolveUserDefinableAugmented(
325-
node,
326-
left: left,
327-
contextType: contextType,
328-
);
329-
return;
330-
}
331-
332323
_resolver.analyzeExpression(
333324
node.leftOperand, SharedTypeSchemaView(UnknownInferredType.instance));
334325
left = _resolver.popRewrite()!;
@@ -351,56 +342,6 @@ class BinaryExpressionResolver {
351342
_resolveRightOperand(node, contextType);
352343
}
353344

354-
void _resolveUserDefinableAugmented(
355-
BinaryExpressionImpl node, {
356-
required AugmentedExpressionImpl left,
357-
required TypeImpl contextType,
358-
}) {
359-
var methodName = node.operator.lexeme;
360-
361-
var augmentation = _resolver.enclosingAugmentation!;
362-
var augmentationTarget = augmentation.augmentationTarget;
363-
364-
// Unresolved by default.
365-
left.setPseudoExpressionStaticType(InvalidTypeImpl.instance);
366-
367-
switch (augmentationTarget) {
368-
case MethodElementImpl fragment:
369-
left.fragment = fragment;
370-
left.setPseudoExpressionStaticType(
371-
_resolver.thisType ?? InvalidTypeImpl.instance);
372-
if (fragment.name2 == methodName) {
373-
node.staticInvokeType = fragment.element.type;
374-
} else {
375-
_errorReporter.atToken(
376-
left.augmentedKeyword,
377-
CompileTimeErrorCode.AUGMENTED_EXPRESSION_NOT_OPERATOR,
378-
arguments: [
379-
methodName,
380-
],
381-
);
382-
}
383-
case PropertyAccessorFragment fragment:
384-
left.fragment = fragment;
385-
var element = fragment.element;
386-
if (element is GetterElement) {
387-
left.setPseudoExpressionStaticType(element.returnType);
388-
_resolveUserDefinableElement(node, methodName);
389-
} else {
390-
_errorReporter.atToken(
391-
left.augmentedKeyword,
392-
CompileTimeErrorCode.AUGMENTED_EXPRESSION_IS_SETTER,
393-
);
394-
}
395-
case PropertyInducingFragment fragment:
396-
left.fragment = fragment;
397-
left.setPseudoExpressionStaticType(fragment.element.type);
398-
_resolveUserDefinableElement(node, methodName);
399-
}
400-
401-
_resolveRightOperand(node, contextType);
402-
}
403-
404345
void _resolveUserDefinableElement(
405346
BinaryExpressionImpl node,
406347
String methodName, {

pkg/analyzer/lib/src/dart/resolver/prefix_expression_resolver.dart

Lines changed: 0 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,6 @@ class PrefixExpressionResolver {
4848
return;
4949
}
5050

51-
if (node.operand case AugmentedExpressionImpl operand) {
52-
_resolveAugmented(node, operand);
53-
return;
54-
}
55-
5651
var operand = node.operand;
5752
if (operator.isIncrementOperator) {
5853
var operandResolution = _resolver.resolveForWrite(
@@ -247,57 +242,6 @@ class PrefixExpressionResolver {
247242
_resolver.nullShortingTermination(node);
248243
}
249244

250-
void _resolveAugmented(
251-
PrefixExpressionImpl node,
252-
AugmentedExpressionImpl operand,
253-
) {
254-
var methodName = _getPrefixOperator(node);
255-
var augmentation = _resolver.enclosingAugmentation!;
256-
var augmentationTarget = augmentation.augmentationTarget;
257-
258-
// Unresolved by default.
259-
operand.setPseudoExpressionStaticType(InvalidTypeImpl.instance);
260-
261-
switch (augmentationTarget) {
262-
case MethodFragment fragment:
263-
operand.fragment = fragment;
264-
operand.setPseudoExpressionStaticType(
265-
_resolver.thisType ?? InvalidTypeImpl.instance);
266-
if (fragment.element.lookupName == methodName) {
267-
node.element = fragment.element;
268-
node.recordStaticType(fragment.element.returnType,
269-
resolver: _resolver);
270-
} else {
271-
_errorReporter.atToken(
272-
operand.augmentedKeyword,
273-
CompileTimeErrorCode.AUGMENTED_EXPRESSION_NOT_OPERATOR,
274-
arguments: [
275-
methodName,
276-
],
277-
);
278-
node.recordStaticType(InvalidTypeImpl.instance, resolver: _resolver);
279-
}
280-
case PropertyAccessorFragment fragment:
281-
operand.fragment = fragment;
282-
if (fragment.element is GetterElement) {
283-
operand.setPseudoExpressionStaticType(fragment.element.returnType);
284-
_resolve1(node);
285-
_resolve2(node);
286-
} else {
287-
_errorReporter.atToken(
288-
operand.augmentedKeyword,
289-
CompileTimeErrorCode.AUGMENTED_EXPRESSION_IS_SETTER,
290-
);
291-
node.recordStaticType(InvalidTypeImpl.instance, resolver: _resolver);
292-
}
293-
case PropertyInducingFragment fragment:
294-
operand.fragment = fragment;
295-
operand.setPseudoExpressionStaticType(fragment.element.type);
296-
_resolve1(node);
297-
_resolve2(node);
298-
}
299-
}
300-
301245
void _resolveNegation(PrefixExpressionImpl node) {
302246
var operand = node.operand;
303247

0 commit comments

Comments
 (0)