@@ -225,6 +225,7 @@ class InstanceMemberInferrer {
225225      // in the direct superinterfaces. 
226226      if  (overriddenGetters.isNotEmpty &&  overriddenSetters.isEmpty) {
227227        var  valueType =  combinedGetterType ();
228+         parameter.element.type =  valueType;
228229        parameter.type =  valueType;
229230        var  fieldElement =  accessor.element.variable3 as  FieldElementImpl ;
230231        if  (fieldElement.getter2 ==  null ) {
@@ -244,6 +245,7 @@ class InstanceMemberInferrer {
244245      // combined member signature of said setter in the direct superinterfaces. 
245246      if  (overriddenSetters.isNotEmpty) {
246247        var  valueType =  combinedSetterType ();
248+         parameter.element.type =  valueType;
247249        parameter.type =  valueType;
248250        var  fieldElement =  accessor.element.variable3 as  FieldElementImpl ;
249251        fieldElement.type =  valueType;
@@ -396,13 +398,16 @@ class InstanceMemberInferrer {
396398        if  (parameter is  FieldFormalParameterFragmentImpl ) {
397399          var  field =  parameter.field;
398400          if  (field !=  null ) {
401+             parameter.element.type =  field.element.type;
399402            parameter.type =  field.element.type;
400403          }
401404        } else  if  (parameter is  SuperFormalParameterFragmentImpl ) {
402405          var  superParameter =  parameter.element.superConstructorParameter2;
403406          if  (superParameter !=  null ) {
407+             parameter.element.type =  superParameter.type;
404408            parameter.type =  superParameter.type;
405409          } else  {
410+             parameter.element.type =  DynamicTypeImpl .instance;
406411            parameter.type =  DynamicTypeImpl .instance;
407412          }
408413        }
@@ -542,6 +547,7 @@ class InstanceMemberInferrer {
542547          baseParameter,
543548        ) {
544549          var  type =  substitution.substituteType (baseParameter.type);
550+           parameter.element.type =  type;
545551          parameter.type =  type;
546552        });
547553        // Update arguments of `SuperConstructorInvocation` to have the types 
@@ -593,11 +599,14 @@ class InstanceMemberInferrer {
593599        combinedSignatureType.parameters,
594600      );
595601      if  (matchingParameter !=  null ) {
602+         parameter.element.type =  matchingParameter.type;
596603        parameter.type =  matchingParameter.type;
597604      } else  {
605+         parameter.element.type =  DynamicTypeImpl .instance;
598606        parameter.type =  DynamicTypeImpl .instance;
599607      }
600608    } else  {
609+       parameter.element.type =  DynamicTypeImpl .instance;
601610      parameter.type =  DynamicTypeImpl .instance;
602611    }
603612  }
0 commit comments