66// ignore_for_file: deprecated_member_use
77
88import 'package:analyzer/dart/constant/value.dart' ;
9- import 'package:analyzer/dart/element/element .dart' ;
9+ import 'package:analyzer/dart/element/element2 .dart' ;
1010import 'package:analyzer/dart/element/type.dart' ;
1111// ignore: implementation_imports
1212import 'package:analyzer/src/dart/constant/value.dart' show DartObjectImpl;
@@ -22,39 +22,37 @@ import '../utils.dart';
2222/// **NOTE**: Some returned [Revivable] instances are not representable as valid
2323/// Dart source code (such as referencing private constructors). It is up to the
2424/// build tool(s) using this library to surface error messages to the user.
25- @Deprecated ('use reviveInstance2 instead' )
26- Revivable reviveInstance (DartObject object, [LibraryElement ? origin]) {
25+ Revivable reviveInstance (DartObject object, [LibraryElement2 ? origin]) {
2726 final objectType = object.type;
28- Element ? element = objectType! .alias? .element ;
27+ Element2 ? element = objectType! .alias? .element2 ;
2928 if (element == null ) {
3029 if (objectType is InterfaceType ) {
31- element = objectType.element ;
30+ element = objectType.element3 ;
3231 } else {
33- element = object.toFunctionValue ();
32+ element = object.toFunctionValue2 ();
3433 }
3534 }
36- origin ?? = element! .library;
37- var url = Uri .parse (urlOfElement (element! ));
38- if (element is FunctionElement ) {
39- return Revivable ._(
40- source: url.removeFragment (),
41- accessor: element.name,
42- );
35+ origin ?? = element! .library2;
36+ var url = Uri .parse (urlOfElement2 (element! ));
37+ if (element is TopLevelFunctionElement || element is LocalFunctionElement ) {
38+ return Revivable ._(source: url.removeFragment (), accessor: element.name3! );
4339 }
44- if (element is MethodElement && element.isStatic) {
40+
41+ if (element is MethodElement2 && element.isStatic) {
4542 return Revivable ._(
4643 source: url.removeFragment (),
47- accessor: '${element .enclosingElement3 .name }.${element .name }' ,
44+ accessor:
45+ '${element .firstFragment .enclosingFragment !.name2 }.${element .name3 }' ,
4846 );
4947 }
5048
51- if (element is InterfaceElement ) {
52- for (final e in element.fields .where (
49+ if (element is InterfaceElement2 ) {
50+ for (final e in element.fields2 .where (
5351 (f) => f.isPublic && f.isConst && f.computeConstantValue () == object,
5452 )) {
5553 return Revivable ._(
5654 source: url.removeFragment (),
57- accessor: '${element .name }.${e .name }' ,
55+ accessor: '${element .name3 }.${e .name3 }' ,
5856 );
5957 }
6058 }
@@ -68,12 +66,12 @@ Revivable reviveInstance(DartObject object, [LibraryElement? origin]) {
6866 return ! result.isPrivate;
6967 }
7068
71- for (final type in origin! .definingCompilationUnit. classes) {
72- for (final e in type.fields
69+ for (final type in origin! .classes) {
70+ for (final e in type.fields2
7371 .where ((f) => f.isConst && f.computeConstantValue () == object)) {
7472 final result = Revivable ._(
7573 source: url.removeFragment (),
76- accessor: '${type .name }.${e .name }' ,
74+ accessor: '${type .name3 }.${e .name3 }' ,
7775 );
7876 if (tryResult (result)) {
7977 return result;
@@ -82,7 +80,7 @@ Revivable reviveInstance(DartObject object, [LibraryElement? origin]) {
8280 }
8381 final i = (object as DartObjectImpl ).getInvocation ();
8482 if (i != null ) {
85- url = Uri .parse (urlOfElement (i.constructor.enclosingElement3 ));
83+ url = Uri .parse (urlOfElement2 (i.constructor2.enclosingElement2 ));
8684 final result = Revivable ._(
8785 source: url,
8886 accessor: i.constructor.name,
@@ -93,12 +91,12 @@ Revivable reviveInstance(DartObject object, [LibraryElement? origin]) {
9391 return result;
9492 }
9593 }
96- for (final e in origin.definingCompilationUnit. topLevelVariables.where (
94+ for (final e in origin.topLevelVariables.where (
9795 (f) => f.isConst && f.computeConstantValue () == object,
9896 )) {
9997 final result = Revivable ._(
100- source: Uri .parse (urlOfElement (origin)).replace (fragment: '' ),
101- accessor: e.name ,
98+ source: Uri .parse (urlOfElement2 (origin)).replace (fragment: '' ),
99+ accessor: e.name3 ! ,
102100 );
103101 if (tryResult (result)) {
104102 return result;
0 commit comments