@@ -10,7 +10,6 @@ import 'package:analysis_server/src/services/completion/dart/completion_manager.
1010import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart' ;
1111import 'package:analysis_server/src/utilities/extensions/ast.dart' ;
1212import 'package:analyzer/dart/ast/ast.dart' ;
13- import 'package:analyzer/dart/element/element.dart' ;
1413import 'package:analyzer/dart/element/element2.dart' ;
1514import 'package:analyzer/dart/element/nullability_suffix.dart' ;
1615import 'package:analyzer/dart/element/type.dart' ;
@@ -42,8 +41,8 @@ String buildClosureParameters(
4241
4342 var hasNamed = false ;
4443 var hasOptionalPositional = false ;
45- var parameters = type.parameters ;
46- var existingNames = parameters.map ((p) => p.name ).toSet ();
44+ var parameters = type.formalParameters ;
45+ var existingNames = parameters.map ((p) => p.displayName ).toSet ();
4746 for (var i = 0 ; i < parameters.length; ++ i) {
4847 var parameter = parameters[i];
4948 if (i != 0 ) {
@@ -60,7 +59,7 @@ String buildClosureParameters(
6059 buffer.write (parameter.type);
6160 buffer.write (' ' );
6261 }
63- var name = parameter.name ;
62+ var name = parameter.displayName ;
6463 if (name.isEmpty) {
6564 name = 'p$i ' ;
6665 var index = 1 ;
@@ -89,49 +88,6 @@ String buildClosureParameters(
8988/// Compute default argument list text and ranges based on the given
9089/// [requiredParams] and [namedParams] .
9190CompletionDefaultArgumentList computeCompletionDefaultArgumentList (
92- Element element,
93- Iterable <ParameterElement > requiredParams,
94- Iterable <ParameterElement > namedParams,
95- ) {
96- var sb = StringBuffer ();
97- var ranges = < int > [];
98-
99- int offset;
100-
101- for (var param in requiredParams) {
102- if (sb.isNotEmpty) {
103- sb.write (', ' );
104- }
105- offset = sb.length;
106-
107- var name = param.name;
108- sb.write (name);
109- ranges.addAll ([offset, name.length]);
110- }
111-
112- for (var param in namedParams) {
113- if (param.hasRequired || param.isRequiredNamed) {
114- if (sb.isNotEmpty) {
115- sb.write (', ' );
116- }
117- var name = param.name;
118- sb.write ('$name : ' );
119- offset = sb.length;
120- // TODO(pq): fix to use getDefaultStringParameterValue()
121- sb.write (name);
122- ranges.addAll ([offset, name.length]);
123- }
124- }
125-
126- return CompletionDefaultArgumentList (
127- text: sb.isNotEmpty ? sb.toString () : null ,
128- ranges: ranges.isNotEmpty ? ranges : null ,
129- );
130- }
131-
132- /// Compute default argument list text and ranges based on the given
133- /// [requiredParams] and [namedParams] .
134- CompletionDefaultArgumentList computeCompletionDefaultArgumentList2 (
13591 Element2 element,
13692 Iterable <FormalParameterElement > requiredParams,
13793 Iterable <FormalParameterElement > namedParams,
@@ -210,31 +166,6 @@ protocol.Element createLocalElement(
210166
211167/// Return a default argument value for the given [parameter] .
212168DefaultArgument ? getDefaultStringParameterValue (
213- ParameterElement parameter,
214- String quote,
215- ) {
216- var type = parameter.type;
217- if (type is InterfaceType ) {
218- if (type.isDartCoreList) {
219- return DefaultArgument ('[]' , cursorPosition: 1 );
220- } else if (type.isDartCoreMap) {
221- return DefaultArgument ('{}' , cursorPosition: 1 );
222- } else if (type.isDartCoreString) {
223- return DefaultArgument ('$quote $quote ' , cursorPosition: 1 );
224- }
225- } else if (type is FunctionType ) {
226- var params = type.parameters
227- .map ((p) => '${getTypeString (p .type )}${p .name }' )
228- .join (', ' );
229- // TODO(devoncarew): Support having this method return text with newlines.
230- var text = '($params ) { }' ;
231- return DefaultArgument (text, cursorPosition: text.length - 2 );
232- }
233- return null ;
234- }
235-
236- /// Return a default argument value for the given [parameter] .
237- DefaultArgument ? getDefaultStringParameterValue2 (
238169 FormalParameterElement parameter,
239170 String quote,
240171) {
@@ -248,8 +179,8 @@ DefaultArgument? getDefaultStringParameterValue2(
248179 return DefaultArgument ('$quote $quote ' , cursorPosition: 1 );
249180 }
250181 } else if (type is FunctionType ) {
251- var params = type.parameters
252- .map ((p) => '${getTypeString (p .type )}${p .name }' )
182+ var params = type.formalParameters
183+ .map ((p) => '${getTypeString (p .type )}${p .displayName }' )
253184 .join (', ' );
254185 // TODO(devoncarew): Support having this method return text with newlines.
255186 var text = '($params ) { }' ;
@@ -282,24 +213,8 @@ String getTypeString(DartType type) {
282213 }
283214}
284215
285- /// Instantiates the given [InterfaceElement ]
216+ /// Instantiates the given [InterfaceElement2 ]
286217InterfaceType instantiateInstanceElement (
287- InterfaceElement element,
288- NeverType neverType,
289- ) {
290- var typeParameters = element.typeParameters;
291- var typeArguments = const < DartType > [];
292- if (typeParameters.isNotEmpty) {
293- typeArguments = List .filled (typeParameters.length, neverType);
294- }
295- return element.instantiate (
296- typeArguments: typeArguments,
297- nullabilitySuffix: NullabilitySuffix .none,
298- );
299- }
300-
301- /// Instantiates the given [InterfaceElement]
302- InterfaceType instantiateInstanceElement2 (
303218 InterfaceElement2 element,
304219 NeverType neverType,
305220) {
@@ -316,10 +231,10 @@ InterfaceType instantiateInstanceElement2(
316231
317232/// Returns true if the [parameter] is part of a constructor for a Flutter
318233/// [Widget] .
319- bool isFlutterWidgetParameter (ParameterElement parameter) {
320- var element = parameter.enclosingElement3 ;
321- if (element is ConstructorElement &&
322- element.enclosingElement3. augmented .firstFragment .isWidget) {
234+ bool isFlutterWidgetParameter (FormalParameterElement parameter) {
235+ var element = parameter.enclosingElement2 ;
236+ if (element is ConstructorElement2 &&
237+ element.enclosingElement2 .isWidget) {
323238 return true ;
324239 }
325240 return false ;
@@ -330,22 +245,22 @@ bool isFlutterWidgetParameter(ParameterElement parameter) {
330245String ? nameForType (SimpleIdentifier identifier, TypeAnnotation ? declaredType) {
331246 // Get the type from the identifier element.
332247 DartType type;
333- var element = identifier.staticElement ;
248+ var element = identifier.element ;
334249 if (element == null ) {
335250 return DYNAMIC ;
336- } else if (element is FunctionTypedElement ) {
337- if (element is PropertyAccessorElement && element.isSetter ) {
251+ } else if (element is FunctionTypedElement2 ) {
252+ if (element is PropertyAccessorElement2 && element is SetterElement ) {
338253 return null ;
339254 }
340255 type = element.returnType;
341- } else if (element is TypeAliasElement ) {
256+ } else if (element is TypeAliasElement2 ) {
342257 var aliasedType = element.aliasedType;
343258 if (aliasedType is FunctionType ) {
344259 type = aliasedType.returnType;
345260 } else {
346261 return null ;
347262 }
348- } else if (element is VariableElement ) {
263+ } else if (element is VariableElement2 ) {
349264 type = element.type;
350265 } else {
351266 return null ;
0 commit comments