Skip to content

Commit d333e26

Browse files
scheglovCommit Queue
authored andcommitted
Elements. Migrate InstantiatedExtensionWithMember and related.
Change-Id: I1f0648ff0f16387d81e5eea9d82d2d4efe0c6a9a Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/405660 Reviewed-by: Phil Quitslund <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent b10b605 commit d333e26

File tree

10 files changed

+95
-323
lines changed

10 files changed

+95
-323
lines changed

pkg/analyzer/lib/error/listener.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,7 @@ class ErrorReporter {
196196
.whereNotType<String>()
197197
.whereNotType<DartType>()
198198
.whereNotType<Element>()
199+
.whereNotType<Element2>()
199200
.whereNotType<int>()
200201
.whereNotType<Uri>();
201202
if (invalid.isNotEmpty) {
@@ -275,6 +276,9 @@ class ErrorReporter {
275276
var typeGroups = <String, List<_ToConvert>>{};
276277
for (var i = 0; i < arguments.length; i++) {
277278
var argument = arguments[i];
279+
if (argument is Element2 && argument is! Element) {
280+
argument = argument.asElement;
281+
}
278282
if (argument is TypeImpl) {
279283
var displayName = argument.getDisplayString(preferTypeAlias: true);
280284
var types = typeGroups.putIfAbsent(displayName, () => []);

pkg/analyzer/lib/src/dart/element/inheritance_manager3.dart

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1390,18 +1390,25 @@ class Name {
13901390
/// If the element is private, the name includes the library URI.
13911391
///
13921392
/// If the name is a setter, the name ends with `=`.
1393-
static Name? forElement(ExecutableElement2 element) {
1393+
static Name? forElement(Element2 element) {
13941394
var name = element.name3;
13951395
if (name == null) {
13961396
return null;
13971397
}
13981398

1399+
// TODO(scheglov): use lookupName
1400+
if (element is MethodElement2 &&
1401+
name == '-' &&
1402+
element.formalParameters.isEmpty) {
1403+
name = 'unary-';
1404+
}
1405+
13991406
if (element is SetterElement) {
14001407
name = '$name=';
14011408
}
14021409

14031410
if (name.startsWith('_')) {
1404-
var libraryUri = element.firstFragment.libraryFragment.source.uri;
1411+
var libraryUri = element.firstFragment.libraryFragment!.source.uri;
14051412
return Name(libraryUri, name);
14061413
} else {
14071414
return Name(null, name);

0 commit comments

Comments
 (0)