2
2
// for details. All rights reserved. Use of this source code is governed by a
3
3
// BSD-style license that can be found in the LICENSE file.
4
4
5
- // ignore_for_file: analyzer_use_new_elements
6
-
7
- import 'package:analyzer/dart/element/element.dart' ;
5
+ import 'package:analyzer/dart/element/element2.dart' ;
8
6
import 'package:analyzer/dart/element/type.dart' ;
9
7
import 'package:analyzer/src/dart/ast/ast.dart' ;
10
8
import 'package:analyzer/src/dart/element/element.dart' ;
@@ -14,7 +12,6 @@ import 'package:analyzer/src/dart/element/type_provider.dart';
14
12
import 'package:analyzer/src/dart/element/type_system.dart' ;
15
13
import 'package:analyzer/src/dart/resolver/type_property_resolver.dart' ;
16
14
import 'package:analyzer/src/generated/resolver.dart' ;
17
- import 'package:analyzer/src/utilities/extensions/element.dart' ;
18
15
19
16
class CommentReferenceResolver {
20
17
final TypeProviderImpl _typeProvider;
@@ -55,45 +52,45 @@ class CommentReferenceResolver {
55
52
}) {
56
53
var prefix = expression.prefix;
57
54
var prefixElement = _resolveSimpleIdentifier (prefix);
58
- prefix.staticElement = prefixElement;
55
+ prefix.element = prefixElement;
59
56
60
57
if (prefixElement == null ) {
61
58
return ;
62
59
}
63
60
64
61
var name = expression.identifier;
65
62
66
- if (prefixElement is PrefixElement ) {
63
+ if (prefixElement is PrefixElement2 ) {
67
64
var prefixScope = prefixElement.scope;
68
65
var lookupResult = prefixScope.lookup (name.name);
69
- var element = lookupResult.getter ?? lookupResult.setter ;
70
- name.staticElement = element;
66
+ var element = lookupResult.getter2 ?? lookupResult.setter2 ;
67
+ name.element = element;
71
68
return ;
72
69
}
73
70
74
71
if (! hasNewKeyword) {
75
- if (prefixElement is InterfaceElement ) {
76
- name.staticElement = _resolver.inheritance.getMember2 (
72
+ if (prefixElement is InterfaceElement2 ) {
73
+ name.element = _resolver.inheritance.getMember4 (
77
74
prefixElement,
78
- Name (prefixElement.library.source .uri, name.name),
75
+ Name (prefixElement.library2 .uri, name.name),
79
76
) ??
80
- prefixElement.getMethod (name.name) ??
81
- prefixElement.getGetter (name.name) ??
82
- prefixElement.getSetter (name.name) ??
83
- prefixElement.getNamedConstructor (name.name);
84
- } else if (prefixElement is ExtensionElement ) {
85
- name.staticElement = prefixElement.getMethod (name.name) ??
86
- prefixElement.getGetter (name.name) ??
87
- prefixElement.getSetter (name.name);
77
+ prefixElement.getMethod2 (name.name) ??
78
+ prefixElement.getGetter2 (name.name) ??
79
+ prefixElement.getSetter2 (name.name) ??
80
+ prefixElement.getNamedConstructor2 (name.name);
81
+ } else if (prefixElement is ExtensionElement2 ) {
82
+ name.element = prefixElement.getMethod2 (name.name) ??
83
+ prefixElement.getGetter2 (name.name) ??
84
+ prefixElement.getSetter2 (name.name);
88
85
} else {
89
86
// TODO(brianwilkerson): Report this error.
90
87
}
91
- } else if (prefixElement is InterfaceElement ) {
92
- var constructor = prefixElement.getNamedConstructor (name.name);
88
+ } else if (prefixElement is InterfaceElement2 ) {
89
+ var constructor = prefixElement.getNamedConstructor2 (name.name);
93
90
if (constructor == null ) {
94
91
// TODO(brianwilkerson): Report this error.
95
92
} else {
96
- name.staticElement = constructor;
93
+ name.element = constructor;
97
94
}
98
95
} else {
99
96
// TODO(brianwilkerson): Report this error.
@@ -113,9 +110,9 @@ class CommentReferenceResolver {
113
110
114
111
var prefix = target.prefix;
115
112
var prefixElement = _resolveSimpleIdentifier (prefix);
116
- prefix.staticElement = prefixElement;
113
+ prefix.element = prefixElement;
117
114
118
- if (prefixElement is ! PrefixElement ) {
115
+ if (prefixElement is ! PrefixElement2 ) {
119
116
// The only valid prefixElement is a PrefixElement; otherwise, this is
120
117
// not a comment reference.
121
118
return ;
@@ -124,33 +121,33 @@ class CommentReferenceResolver {
124
121
var name = target.identifier;
125
122
var prefixScope = prefixElement.scope;
126
123
var lookupResult = prefixScope.lookup (name.name);
127
- var element = lookupResult.getter ?? lookupResult.setter ;
128
- name.staticElement = element;
124
+ var element = lookupResult.getter2 ?? lookupResult.setter2 ;
125
+ name.element = element;
129
126
130
127
var propertyName = expression.propertyName;
131
- if (element is InterfaceElement ) {
132
- propertyName.staticElement = element.getMethod (propertyName.name) ??
133
- element.getGetter (propertyName.name) ??
134
- element.getSetter (propertyName.name) ??
135
- element.getNamedConstructor (propertyName.name);
136
- } else if (element is ExtensionElement ) {
137
- propertyName.staticElement = element.getMethod (propertyName.name) ??
138
- element.getGetter (propertyName.name) ??
139
- element.getSetter (propertyName.name);
128
+ if (element is InterfaceElement2 ) {
129
+ propertyName.element = element.getMethod2 (propertyName.name) ??
130
+ element.getGetter2 (propertyName.name) ??
131
+ element.getSetter2 (propertyName.name) ??
132
+ element.getNamedConstructor2 (propertyName.name);
133
+ } else if (element is ExtensionElement2 ) {
134
+ propertyName.element = element.getMethod2 (propertyName.name) ??
135
+ element.getGetter2 (propertyName.name) ??
136
+ element.getSetter2 (propertyName.name);
140
137
}
141
138
}
142
139
143
140
/// Resolves the given simple [identifier] if possible.
144
141
///
145
142
/// Returns the resolved element, or `null` if the identifier could not be
146
143
/// resolved. This does not record the results of the resolution.
147
- Element ? _resolveSimpleIdentifier (SimpleIdentifierImpl identifier) {
144
+ Element2 ? _resolveSimpleIdentifier (SimpleIdentifierImpl identifier) {
148
145
var lookupResult = identifier.scopeLookupResult! ;
149
- var element = lookupResult.getter ?? lookupResult.setter ;
146
+ var element = lookupResult.getter2 ?? lookupResult.setter2 ;
150
147
151
148
// Usually referencing just an import prefix is an error.
152
149
// But we allow this in documentation comments.
153
- if (element is PrefixElementImpl ) {
150
+ if (element is PrefixElementImpl2 ) {
154
151
element.scope.notifyPrefixUsedInCommentReference ();
155
152
}
156
153
@@ -182,7 +179,7 @@ class CommentReferenceResolver {
182
179
propertyErrorEntity: identifier,
183
180
nameErrorEntity: identifier,
184
181
);
185
- element = result.getter2? .asElement ?? result.setter2? .asElement ;
182
+ element = result.getter2 ?? result.setter2;
186
183
}
187
184
return element;
188
185
}
@@ -195,14 +192,14 @@ class CommentReferenceResolver {
195
192
if (element == null ) {
196
193
return ;
197
194
}
198
- expression.staticElement = element;
195
+ expression.element = element;
199
196
if (hasNewKeyword) {
200
- if (element is InterfaceElement ) {
201
- var constructor = element.unnamedConstructor ;
197
+ if (element is InterfaceElement2 ) {
198
+ var constructor = element.unnamedConstructor2 ;
202
199
if (constructor == null ) {
203
200
// TODO(brianwilkerson): Report this error.
204
201
} else {
205
- expression.staticElement = constructor;
202
+ expression.element = constructor;
206
203
}
207
204
} else {
208
205
// TODO(brianwilkerson): Report this error.
0 commit comments