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; |