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:_fe_analyzer_shared/src/type_inference/type_analyzer_operations.dart' ;
86import 'package:analyzer/dart/analysis/features.dart' ;
9- import 'package:analyzer/dart/element/element.dart' ;
10- import 'package:analyzer/dart/element/element2.dart' ;
117import 'package:analyzer/dart/element/nullability_suffix.dart' ;
128import 'package:analyzer/dart/element/type.dart' ;
139import 'package:analyzer/source/line_info.dart' ;
@@ -262,51 +258,39 @@ mixin ElementsTypesMixin {
262258
263259 FunctionTypeImpl functionType ({
264260 required List <TypeParameterElementImpl2 > typeParameters,
265- required List <ParameterElement > parameters ,
261+ required List <FormalParameterElementImpl > formalParameters ,
266262 required DartType returnType,
267263 required NullabilitySuffix nullabilitySuffix,
268264 }) {
269- return FunctionTypeImpl (
270- typeFormals : typeParameters. map ((e) => e.asElement). toList () ,
271- parameters : parameters ,
265+ return FunctionTypeImpl . v2 (
266+ typeParameters : typeParameters,
267+ formalParameters : formalParameters ,
272268 returnType: returnType,
273269 nullabilitySuffix: nullabilitySuffix,
274270 );
275271 }
276272
277273 FunctionTypeImpl functionTypeNone ({
278274 List <TypeParameterElementImpl2 > typeParameters = const [],
279- List <ParameterElement > parameters = const [],
275+ List <FormalParameterElementImpl > formalParameters = const [],
280276 required DartType returnType,
281277 }) {
282278 return functionType (
283279 typeParameters: typeParameters,
284- parameters : parameters ,
280+ formalParameters : formalParameters ,
285281 returnType: returnType,
286282 nullabilitySuffix: NullabilitySuffix .none,
287283 );
288284 }
289285
290- FunctionTypeImpl functionTypeNone2 ({
291- List <TypeParameterElementImpl2 > typeParameters = const [],
292- List <FormalParameterElement > parameters = const [],
293- required DartType returnType,
294- }) {
295- return functionTypeNone (
296- parameters: parameters.map ((e) => e.asElement).toList (),
297- typeParameters: typeParameters,
298- returnType: returnType,
299- );
300- }
301-
302286 FunctionTypeImpl functionTypeQuestion ({
303287 List <TypeParameterElementImpl2 > typeParameters = const [],
304- List <ParameterElement > parameters = const [],
288+ List <FormalParameterElementImpl > formalParameters = const [],
305289 required DartType returnType,
306290 }) {
307291 return functionType (
308292 typeParameters: typeParameters,
309- parameters : parameters ,
293+ formalParameters : formalParameters ,
310294 returnType: returnType,
311295 nullabilitySuffix: NullabilitySuffix .question,
312296 );
@@ -469,11 +453,11 @@ mixin ElementsTypesMixin {
469453 DartType returnType, {
470454 bool isStatic = false ,
471455 List <TypeParameterElementImpl2 > typeParameters = const [],
472- List <ParameterElementImpl > parameters = const [],
456+ List <FormalParameterElementImpl > formalParameters = const [],
473457 }) {
474458 return MethodElementImpl (name, 0 )
475459 ..isStatic = isStatic
476- ..parameters = parameters
460+ ..parameters = formalParameters. map ((e) => e.asElement). toList ()
477461 ..returnType = returnType
478462 ..typeParameters = typeParameters.map ((e) => e.asElement).toList ();
479463 }
@@ -501,90 +485,57 @@ mixin ElementsTypesMixin {
501485 return fragment;
502486 }
503487
504- ParameterElementImpl namedParameter ({
488+ FormalParameterElementImpl namedParameter ({
505489 required String name,
506490 required TypeImpl type,
507491 bool isCovariant = false ,
508492 }) {
509- var parameter = ParameterElementImpl (
493+ var fragment = ParameterElementImpl (
510494 name: name,
511495 nameOffset: 0 ,
512496 name2: name,
513497 nameOffset2: 0 ,
514498 parameterKind: ParameterKind .NAMED ,
515499 );
516- parameter .type = type;
517- parameter .isExplicitlyCovariant = isCovariant;
518- return parameter ;
500+ fragment .type = type;
501+ fragment .isExplicitlyCovariant = isCovariant;
502+ return fragment.asElement2 ;
519503 }
520504
521- FormalParameterElement namedParameter2 ({
505+ FormalParameterElementImpl namedRequiredParameter ({
522506 required String name,
523507 required TypeImpl type,
524508 bool isCovariant = false ,
525509 }) {
526- return namedParameter (name: name, type: type, isCovariant: isCovariant)
527- .asElement2;
528- }
529-
530- ParameterElementImpl namedRequiredParameter ({
531- required String name,
532- required TypeImpl type,
533- bool isCovariant = false ,
534- }) {
535- var parameter = ParameterElementImpl (
510+ var fragment = ParameterElementImpl (
536511 name: name,
537512 nameOffset: 0 ,
538513 name2: name,
539514 nameOffset2: 0 ,
540515 parameterKind: ParameterKind .NAMED_REQUIRED ,
541516 );
542- parameter.type = type;
543- parameter.isExplicitlyCovariant = isCovariant;
544- return parameter;
545- }
546-
547- FormalParameterElement namedRequiredParameter2 ({
548- required String name,
549- required TypeImpl type,
550- bool isCovariant = false ,
551- }) {
552- return namedRequiredParameter (
553- name: name, type: type, isCovariant: isCovariant)
554- .asElement2;
517+ fragment.type = type;
518+ fragment.isExplicitlyCovariant = isCovariant;
519+ return fragment.asElement2;
555520 }
556521
557- ParameterElementImpl positionalParameter ({
522+ FormalParameterElementImpl positionalParameter ({
558523 String ? name,
559524 required TypeImpl type,
560525 bool isCovariant = false ,
561526 String ? defaultValueCode,
562527 }) {
563- var parameter = ParameterElementImpl (
528+ var fragment = ParameterElementImpl (
564529 name: name ?? '' ,
565530 nameOffset: 0 ,
566531 name2: name,
567532 nameOffset2: 0 ,
568533 parameterKind: ParameterKind .POSITIONAL ,
569534 );
570- parameter.type = type;
571- parameter.isExplicitlyCovariant = isCovariant;
572- parameter.defaultValueCode = defaultValueCode;
573- return parameter;
574- }
575-
576- FormalParameterElement positionalParameter2 ({
577- String ? name,
578- required TypeImpl type,
579- bool isCovariant = false ,
580- String ? defaultValueCode,
581- }) {
582- return positionalParameter (
583- name: name,
584- type: type,
585- isCovariant: isCovariant,
586- defaultValueCode: defaultValueCode,
587- ).asElement2;
535+ fragment.type = type;
536+ fragment.isExplicitlyCovariant = isCovariant;
537+ fragment.defaultValueCode = defaultValueCode;
538+ return fragment.asElement2;
588539 }
589540
590541 TypeParameterTypeImpl promotedTypeParameterType ({
@@ -664,33 +615,24 @@ mixin ElementsTypesMixin {
664615 );
665616 }
666617
667- ParameterElementImpl requiredParameter ({
618+ FormalParameterElementImpl requiredParameter ({
668619 String ? name,
669620 required TypeImpl type,
670621 bool isCovariant = false ,
671622 }) {
672- var parameter = ParameterElementImpl (
623+ var fragment = ParameterElementImpl (
673624 name: name ?? '' ,
674625 nameOffset: 0 ,
675626 name2: name,
676627 nameOffset2: 0 ,
677628 parameterKind: ParameterKind .REQUIRED ,
678629 );
679- parameter.type = type;
680- parameter.isExplicitlyCovariant = isCovariant;
681- return parameter;
682- }
683-
684- FormalParameterElement requiredParameter2 ({
685- String ? name,
686- required TypeImpl type,
687- bool isCovariant = false ,
688- }) {
689- return requiredParameter (name: name, type: type, isCovariant: isCovariant)
690- .asElement2;
630+ fragment.type = type;
631+ fragment.isExplicitlyCovariant = isCovariant;
632+ return fragment.asElement2;
691633 }
692634
693- TypeAliasElementImpl2 typeAlias2 ({
635+ TypeAliasElementImpl2 typeAlias ({
694636 required String name,
695637 required List <TypeParameterElementImpl2 > typeParameters,
696638 required DartType aliasedType,
@@ -704,7 +646,7 @@ mixin ElementsTypesMixin {
704646 return TypeAliasElementImpl2 (Reference .root (), fragment);
705647 }
706648
707- TypeImpl typeAliasTypeNone2 (
649+ TypeImpl typeAliasTypeNone (
708650 TypeAliasElementImpl2 element, {
709651 List <DartType > typeArguments = const [],
710652 }) {
0 commit comments