Chromium Code Reviews| 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 db740a8fddf1a89cde87a0cd045fcce4eff208a5..b9f4fd1236fbd60e441e3a9d9615d081d91898dd 100644 |
| --- a/pkg/analyzer/lib/src/dart/element/element.dart |
| +++ b/pkg/analyzer/lib/src/dart/element/element.dart |
| @@ -1987,6 +1987,18 @@ class ConstructorElementImpl extends ExecutableElementImpl |
| List<ConstructorInitializer> _constantInitializers; |
| /** |
| + * The initializers for fields (used for evaluating constant |
| + * instance creation expressions). |
| + */ |
| + List<VariableDeclaration> _fieldInitializers; |
|
Paul Berry
2016/07/21 20:42:14
This shouldn't be necessary. We already store the
Jennifer Messerly
2016/07/28 22:28:05
Nice!!!! Reverted this file :)
|
| + |
| + /** |
| + * The initializers for default parameters (used for evaluating constant |
| + * instance creation expressions). |
| + */ |
| + List<DefaultFormalParameter> _parameterInitializers; |
|
Paul Berry
2016/07/21 20:42:14
This shouldn't be necessary either. We already st
Jennifer Messerly
2016/07/28 22:28:05
Reverted :)
|
| + |
| + /** |
| * The offset of the `.` before this constructor name or `null` if not named. |
| */ |
| int _periodOffset; |
| @@ -2044,6 +2056,36 @@ class ConstructorElementImpl extends ExecutableElementImpl |
| _constantInitializers = constantInitializers; |
| } |
| + List<VariableDeclaration> get fieldInitializers { |
|
Paul Berry
2016/07/21 20:42:14
This hunk should be unnecessary too.
Jennifer Messerly
2016/07/28 22:28:05
yup!
|
| + if (serializedExecutable != null && _fieldInitializers == null) { |
| + _fieldInitializers ??= serializedExecutable.fieldInitializers |
| + .map((i) => _buildConstructorInitializer(i)) |
| + .toList(growable: false); |
| + } |
| + return _fieldInitializers; |
| + } |
| + |
| + void set fieldInitializers( |
| + List<VariableDeclaration> fieldInitializers) { |
| + assert(serializedExecutable == null); |
| + _fieldInitializers = fieldInitializers; |
| + } |
| + |
| + List<DefaultFormalParameter> get parameterInitializers { |
| + if (serializedExecutable != null && _parameterInitializers == null) { |
| + _parameterInitializers ??= serializedExecutable.parameterInitializers |
| + .map((i) => _buildConstructorInitializer(i)) |
| + .toList(growable: false); |
| + } |
| + return _parameterInitializers; |
| + } |
| + |
| + void set parameterInitializers( |
| + List<DefaultFormalParameter> parameterInitializers) { |
| + assert(serializedExecutable == null); |
| + _parameterInitializers = parameterInitializers; |
| + } |
| + |
| @override |
| ClassElementImpl get enclosingElement => |
| super.enclosingElement as ClassElementImpl; |