@@ -8,11 +8,10 @@ import 'package:analysis_server/src/lsp/handlers/handlers.dart';
88import 'package:analysis_server/src/lsp/mapping.dart' ;
99import 'package:analyzer/dart/analysis/results.dart' ;
1010import 'package:analyzer/dart/ast/ast.dart' ;
11- import 'package:analyzer/dart/element/element .dart' ;
11+ import 'package:analyzer/dart/element/element2 .dart' ;
1212import 'package:analyzer/source/source_range.dart' ;
1313import 'package:analyzer/src/dart/analysis/session_helper.dart' ;
1414import 'package:analyzer/src/dart/ast/utilities.dart' ;
15- import 'package:analyzer/src/dart/element/element.dart' ;
1615import 'package:analyzer_plugin/utilities/change_builder/change_builder_core.dart' ;
1716
1817/// Handles textDocument/colorPresentation.
@@ -74,7 +73,7 @@ class DocumentColorPresentationHandler extends SharedMessageHandler<
7473 Future <ColorPresentation > _createColorPresentation ({
7574 required ResolvedUnitResult unit,
7675 required SourceRange editRange,
77- required InterfaceElement colorType,
76+ required InterfaceElement2 colorType,
7877 required String typeName,
7978 required String invocationString,
8079 required bool includeConstKeyword,
@@ -152,7 +151,7 @@ class DocumentColorPresentationHandler extends SharedMessageHandler<
152151 var editRange = SourceRange (editStart, editEnd - editStart);
153152
154153 var sessionHelper = AnalysisSessionHelper (unit.session);
155- var colorType = await sessionHelper.getFlutterClass ('Color' );
154+ var colorType = await sessionHelper.getFlutterClass2 ('Color' );
156155 if (colorType == null ) {
157156 // If we can't find the class (perhaps because this isn't a Flutter
158157 // project) we will not include any results. In theory the client should
@@ -246,14 +245,16 @@ class DocumentColorPresentationHandler extends SharedMessageHandler<
246245 return node.isConst;
247246 } else if (node is SimpleIdentifier ) {
248247 var parent = node.parent;
249- var staticElement = parent is PrefixedIdentifier
250- ? parent.staticElement
251- : node.staticElement;
252- var target = staticElement is PropertyAccessorElement
253- ? staticElement.variable2
254- : staticElement;
248+ var element =
249+ parent is PrefixedIdentifier ? parent.element : node.element;
255250
256- return target is ConstVariableElement ;
251+ return switch (element) {
252+ GetterElement (: var variable3) ||
253+ SetterElement (: var variable3) =>
254+ variable3? .isConst ?? false ,
255+ VariableElement2 () => element.isConst,
256+ _ => false ,
257+ };
257258 } else {
258259 return false ;
259260 }
0 commit comments