| Index: pkg/analyzer/lib/src/dart/element/element.dart
|
| diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
|
| index 371b24e5e6b1f0c044fb4951ae967a149f96a34e..ecd8ec6ac82916ea699315c9d50859eab7b2b451 100644
|
| --- a/pkg/analyzer/lib/src/dart/element/element.dart
|
| +++ b/pkg/analyzer/lib/src/dart/element/element.dart
|
| @@ -4314,13 +4314,14 @@ class FieldFormalParameterElementImpl extends ParameterElementImpl
|
| @override
|
| FieldElement get field {
|
| if (_unlinkedParam != null && _field == null) {
|
| - Element enclosing = enclosingElement?.enclosingElement;
|
| - while (enclosing != null) {
|
| - if (enclosing is ClassElement) {
|
| - _field = enclosing.getField(_unlinkedParam.name);
|
| - break;
|
| - } else {
|
| - enclosing = enclosing.enclosingElement;
|
| + Element enclosingConstructor = enclosingElement;
|
| + if (enclosingConstructor is ConstructorElement) {
|
| + Element enclosingClass = enclosingConstructor.enclosingElement;
|
| + if (enclosingClass is ClassElement) {
|
| + FieldElement field = enclosingClass.getField(_unlinkedParam.name);
|
| + if (field != null && !field.isSynthetic) {
|
| + _field = field;
|
| + }
|
| }
|
| }
|
| }
|
|
|