| 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 84f1bec3b1b5f8247bda2e7b961261f4f65ca5a4..b63128786de196a860b13bf8b3e222d9b878eb29 100644
|
| --- a/pkg/analyzer/lib/src/summary/summarize_elements.dart
|
| +++ b/pkg/analyzer/lib/src/summary/summarize_elements.dart
|
| @@ -1067,15 +1067,19 @@ class _ConstExprSerializer extends AbstractConstExprSerializer {
|
| @override
|
| EntityRefBuilder serializeConstructorName(
|
| TypeName type, SimpleIdentifier name) {
|
| - EntityRefBuilder typeRef = serializer.serializeTypeRef(type.type, null);
|
| + EntityRefBuilder typeRef = serializeType(type);
|
| if (name == null) {
|
| return typeRef;
|
| } else {
|
| LinkedReference typeLinkedRef =
|
| serializer.linkedReferences[typeRef.reference];
|
| int refId = serializer.serializeUnlinkedReference(
|
| - name.name, ReferenceKind.constructor,
|
| - prefixReference: typeRef.reference, unit: typeLinkedRef.unit);
|
| + name.name,
|
| + name.staticElement != null
|
| + ? ReferenceKind.constructor
|
| + : ReferenceKind.unresolved,
|
| + prefixReference: typeRef.reference,
|
| + unit: typeLinkedRef.unit);
|
| return new EntityRefBuilder(
|
| reference: refId, typeArguments: typeRef.typeArguments);
|
| }
|
| @@ -1151,6 +1155,12 @@ class _ConstExprSerializer extends AbstractConstExprSerializer {
|
|
|
| @override
|
| EntityRefBuilder serializeType(TypeName typeName) {
|
| + if (typeName != null) {
|
| + DartType type = typeName.type;
|
| + if (type == null || type.isUndefined) {
|
| + return serializeIdentifier(typeName.name);
|
| + }
|
| + }
|
| DartType type = typeName != null ? typeName.type : DynamicTypeImpl.instance;
|
| return serializer.serializeTypeRef(type, null);
|
| }
|
|
|