| 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 92938b51ce2dbe15405d35d584699130149adb0d..33c3d48f7a88d65dd914923e49d77654354fa7df 100644
|
| --- a/pkg/analyzer/lib/src/summary/resynthesize.dart
|
| +++ b/pkg/analyzer/lib/src/summary/resynthesize.dart
|
| @@ -1545,6 +1545,13 @@ class _ResynthesizerContext implements ResynthesizerContext {
|
| }
|
|
|
| @override
|
| + FunctionElementImpl buildVariableInitializer(
|
| + VariableElementImpl variable, UnlinkedExecutable serializedInitializer) {
|
| + return _unitResynthesizer.buildVariableInitializer(
|
| + variable, serializedInitializer);
|
| + }
|
| +
|
| + @override
|
| DartType resolveLinkedType(
|
| int slot, TypeParameterizedElementMixin typeParameterContext) {
|
| return _unitResynthesizer.buildLinkedType(slot, typeParameterContext);
|
| @@ -2124,20 +2131,6 @@ class _UnitResynthesizer {
|
| executableElement.labels = localLabels;
|
| }
|
| }
|
| - {
|
| - List<UnlinkedVariable> unlinkedVariables =
|
| - serializedExecutable.localVariables;
|
| - int length = unlinkedVariables.length;
|
| - if (length != 0) {
|
| - List<LocalVariableElementImpl> localVariables =
|
| - new List<LocalVariableElementImpl>(length);
|
| - for (int i = 0; i < length; i++) {
|
| - localVariables[i] =
|
| - buildLocalVariable(unlinkedVariables[i], executableElement);
|
| - }
|
| - executableElement.localVariables = localVariables;
|
| - }
|
| - }
|
| currentTypeParameters.removeLast();
|
| }
|
|
|
| @@ -2246,32 +2239,6 @@ class _UnitResynthesizer {
|
| }
|
|
|
| /**
|
| - * Resynthesize a [LocalVariableElement].
|
| - */
|
| - LocalVariableElement buildLocalVariable(UnlinkedVariable serializedVariable,
|
| - ExecutableElementImpl enclosingExecutable) {
|
| - LocalVariableElementImpl element;
|
| - if (serializedVariable.initializer?.bodyExpr != null &&
|
| - serializedVariable.isConst) {
|
| - ConstLocalVariableElementImpl constElement =
|
| - new ConstLocalVariableElementImpl.forSerialized(
|
| - serializedVariable, enclosingExecutable);
|
| - element = constElement;
|
| - constElement.constantInitializer = _buildConstExpression(
|
| - enclosingExecutable, serializedVariable.initializer.bodyExpr);
|
| - } else {
|
| - element = new LocalVariableElementImpl.forSerialized(
|
| - serializedVariable, enclosingExecutable);
|
| - }
|
| - if (serializedVariable.visibleOffset != 0) {
|
| - element.setVisibleRange(
|
| - serializedVariable.visibleOffset, serializedVariable.visibleLength);
|
| - }
|
| - buildVariableCommonParts(element, serializedVariable);
|
| - return element;
|
| - }
|
| -
|
| - /**
|
| * Resynthesize a [ParameterElement].
|
| */
|
| ParameterElement buildParameter(
|
| @@ -2320,7 +2287,6 @@ class _UnitResynthesizer {
|
| parameterTypeElement, null, getCurrentTypeArguments(), false);
|
| parameterTypeElement.type = parameterElement.type;
|
| }
|
| - buildVariableInitializer(parameterElement, serializedParameter.initializer);
|
| return parameterElement;
|
| }
|
|
|
| @@ -2515,7 +2481,6 @@ class _UnitResynthesizer {
|
| element = new TopLevelVariableElementImpl.forSerialized(
|
| unlinkedVariable, unit);
|
| }
|
| - buildVariableCommonParts(element, unlinkedVariable);
|
| variablesData.variables[i] = element;
|
| // implicit accessors
|
| variablesData.implicitAccessors.add(buildImplicitGetter(element));
|
| @@ -2545,7 +2510,6 @@ class _UnitResynthesizer {
|
| element = new FieldElementImpl.forSerialized(
|
| serializedVariable, enclosingClass);
|
| }
|
| - buildVariableCommonParts(element, serializedVariable);
|
| element.static = serializedVariable.isStatic;
|
| holder.addField(element);
|
| buildImplicitAccessors(element, holder);
|
| @@ -2554,18 +2518,10 @@ class _UnitResynthesizer {
|
| }
|
|
|
| /**
|
| - * Handle the parts that are common to variables.
|
| - */
|
| - void buildVariableCommonParts(
|
| - VariableElementImpl element, UnlinkedVariable serializedVariable) {
|
| - buildVariableInitializer(element, serializedVariable.initializer);
|
| - }
|
| -
|
| - /**
|
| - * If the given [serializedInitializer] is not `null`, create the
|
| - * corresponding [FunctionElementImpl] and set it for the [variable].
|
| + * If the given [serializedInitializer] is not `null`, return the
|
| + * corresponding [FunctionElementImpl], otherwise return `null`.
|
| */
|
| - void buildVariableInitializer(
|
| + FunctionElementImpl buildVariableInitializer(
|
| VariableElementImpl variable, UnlinkedExecutable serializedInitializer) {
|
| if (serializedInitializer == null) {
|
| return null;
|
| @@ -2573,7 +2529,7 @@ class _UnitResynthesizer {
|
| FunctionElementImpl initializerElement =
|
| buildLocalFunction(serializedInitializer, variable);
|
| initializerElement.synthetic = true;
|
| - variable.initializer = initializerElement;
|
| + return initializerElement;
|
| }
|
|
|
| /**
|
|
|