Skip to content

Commit a1044b6

Browse files
scheglovCommit Queue
authored andcommitted
Elements. Migrate ResolvedAstPrinter
Change-Id: Ie8090edb94063060da3eafbb37f469947e49bb0b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/418700 Reviewed-by: Paul Berry <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent cc0527d commit a1044b6

File tree

1 file changed

+62
-64
lines changed

1 file changed

+62
-64
lines changed

pkg/analyzer/test/src/summary/resolved_ast_printer.dart

Lines changed: 62 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,15 @@
22
// for details. All rights reserved. Use of this source code is governed by a
33
// BSD-style license that can be found in the LICENSE file.
44

5-
// ignore_for_file: analyzer_use_new_elements
6-
// ignore_for_file: deprecated_member_use_from_same_package
7-
85
import 'package:analyzer/dart/ast/doc_comment.dart';
96
import 'package:analyzer/dart/ast/syntactic_entity.dart';
107
import 'package:analyzer/dart/ast/token.dart';
118
import 'package:analyzer/dart/ast/visitor.dart';
12-
import 'package:analyzer/dart/element/element.dart';
139
import 'package:analyzer/dart/element/element2.dart';
1410
import 'package:analyzer/dart/element/type.dart';
1511
import 'package:analyzer/src/dart/ast/ast.dart';
1612
import 'package:analyzer/src/dart/ast/extensions.dart';
13+
import 'package:analyzer/src/dart/element/element.dart';
1714
import 'package:analyzer/src/utilities/extensions/string.dart';
1815
import 'package:analyzer_utilities/testing/tree_string_sink.dart';
1916
import 'package:test/test.dart';
@@ -244,7 +241,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
244241
_sink.writeln('CatchClauseParameter');
245242
_sink.withIndent(() {
246243
_writeNamedChildEntities(node);
247-
_writeDeclaredElement(node.declaredElement);
244+
_writeDeclaredFragment(node.declaredFragment);
248245
});
249246
}
250247

@@ -253,7 +250,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
253250
_sink.writeln('ClassDeclaration');
254251
_sink.withIndent(() {
255252
_writeNamedChildEntities(node);
256-
_writeDeclaredElement(node.declaredElement);
253+
_writeDeclaredFragment(node.declaredFragment);
257254
});
258255
}
259256

@@ -262,7 +259,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
262259
_sink.writeln('ClassTypeAlias');
263260
_sink.withIndent(() {
264261
_writeNamedChildEntities(node);
265-
_writeDeclaredElement(node.declaredElement);
262+
_writeDeclaredFragment(node.declaredFragment);
266263
});
267264
}
268265

@@ -370,7 +367,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
370367
_sink.writeln('ConstructorDeclaration');
371368
_sink.withIndent(() {
372369
_writeNamedChildEntities(node);
373-
_writeDeclaredElement(node.declaredElement);
370+
_writeDeclaredFragment(node.declaredFragment);
374371
});
375372
}
376373

@@ -423,7 +420,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
423420
_sink.writeln('DeclaredIdentifier');
424421
_sink.withIndent(() {
425422
_writeNamedChildEntities(node);
426-
_writeDeclaredElement(node.declaredElement);
423+
_writeDeclaredFragment(node.declaredFragment);
427424
});
428425
}
429426

@@ -435,14 +432,14 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
435432
_sink.withIndent(() {
436433
_writeNamedChildEntities(node);
437434
if (_withResolution) {
438-
var element = node.declaredElement;
439-
if (element != null) {
435+
var fragment = node.declaredFragment;
436+
if (fragment != null) {
440437
_sink.writeWithIndent('declaredElement: ');
441-
_sink.writeIf(element.hasImplicitType, 'hasImplicitType ');
442-
_sink.writeIf(element.isFinal, 'isFinal ');
443-
_sink.writeln('${element.name}@${element.nameOffset}');
438+
_sink.writeIf(fragment.hasImplicitType, 'hasImplicitType ');
439+
_sink.writeIf(fragment.isFinal, 'isFinal ');
440+
_sink.writeln('${fragment.name}@${fragment.nameOffset}');
444441
_sink.withIndent(() {
445-
_writeType('type', element.type);
442+
_writeType('type', fragment.type);
446443
});
447444
}
448445
_writePatternMatchedValueType(node);
@@ -456,7 +453,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
456453
_sink.withIndent(() {
457454
_writeNamedChildEntities(node);
458455
_assertFormalParameterDeclaredElement(node);
459-
_writeDeclaredElement(node.declaredElement);
456+
_writeDeclaredFragment(node.declaredFragment);
460457
});
461458
}
462459

@@ -513,7 +510,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
513510
_writeNamedChildEntities(node);
514511
if (_withResolution) {
515512
_writeElement2('constructorElement2', node.constructorElement2);
516-
_writeDeclaredElement(node.declaredElement);
513+
_writeDeclaredFragment(node.declaredFragment);
517514
}
518515
});
519516
}
@@ -523,7 +520,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
523520
_sink.writeln('EnumDeclaration');
524521
_sink.withIndent(() {
525522
_writeNamedChildEntities(node);
526-
_writeDeclaredElement(node.declaredElement);
523+
_writeDeclaredFragment(node.declaredFragment);
527524
});
528525
}
529526

@@ -567,7 +564,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
567564
_sink.writeln('ExtensionDeclaration');
568565
_sink.withIndent(() {
569566
_writeNamedChildEntities(node);
570-
_writeDeclaredElement(node.declaredElement);
567+
_writeDeclaredFragment(node.declaredFragment);
571568
});
572569
}
573570

@@ -596,7 +593,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
596593
_sink.writeln('ExtensionTypeDeclaration');
597594
_sink.withIndent(() {
598595
_writeNamedChildEntities(node);
599-
_writeDeclaredElement(node.declaredElement);
596+
_writeDeclaredFragment(node.declaredFragment);
600597
});
601598
}
602599

@@ -605,7 +602,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
605602
_sink.writeln('FieldDeclaration');
606603
_sink.withIndent(() {
607604
_writeNamedChildEntities(node);
608-
_writeDeclaredElement(node.declaredElement);
605+
_writeDeclaredFragment(node.declaredFragment);
609606
});
610607
}
611608

@@ -615,7 +612,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
615612
_sink.withIndent(() {
616613
_writeNamedChildEntities(node);
617614
_assertFormalParameterDeclaredElement(node);
618-
_writeDeclaredElement(node.declaredElement);
615+
_writeDeclaredFragment(node.declaredFragment);
619616
});
620617
}
621618

@@ -696,7 +693,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
696693
_sink.writeln('FunctionDeclaration');
697694
_sink.withIndent(() {
698695
_writeNamedChildEntities(node);
699-
_writeDeclaredElement(node.declaredElement);
696+
_writeDeclaredFragment(node.declaredFragment);
700697
});
701698
}
702699

@@ -713,7 +710,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
713710
_sink.writeln('FunctionExpression');
714711
_sink.withIndent(() {
715712
_writeNamedChildEntities(node);
716-
_writeDeclaredElement(node.declaredElement);
713+
_writeDeclaredFragment(node.declaredFragment);
717714
_writeParameterElement(node);
718715
_writeType('staticType', node.staticType);
719716
});
@@ -747,7 +744,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
747744
_sink.writeln('FunctionTypeAlias');
748745
_sink.withIndent(() {
749746
_writeNamedChildEntities(node);
750-
_writeDeclaredElement(node.declaredElement);
747+
_writeDeclaredFragment(node.declaredFragment);
751748
});
752749
}
753750

@@ -757,7 +754,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
757754
_sink.withIndent(() {
758755
_writeNamedChildEntities(node);
759756
_assertFormalParameterDeclaredElement(node);
760-
_writeDeclaredElement(node.declaredElement);
757+
_writeDeclaredFragment(node.declaredFragment);
761758
});
762759
}
763760

@@ -781,7 +778,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
781778
_sink.writeln('GenericTypeAlias');
782779
_sink.withIndent(() {
783780
_writeNamedChildEntities(node);
784-
_writeDeclaredElement(node.declaredElement);
781+
_writeDeclaredFragment(node.declaredFragment);
785782
});
786783
}
787784

@@ -1018,7 +1015,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
10181015
_sink.writeln('MethodDeclaration');
10191016
_sink.withIndent(() {
10201017
_writeNamedChildEntities(node);
1021-
_writeDeclaredElement(node.declaredElement);
1018+
_writeDeclaredFragment(node.declaredFragment);
10221019
});
10231020
}
10241021

@@ -1039,7 +1036,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
10391036
_sink.writeln('MixinDeclaration');
10401037
_sink.withIndent(() {
10411038
_writeNamedChildEntities(node);
1042-
_writeDeclaredElement(node.declaredElement);
1039+
_writeDeclaredFragment(node.declaredFragment);
10431040
});
10441041
}
10451042

@@ -1408,7 +1405,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
14081405
_sink.writeln('SimpleFormalParameter');
14091406
_sink.withIndent(() {
14101407
_writeNamedChildEntities(node);
1411-
_writeDeclaredElement(node.declaredElement);
1408+
_writeDeclaredFragment(node.declaredFragment);
14121409
});
14131410
}
14141411

@@ -1481,7 +1478,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
14811478
_sink.withIndent(() {
14821479
_writeNamedChildEntities(node);
14831480
_assertFormalParameterDeclaredElement(node);
1484-
_writeDeclaredElement(node.declaredElement);
1481+
_writeDeclaredFragment(node.declaredFragment);
14851482
});
14861483
}
14871484

@@ -1569,7 +1566,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
15691566
_sink.writeln('TopLevelVariableDeclaration');
15701567
_sink.withIndent(() {
15711568
_writeNamedChildEntities(node);
1572-
_writeDeclaredElement(node.declaredElement);
1569+
_writeDeclaredFragment(node.declaredFragment);
15731570
});
15741571
}
15751572

@@ -1604,7 +1601,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
16041601
_sink.writeln('TypeParameter');
16051602
_sink.withIndent(() {
16061603
_writeNamedChildEntities(node);
1607-
_writeDeclaredElement(node.declaredElement);
1604+
_writeDeclaredFragment(node.declaredFragment);
16081605
});
16091606
}
16101607

@@ -1621,7 +1618,7 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
16211618
_sink.writeln('VariableDeclaration');
16221619
_sink.withIndent(() {
16231620
_writeNamedChildEntities(node);
1624-
_writeDeclaredElement(node.declaredElement);
1621+
_writeDeclaredFragment(node.declaredFragment);
16251622
});
16261623
}
16271624

@@ -1686,9 +1683,9 @@ class ResolvedAstPrinter extends ThrowingAstVisitor<void> {
16861683

16871684
void _assertFormalParameterDeclaredElement(FormalParameter node) {
16881685
if (_withResolution) {
1689-
var declaredElement = node.declaredElement;
1686+
var declaredFragment = node.declaredFragment;
16901687
var expected = _expectedFormalParameterElements(node);
1691-
_assertHasIdenticalElement(expected, declaredElement);
1688+
_assertHasIdenticalElement(expected, declaredFragment);
16921689
}
16931690
}
16941691

@@ -1731,29 +1728,29 @@ Expected parent: (${parent.runtimeType}) $parent
17311728
return _tokenIdMap[token] ??= 'T${_tokenIdMap.length}';
17321729
}
17331730

1734-
void _writeDeclaredElement(Element? element) {
1731+
void _writeDeclaredFragment(Fragment? fragment) {
17351732
if (_withResolution) {
1736-
if (element is LocalVariableElement) {
1733+
if (fragment is LocalVariableElementImpl) {
17371734
_sink.writeWithIndent('declaredElement:');
1738-
_sink.writeIf(element.hasImplicitType, ' hasImplicitType');
1739-
_sink.writeIf(element.isConst, ' isConst');
1740-
_sink.writeIf(element.isFinal, ' isFinal');
1741-
_sink.writeIf(element.isLate, ' isLate');
1735+
_sink.writeIf(fragment.hasImplicitType, ' hasImplicitType');
1736+
_sink.writeIf(fragment.isConst, ' isConst');
1737+
_sink.writeIf(fragment.isFinal, ' isFinal');
1738+
_sink.writeIf(fragment.isLate, ' isLate');
17421739
// TODO(scheglov): This crashes.
17431740
// _writeIf(element.hasInitializer, ' hasInitializer');
1744-
_sink.writeln(' ${element.name}@${element.nameOffset}');
1741+
_sink.writeln(' ${fragment.name}@${fragment.nameOffset}');
17451742
_sink.withIndent(() {
1746-
_writeType('type', element.type);
1743+
_writeType('type', fragment.type);
17471744
});
17481745
} else {
1749-
_writeFragment('declaredElement', element as Fragment?);
1750-
if (element is ExecutableElement) {
1746+
_writeFragment('declaredElement', fragment);
1747+
if (fragment is ExecutableElementImpl) {
17511748
_sink.withIndent(() {
1752-
_writeType('type', element.type);
1749+
_writeType('type', fragment.type);
17531750
});
1754-
} else if (element is ParameterElement) {
1751+
} else if (fragment is ParameterElementImpl) {
17551752
_sink.withIndent(() {
1756-
_writeType('type', element.type);
1753+
_writeType('type', fragment.type);
17571754
});
17581755
}
17591756
}
@@ -1807,7 +1804,7 @@ Expected parent: (${parent.runtimeType}) $parent
18071804

18081805
void _writeGenericFunctionTypeElement(
18091806
String name,
1810-
GenericFunctionTypeElement? element,
1807+
GenericFunctionTypeElementImpl? element,
18111808
) {
18121809
_sink.writeWithIndent('$name: ');
18131810
if (element == null) {
@@ -1902,7 +1899,7 @@ Expected parent: (${parent.runtimeType}) $parent
19021899
}
19031900
}
19041901

1905-
void _writeParameterElements(List<ParameterElement> parameters) {
1902+
void _writeParameterElements(List<ParameterElementImpl> parameters) {
19061903
_sink.writelnWithIndent('parameters');
19071904
_sink.withIndent(() {
19081905
for (var parameter in parameters) {
@@ -1916,7 +1913,7 @@ Expected parent: (${parent.runtimeType}) $parent
19161913
});
19171914
}
19181915

1919-
void _writeParameterKind(ParameterElement parameter) {
1916+
void _writeParameterKind(ParameterElementImpl parameter) {
19201917
if (parameter.isOptionalNamed) {
19211918
_sink.writelnWithIndent('kind: optional named');
19221919
} else if (parameter.isOptionalPositional) {
@@ -2053,25 +2050,26 @@ Expected parent: (${parent.runtimeType}) $parent
20532050
/// in the list of formal parameter elements of some declaration, e.g. of
20542051
/// [ConstructorDeclaration], [MethodDeclaration], or a local
20552052
/// [FunctionDeclaration].
2056-
static List<ParameterElement> _expectedFormalParameterElements(
2053+
static List<FormalParameterFragment> _expectedFormalParameterElements(
20572054
FormalParameter node,
20582055
) {
20592056
var parametersParent = node.parentFormalParameterList.parent;
20602057
if (parametersParent is ConstructorDeclaration) {
2061-
var declaredElement = parametersParent.declaredElement!;
2062-
return declaredElement.parameters;
2058+
var declaredFragment = parametersParent.declaredFragment!;
2059+
return declaredFragment.formalParameters;
20632060
} else if (parametersParent is FormalParameter) {
2064-
var declaredElement = parametersParent.declaredElement!;
2065-
return declaredElement.parameters;
2061+
var declaredFragment = parametersParent.declaredFragment!;
2062+
declaredFragment as ParameterElementImpl;
2063+
return declaredFragment.parameters;
20662064
} else if (parametersParent is FunctionExpression) {
2067-
var declaredElement = parametersParent.declaredElement!;
2068-
return declaredElement.parameters;
2065+
var declaredFragment = parametersParent.declaredFragment!;
2066+
return declaredFragment.formalParameters;
20692067
} else if (parametersParent is GenericFunctionTypeImpl) {
20702068
var declaredFragment = parametersParent.declaredFragment!;
20712069
return declaredFragment.parameters;
20722070
} else if (parametersParent is MethodDeclaration) {
2073-
var declaredElement = parametersParent.declaredElement!;
2074-
return declaredElement.parameters;
2071+
var declaredFragment = parametersParent.declaredFragment!;
2072+
return declaredFragment.formalParameters;
20752073
}
20762074
throw UnimplementedError(
20772075
'(${parametersParent.runtimeType}) $parametersParent',
@@ -2089,14 +2087,14 @@ class ResolvedNodeTextConfiguration {
20892087
/// If `true`, elements of [InterfaceType] should be printed.
20902088
bool withInterfaceTypeElements = false;
20912089

2092-
/// If `true`, [Expression.staticParameterElement] should be printed.
2090+
/// If `true`, [Expression.correspondingParameter] should be printed.
20932091
bool withParameterElements = true;
20942092

2095-
/// If `true`, `redirectedConstructor` properties of [ConstructorElement]s
2093+
/// If `true`, `redirectedConstructor` properties of [ConstructorElement2]s
20962094
/// should be printer.
20972095
bool withRedirectedConstructors = false;
20982096

2099-
/// If `true`, `superConstructor` properties of [ConstructorElement]s
2097+
/// If `true`, `superConstructor` properties of [ConstructorElement2]s
21002098
/// should be printer.
21012099
bool withSuperConstructors = false;
21022100

0 commit comments

Comments
 (0)