| Index: pkg/analyzer/lib/src/summary/resynthesize.dart
|
| diff --git a/pkg/analyzer/lib/src/summary/resynthesize.dart b/pkg/analyzer/lib/src/summary/resynthesize.dart
|
| index df23151bff8c755ddd6b2946a0793a126f1c36a5..8c9869f6bbf1e2f96cc9339ddaff74b8e3f66885 100644
|
| --- a/pkg/analyzer/lib/src/summary/resynthesize.dart
|
| +++ b/pkg/analyzer/lib/src/summary/resynthesize.dart
|
| @@ -1020,6 +1020,7 @@ class _LibraryResynthesizer {
|
| classElement.type = correspondingType;
|
| buildDocumentation(classElement, serializedClass.documentationComment);
|
| buildAnnotations(classElement, serializedClass.annotations);
|
| + buildCodeRange(classElement, serializedClass.codeRange);
|
| resolveConstructorInitializers(classElement);
|
| unitHolder.addType(classElement);
|
| currentTypeParameters.removeLast();
|
| @@ -1028,6 +1029,12 @@ class _LibraryResynthesizer {
|
| constructors = null;
|
| }
|
|
|
| + void buildCodeRange(ElementImpl element, CodeRange codeRange) {
|
| + if (codeRange != null) {
|
| + element.setCodeRange(codeRange.offset, codeRange.length);
|
| + }
|
| + }
|
| +
|
| /**
|
| * Resynthesize a [NamespaceCombinator].
|
| */
|
| @@ -1151,6 +1158,7 @@ class _LibraryResynthesizer {
|
| classElement.supertype = summaryResynthesizer.typeProvider.objectType;
|
| buildDocumentation(classElement, serializedEnum.documentationComment);
|
| buildAnnotations(classElement, serializedEnum.annotations);
|
| + buildCodeRange(classElement, serializedEnum.codeRange);
|
| ElementHolder memberHolder = new ElementHolder();
|
| // Build the 'index' field.
|
| FieldElementImpl indexField = new FieldElementImpl('index', -1);
|
| @@ -1306,6 +1314,7 @@ class _LibraryResynthesizer {
|
| buildDocumentation(
|
| executableElement, serializedExecutable.documentationComment);
|
| buildAnnotations(executableElement, serializedExecutable.annotations);
|
| + buildCodeRange(executableElement, serializedExecutable.codeRange);
|
| executableElement.functions =
|
| serializedExecutable.localFunctions.map(buildLocalFunction).toList();
|
| executableElement.labels =
|
| @@ -1707,6 +1716,7 @@ class _LibraryResynthesizer {
|
| }
|
| parameterElement.synthetic = synthetic;
|
| buildAnnotations(parameterElement, serializedParameter.annotations);
|
| + buildCodeRange(parameterElement, serializedParameter.codeRange);
|
| if (serializedParameter.isFunctionTyped) {
|
| FunctionElementImpl parameterTypeElement =
|
| new FunctionElementImpl('', -1);
|
| @@ -1840,6 +1850,7 @@ class _LibraryResynthesizer {
|
| buildDocumentation(
|
| functionTypeAliasElement, serializedTypedef.documentationComment);
|
| buildAnnotations(functionTypeAliasElement, serializedTypedef.annotations);
|
| + buildCodeRange(functionTypeAliasElement, serializedTypedef.codeRange);
|
| unitHolder.addTypeAlias(functionTypeAliasElement);
|
| currentTypeParameters.removeLast();
|
| assert(currentTypeParameters.isEmpty);
|
| @@ -1860,6 +1871,7 @@ class _LibraryResynthesizer {
|
| serializedTypeParameter.name, serializedTypeParameter.nameOffset);
|
| typeParameterElement.type = new TypeParameterTypeImpl(typeParameterElement);
|
| buildAnnotations(typeParameterElement, serializedTypeParameter.annotations);
|
| + buildCodeRange(typeParameterElement, serializedTypeParameter.codeRange);
|
| return typeParameterElement;
|
| }
|
|
|
| @@ -1933,6 +1945,7 @@ class _LibraryResynthesizer {
|
| buildVariableInitializer(element, serializedVariable.initializer);
|
| buildDocumentation(element, serializedVariable.documentationComment);
|
| buildAnnotations(element, serializedVariable.annotations);
|
| + buildCodeRange(element, serializedVariable.codeRange);
|
| }
|
|
|
| /**
|
| @@ -1947,6 +1960,7 @@ class _LibraryResynthesizer {
|
| FunctionElementImpl initializerElement =
|
| buildLocalFunction(serializedInitializer);
|
| initializerElement.synthetic = true;
|
| + initializerElement.setCodeRange(null, null);
|
| variable.initializer = initializerElement;
|
| }
|
|
|
| @@ -2204,6 +2218,7 @@ class _LibraryResynthesizer {
|
| for (PropertyAccessorElementImpl accessor in unit.accessors) {
|
| elementMap[accessor.identifier] = accessor;
|
| }
|
| + buildCodeRange(unit, unlinkedUnit.codeRange);
|
| resynthesizedUnits[absoluteUri] = unit;
|
| resynthesizedElements[absoluteUri] = elementMap;
|
| assert(currentTypeParameters.isEmpty);
|
|
|