| Index: pkg/analyzer/lib/src/summary/summarize_elements.dart
|
| diff --git a/pkg/analyzer/lib/src/summary/summarize_elements.dart b/pkg/analyzer/lib/src/summary/summarize_elements.dart
|
| index 97ee5e32c02711963a57daa413ebd3ac83e2772f..09ea986175f43044ad6ed3403fa73dff073fa1cb 100644
|
| --- a/pkg/analyzer/lib/src/summary/summarize_elements.dart
|
| +++ b/pkg/analyzer/lib/src/summary/summarize_elements.dart
|
| @@ -505,7 +505,8 @@ class _CompilationUnitSerializer {
|
| return const <UnlinkedConstBuilder>[];
|
| }
|
| return element.metadata.map((ElementAnnotationImpl a) {
|
| - _ConstExprSerializer serializer = new _ConstExprSerializer(this, null);
|
| + _ConstExprSerializer serializer =
|
| + new _ConstExprSerializer(this, element, null);
|
| serializer.serializeAnnotation(a.annotationAst);
|
| return serializer.toBuilder();
|
| }).toList();
|
| @@ -651,10 +652,11 @@ class _CompilationUnitSerializer {
|
| /**
|
| * Serialize the given [expression], creating an [UnlinkedConstBuilder].
|
| */
|
| - UnlinkedConstBuilder serializeConstExpr(Expression expression,
|
| + UnlinkedConstBuilder serializeConstExpr(
|
| + Element context, Expression expression,
|
| [Set<String> constructorParameterNames]) {
|
| _ConstExprSerializer serializer =
|
| - new _ConstExprSerializer(this, constructorParameterNames);
|
| + new _ConstExprSerializer(this, context, constructorParameterNames);
|
| serializer.serialize(expression);
|
| return serializer.toBuilder();
|
| }
|
| @@ -769,8 +771,8 @@ class _CompilationUnitSerializer {
|
| .map((ConstructorInitializer initializer) =>
|
| serializeConstructorInitializer(
|
| initializer,
|
| - (expr) =>
|
| - serializeConstExpr(expr, constructorParameterNames)))
|
| + (expr) => serializeConstExpr(
|
| + executableElement, expr, constructorParameterNames)))
|
| .toList();
|
| }
|
| }
|
| @@ -906,7 +908,7 @@ class _CompilationUnitSerializer {
|
| ConstVariableElement constParameter = parameter as ConstVariableElement;
|
| Expression initializer = constParameter.constantInitializer;
|
| if (initializer != null) {
|
| - b.defaultValue = serializeConstExpr(initializer);
|
| + b.defaultValue = serializeConstExpr(parameter, initializer);
|
| b.defaultValueCode = parameter.defaultValueCode;
|
| }
|
| }
|
| @@ -1120,7 +1122,7 @@ class _CompilationUnitSerializer {
|
| ConstVariableElement constVariable = variable as ConstVariableElement;
|
| Expression initializer = constVariable.constantInitializer;
|
| if (initializer != null) {
|
| - b.constExpr = serializeConstExpr(initializer);
|
| + b.constExpr = serializeConstExpr(variable, initializer);
|
| }
|
| }
|
| if (variable is PropertyInducingElement) {
|
| @@ -1284,6 +1286,7 @@ class _CompilationUnitSerializer {
|
| */
|
| class _ConstExprSerializer extends AbstractConstExprSerializer {
|
| final _CompilationUnitSerializer serializer;
|
| + final Element context;
|
|
|
| /**
|
| * If a constructor initializer expression is being serialized, the names of
|
| @@ -1291,7 +1294,8 @@ class _ConstExprSerializer extends AbstractConstExprSerializer {
|
| */
|
| final Set<String> constructorParameterNames;
|
|
|
| - _ConstExprSerializer(this.serializer, this.constructorParameterNames);
|
| + _ConstExprSerializer(
|
| + this.serializer, this.context, this.constructorParameterNames);
|
|
|
| @override
|
| bool isConstructorParameterName(String name) {
|
| @@ -1422,7 +1426,7 @@ class _ConstExprSerializer extends AbstractConstExprSerializer {
|
| }
|
| }
|
| DartType type = typeName != null ? typeName.type : DynamicTypeImpl.instance;
|
| - return serializer.serializeTypeRef(type, null);
|
| + return serializer.serializeTypeRef(type, context);
|
| }
|
| }
|
|
|
|
|