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
- import 'package:analyzer/dart/element/element.dart' ;
6
5
import 'package:analyzer/dart/element/element2.dart' ;
7
6
import 'package:analyzer/dart/element/nullability_suffix.dart' ;
8
7
import 'package:analyzer/dart/element/type.dart' ;
@@ -175,61 +174,6 @@ extension Element2Extension on Element2 {
175
174
}
176
175
}
177
176
178
- extension Element2OrNullExtension on Element2 ? {
179
- @Deprecated ('Use Element2 instead' )
180
- Element ? get asElement {
181
- var self = this ;
182
- switch (self) {
183
- case null :
184
- return null ;
185
- case BindPatternVariableElementImpl2 element2:
186
- return element2.asElement;
187
- case ConstructorElementImpl2 element2:
188
- return element2.asElement;
189
- case DynamicElementImpl2 ():
190
- return self.firstFragment;
191
- case ExtensionElementImpl2 element2:
192
- return element2.asElement;
193
- case FieldElementImpl2 element2:
194
- return element2.asElement;
195
- case FieldMember ():
196
- return self.declaration as Element ;
197
- case FormalParameterElement element2:
198
- return element2.asElement;
199
- case GetterElementImpl element2:
200
- return element2.asElement;
201
- case LabelElementImpl2 element2:
202
- return element2.asElement;
203
- case LibraryElementImpl ():
204
- return self as Element ;
205
- case LibraryImportElementImpl ():
206
- return self as Element ;
207
- case LocalFunctionElementImpl element2:
208
- return element2.asElement;
209
- case LocalVariableElementImpl2 ():
210
- return self.wrappedElement as Element ;
211
- case MethodElementImpl2 element2:
212
- return element2.asElement;
213
- case NeverElementImpl2 ():
214
- return NeverElementImpl .instance;
215
- case PrefixElement2 element2:
216
- return element2.asElement;
217
- case SetterElementImpl element2:
218
- return element2.asElement;
219
- case TopLevelFunctionElementImpl element2:
220
- return element2.asElement;
221
- case TopLevelVariableElementImpl2 element2:
222
- return element2.asElement;
223
- case TypeDefiningElement2 ():
224
- return self.firstFragment as Element ;
225
- case MockLibraryImportElement ():
226
- return self.import;
227
- default :
228
- throw UnsupportedError ('Unsupported type: $runtimeType ' );
229
- }
230
- }
231
- }
232
-
233
177
extension ElementImplExtension on ElementImpl {
234
178
ElementImpl ? get enclosingElementImpl => enclosingElement3;
235
179
@@ -238,8 +182,7 @@ extension ElementImplExtension on ElementImpl {
238
182
}
239
183
}
240
184
241
- @Deprecated ('Use Element2 instead' )
242
- extension ElementOrNullExtension on Element ? {
185
+ extension ElementOrNullExtension on ElementImpl ? {
243
186
Element2 ? get asElement2 {
244
187
var self = this ;
245
188
if (self == null ) {
@@ -255,12 +198,7 @@ extension ElementOrNullExtension on Element? {
255
198
} else if (self is FieldElementImpl ) {
256
199
return (self as FieldFragment ).element;
257
200
} else if (self is FunctionElementImpl ) {
258
- if (self.enclosingElement3 is ! CompilationUnitElementImpl ) {
259
- // TODO(scheglov): update `FunctionElementImpl.element` return type?
260
- return self.element;
261
- } else {
262
- return (self as Fragment ).element;
263
- }
201
+ return (self as Fragment ).element;
264
202
} else if (self is InterfaceElementImpl ) {
265
203
return self.element;
266
204
} else if (self is LabelElementImpl ) {
@@ -272,7 +210,7 @@ extension ElementOrNullExtension on Element? {
272
210
} else if (self is NeverElementImpl ) {
273
211
return NeverElementImpl2 .instance;
274
212
} else if (self is ParameterMember ) {
275
- return self;
213
+ return ( self as FormalParameterFragment ).element ;
276
214
} else if (self is LibraryImportElementImpl ||
277
215
self is LibraryExportElementImpl ||
278
216
self is PartElementImpl ) {
0 commit comments