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-
75import 'package:analysis_server/plugin/protocol/protocol_dart.dart' ;
86import 'package:analysis_server/protocol/protocol_generated.dart' ;
97import 'package:analysis_server/src/computer/computer_color.dart' ;
@@ -12,8 +10,6 @@ import 'package:analysis_server/src/services/search/search_engine.dart'
1210import 'package:analysis_server/src/utilities/extensions/element.dart' ;
1311import 'package:analyzer/dart/analysis/results.dart' as engine;
1412import 'package:analyzer/dart/ast/ast.dart' as engine;
15- import 'package:analyzer/dart/ast/token.dart' as engine;
16- import 'package:analyzer/dart/element/element.dart' as engine;
1713import 'package:analyzer/dart/element/element2.dart' as engine;
1814import 'package:analyzer/dart/element/type.dart' ;
1915import 'package:analyzer/diagnostic/diagnostic.dart' as engine;
@@ -22,7 +18,6 @@ import 'package:analyzer/source/error_processor.dart';
2218import 'package:analyzer/source/source.dart' as engine;
2319import 'package:analyzer/source/source_range.dart' as engine;
2420import 'package:analyzer/src/dart/element/element.dart' ;
25- import 'package:analyzer/src/utilities/extensions/element.dart' ;
2621import 'package:analyzer_plugin/protocol/protocol_common.dart' ;
2722
2823export 'package:analysis_server/plugin/protocol/protocol_dart.dart' ;
@@ -38,16 +33,6 @@ List<AnalysisError> doAnalysisError_listFromEngine(
3833 return mapEngineErrors (result, result.errors, newAnalysisError_fromEngine);
3934}
4035
41- /// Adds [edit] to the file containing the given [element] .
42- void doSourceChange_addElementEdit (
43- SourceChange change,
44- engine.Element element,
45- SourceEdit edit,
46- ) {
47- var source = element.source! ;
48- doSourceChange_addSourceEdit (change, source, edit);
49- }
50-
5136/// Adds [edit] to the file containing the given [fragment] .
5237void doSourceChange_addFragmentEdit (
5338 SourceChange change,
@@ -69,14 +54,6 @@ void doSourceChange_addSourceEdit(
6954 change.addEdit (file, isNewFile ? - 1 : 0 , edit);
7055}
7156
72- String ? getAliasedTypeString (engine.Element element) {
73- if (element is engine.TypeAliasElement ) {
74- var aliasedType = element.aliasedType;
75- return aliasedType.getDisplayString ();
76- }
77- return null ;
78- }
79-
8057String ? getAliasedTypeString2 (engine.Element2 element) {
8158 if (element is engine.TypeAliasElement2 ) {
8259 var aliasedType = element.aliasedType;
@@ -85,25 +62,6 @@ String? getAliasedTypeString2(engine.Element2 element) {
8562 return null ;
8663}
8764
88- /// Returns a color hex code (in the form '#FFFFFF') if [element] represents
89- /// a color.
90- String ? getColorHexString (engine.Element ? element) {
91- if (element is engine.VariableElement ) {
92- var dartValue = element.computeConstantValue ();
93- if (dartValue != null ) {
94- var color = ColorComputer .getColorForObject (dartValue);
95- if (color != null ) {
96- return '#'
97- '${color .red .toRadixString (16 ).padLeft (2 , '0' )}'
98- '${color .green .toRadixString (16 ).padLeft (2 , '0' )}'
99- '${color .blue .toRadixString (16 ).padLeft (2 , '0' )}'
100- .toUpperCase ();
101- }
102- }
103- }
104- return null ;
105- }
106-
10765/// Returns a color hex code (in the form '#FFFFFF') if [element] represents
10866/// a color.
10967String ? getColorHexString2 (engine.Element2 ? element) {
@@ -123,26 +81,6 @@ String? getColorHexString2(engine.Element2? element) {
12381 return null ;
12482}
12583
126- String ? getReturnTypeString (engine.Element element) {
127- if (element is engine.ExecutableElement ) {
128- if (element.kind == engine.ElementKind .SETTER ) {
129- return null ;
130- } else {
131- return element.returnType.getDisplayString ();
132- }
133- } else if (element is engine.VariableElement ) {
134- var type = element.type;
135- return type.getDisplayString ();
136- } else if (element is engine.TypeAliasElement ) {
137- var aliasedType = element.aliasedType;
138- if (aliasedType is FunctionType ) {
139- var returnType = aliasedType.returnType;
140- return returnType.getDisplayString ();
141- }
142- }
143- return null ;
144- }
145-
14684String ? getReturnTypeString2 (engine.Element2 element) {
14785 if (element is engine.ExecutableElement2 ) {
14886 if (element.kind == engine.ElementKind .SETTER ) {
@@ -294,23 +232,6 @@ DiagnosticMessage newDiagnosticMessage(
294232 );
295233}
296234
297- /// Create a Location based on an [engine.Element] .
298- Location ? newLocation_fromElement (engine.Element ? element) {
299- if (element == null || element.source == null ) {
300- return null ;
301- }
302- var offset = element.nameOffset;
303- var length = element.nameLength;
304- if (element is engine.CompilationUnitElement ||
305- (element is engine.LibraryElement && offset < 0 )) {
306- offset = 0 ;
307- length = 0 ;
308- }
309- var unitElement = _getUnitElement (element);
310- var range = engine.SourceRange (offset, length);
311- return _locationForArgs (unitElement, range);
312- }
313-
314235/// Create a Location based on an [engine.Element2] .
315236Location ? newLocation_fromElement2 (engine.Element2 ? element) {
316237 if (element == null ) {
@@ -351,33 +272,24 @@ Location? newLocation_fromFragment(engine.Fragment? fragment) {
351272
352273/// Create a Location based on an [engine.SearchMatch] .
353274Location newLocation_fromMatch (engine.SearchMatch match) {
354- var unitElement = _getUnitElement (match.element2.asElement ! );
355- return _locationForArgs (unitElement , match.sourceRange);
275+ var libraryFragment = _getUnitElement (match.element2);
276+ return _locationForArgs (libraryFragment , match.sourceRange);
356277}
357278
358279/// Create a Location based on an [engine.AstNode] .
359280Location newLocation_fromNode (engine.AstNode node) {
360281 var unit = node.thisOrAncestorOfType< engine.CompilationUnit > ()! ;
361- var unitElement = unit.declaredElement ! ;
282+ var libraryFragment = unit.declaredFragment ! ;
362283 var range = engine.SourceRange (node.offset, node.length);
363- return _locationForArgs (unitElement, range);
364- }
365-
366- /// Create a Location based on an [engine.AstNode] .
367- Location newLocation_fromToken ({
368- required engine.CompilationUnitElement unitElement,
369- required engine.Token token,
370- }) {
371- var range = engine.SourceRange (token.offset, token.length);
372- return _locationForArgs (unitElement, range);
284+ return _locationForArgs (libraryFragment, range);
373285}
374286
375287/// Create a Location based on an [engine.CompilationUnit] .
376288Location newLocation_fromUnit (
377289 engine.CompilationUnit unit,
378290 engine.SourceRange range,
379291) {
380- return _locationForArgs (unit.declaredElement ! , range);
292+ return _locationForArgs (unit.declaredFragment ! , range);
381293}
382294
383295/// Construct based on an element from the analyzer engine.
@@ -391,7 +303,7 @@ OverriddenMember newOverriddenMember_fromEngine(engine.Element2 member) {
391303SearchResult newSearchResult_fromMatch (engine.SearchMatch match) {
392304 var kind = newSearchResultKind_fromEngine (match.kind);
393305 var location = newLocation_fromMatch (match);
394- var path = _computePath (match.element2.asElement ! );
306+ var path = _computePath (match.element2);
395307 return SearchResult (location, kind, ! match.isResolved, path);
396308}
397309
@@ -428,61 +340,34 @@ SourceEdit newSourceEdit_range(
428340 return SourceEdit (range.offset, range.length, replacement, id: id);
429341}
430342
431- List <Element > _computePath (engine.Element element) {
343+ List <Element > _computePath (engine.Element2 element) {
432344 var path = < Element > [];
433-
434- if (element is engine.PrefixElement ) {
435- element = element.enclosingElement3;
436- }
437-
438- var element2 = element.asElement2;
439- if (element2 != null ) {
440- for (var fragment in element2.firstFragment.withAncestors) {
441- if (fragment case engine.Element e) {
442- if (fragment is engine.LibraryFragment ) {
443- path.add (
444- convertLibraryFragment (fragment as CompilationUnitElementImpl ),
445- );
446- }
447- path.add (convertElement (e.asElement2! ));
448- }
345+ for (var fragment in element.firstFragment.withAncestors) {
346+ if (fragment is engine.LibraryFragment ) {
347+ path.add (convertLibraryFragment (fragment as CompilationUnitElementImpl ));
449348 }
349+ path.add (convertElement (fragment.element));
450350 }
451-
452351 return path;
453352}
454353
455- engine.CompilationUnitElement _getUnitElement (engine.Element element) {
456- if (element is engine.CompilationUnitElement ) {
457- return element;
458- }
459-
460- if (element.enclosingElement3 case engine.LibraryElement enclosing) {
461- return enclosing.definingCompilationUnit;
354+ engine.LibraryFragment _getUnitElement (engine.Element2 element) {
355+ if (element is engine.LibraryElement2 ) {
356+ return element.firstFragment;
462357 }
463-
464- if (element is engine.LibraryElement ) {
465- return element.definingCompilationUnit;
466- }
467-
468- var element2 = element.asElement2;
469- if (element2 != null ) {
470- for (var fragment in element2.firstFragment.withAncestors) {
471- if (fragment case engine.CompilationUnitElement unit) {
472- return unit;
473- }
474- }
358+ var fragment = element.firstFragment.libraryFragment;
359+ if (fragment == null ) {
360+ throw StateError ('No unit: $element ' );
475361 }
476-
477- throw StateError ('No unit: $element ' );
362+ return fragment;
478363}
479364
480- /// Creates a new [Location] .
365+ /// Returns a new [Location] based on a source [range] with a [libraryFragment ] .
481366Location _locationForArgs (
482- engine.CompilationUnitElement unitElement ,
367+ engine.LibraryFragment libraryFragment ,
483368 engine.SourceRange range,
484369) {
485- var lineInfo = unitElement .lineInfo;
370+ var lineInfo = libraryFragment .lineInfo;
486371
487372 var startLocation = lineInfo.getLocation (range.offset);
488373 var endLocation = lineInfo.getLocation (range.end);
@@ -493,7 +378,7 @@ Location _locationForArgs(
493378 var endColumn = endLocation.columnNumber;
494379
495380 return Location (
496- unitElement .source.fullName,
381+ libraryFragment .source.fullName,
497382 range.offset,
498383 range.length,
499384 startLine,
0 commit comments