| Index: pkg/compiler/lib/src/ssa/builder.dart
|
| diff --git a/pkg/compiler/lib/src/ssa/builder.dart b/pkg/compiler/lib/src/ssa/builder.dart
|
| index a910a56c00970b2b38c4a1dfd380650f7f31a482..39fd93bc7310142405631beae1aa0e9309b933e2 100644
|
| --- a/pkg/compiler/lib/src/ssa/builder.dart
|
| +++ b/pkg/compiler/lib/src/ssa/builder.dart
|
| @@ -147,7 +147,8 @@ class SsaAstBuilderTask extends SsaAstBuilderBase {
|
| if (!identical(element.kind, ElementKind.FIELD)) {
|
| MethodElement function = element;
|
| FunctionSignature signature = function.functionSignature;
|
| - signature.forEachOptionalParameter((ParameterElement parameter) {
|
| + signature.forEachOptionalParameter((_parameter) {
|
| + ParameterElement parameter = _parameter;
|
| // This ensures the default value will be computed.
|
| ConstantValue constant =
|
| backend.constants.getConstantValue(parameter.constant);
|
| @@ -882,7 +883,8 @@ class SsaBuilder extends ast.Visitor
|
| }
|
|
|
| FunctionSignature signature = function.functionSignature;
|
| - signature.orderedForEachParameter((ParameterElement parameter) {
|
| + signature.orderedForEachParameter((_parameter) {
|
| + ParameterElement parameter = _parameter;
|
| HInstruction argument = compiledArguments[argumentIndex++];
|
| localsHandler.updateLocal(parameter, argument);
|
| });
|
| @@ -890,8 +892,8 @@ class SsaBuilder extends ast.Visitor
|
| ClassElement enclosing = function.enclosingClass;
|
| if ((function.isConstructor || function.isGenerativeConstructorBody) &&
|
| rtiNeed.classNeedsRti(enclosing)) {
|
| - enclosing.typeVariables
|
| - .forEach((ResolutionTypeVariableType typeVariable) {
|
| + enclosing.typeVariables.forEach((_typeVariable) {
|
| + ResolutionTypeVariableType typeVariable = _typeVariable;
|
| HInstruction argument = compiledArguments[argumentIndex++];
|
| localsHandler.updateLocal(
|
| localsHandler.getTypeVariableAsLocal(typeVariable), argument);
|
| @@ -1014,7 +1016,8 @@ class SsaBuilder extends ast.Visitor
|
|
|
| int index = 0;
|
| FunctionSignature params = callee.functionSignature;
|
| - params.orderedForEachParameter((ParameterElement parameter) {
|
| + params.orderedForEachParameter((_parameter) {
|
| + ParameterElement parameter = _parameter;
|
| HInstruction argument = compiledArguments[index++];
|
| // Because we are inlining the initializer, we must update
|
| // what was given as parameter. This will be used in case
|
| @@ -1267,7 +1270,8 @@ class SsaBuilder extends ast.Visitor
|
|
|
| // Compile field-parameters such as [:this.x:].
|
| FunctionSignature params = functionElement.functionSignature;
|
| - params.orderedForEachParameter((ParameterElement parameter) {
|
| + params.orderedForEachParameter((_parameter) {
|
| + ParameterElement parameter = _parameter;
|
| if (parameter.isInitializingFormal) {
|
| // If the [element] is a field-parameter then
|
| // initialize the field element with its value.
|
| @@ -1321,8 +1325,8 @@ class SsaBuilder extends ast.Visitor
|
| // HTypeInfoExpression to set on the newly create object.
|
| hasRtiInput = true;
|
| List<HInstruction> typeArguments = <HInstruction>[];
|
| - classElement.typeVariables
|
| - .forEach((ResolutionTypeVariableType typeVariable) {
|
| + classElement.typeVariables.forEach((_typeVariable) {
|
| + ResolutionTypeVariableType typeVariable = _typeVariable;
|
| HInstruction argument = localsHandler
|
| .readLocal(localsHandler.getTypeVariableAsLocal(typeVariable));
|
| typeArguments.add(argument);
|
| @@ -1383,7 +1387,8 @@ class SsaBuilder extends ast.Visitor
|
|
|
| FunctionSignature functionSignature = body.functionSignature;
|
| // Provide the parameters to the generative constructor body.
|
| - functionSignature.orderedForEachParameter((ParameterElement parameter) {
|
| + functionSignature.orderedForEachParameter((_parameter) {
|
| + ParameterElement parameter = _parameter;
|
| // If [parameter] is boxed, it will be a field in the box passed as the
|
| // last parameter. So no need to directly pass it.
|
| if (!localsHandler.isBoxed(parameter)) {
|
| @@ -1405,8 +1410,8 @@ class SsaBuilder extends ast.Visitor
|
| if (rtiNeed.classNeedsRti(currentClass)) {
|
| // If [currentClass] needs RTI, we add the type variables as
|
| // parameters of the generative constructor body.
|
| - currentClass.typeVariables
|
| - .forEach((ResolutionTypeVariableType argument) {
|
| + currentClass.typeVariables.forEach((_argument) {
|
| + ResolutionTypeVariableType argument = _argument;
|
| // TODO(johnniwinther): Substitute [argument] with
|
| // `localsHandler.substInContext(argument)`.
|
| bodyCallInputs.add(localsHandler
|
| @@ -1446,8 +1451,8 @@ class SsaBuilder extends ast.Visitor
|
|
|
| Map<Local, TypeMask> parameters = <Local, TypeMask>{};
|
| if (element is MethodElement) {
|
| - element.functionSignature
|
| - .orderedForEachParameter((ParameterElement parameter) {
|
| + element.functionSignature.orderedForEachParameter((_parameter) {
|
| + ParameterElement parameter = _parameter;
|
| parameters[parameter] = TypeMaskFactory.inferredTypeForParameter(
|
| parameter, globalInferenceResults);
|
| });
|
| @@ -1468,7 +1473,8 @@ class SsaBuilder extends ast.Visitor
|
| ClassElement cls = element.enclosingClass;
|
| if ((element.isConstructor || element.isGenerativeConstructorBody) &&
|
| rtiNeed.classNeedsRti(cls)) {
|
| - cls.typeVariables.forEach((ResolutionTypeVariableType typeVariable) {
|
| + cls.typeVariables.forEach((_typeVariable) {
|
| + ResolutionTypeVariableType typeVariable = _typeVariable;
|
| HParameterValue param =
|
| addParameter(typeVariable.element, commonMasks.nonNullType);
|
| localsHandler.directLocals[
|
| @@ -1484,7 +1490,8 @@ class SsaBuilder extends ast.Visitor
|
| // because that is where the type guards will also be inserted.
|
| // This way we ensure that a type guard will dominate the type
|
| // check.
|
| - signature.orderedForEachParameter((ParameterElement parameterElement) {
|
| + signature.orderedForEachParameter((_parameterElement) {
|
| + ParameterElement parameterElement = _parameterElement;
|
| if (element.isGenerativeConstructorBody) {
|
| if (closureDataLookup
|
| .getClosureAnalysisInfo(node)
|
| @@ -3510,7 +3517,7 @@ class SsaBuilder extends ast.Visitor
|
| // can depend on a length type discovered in optimization.
|
| bool canThrow = true;
|
| if (inputs[0].isInteger(closedWorld) && inputs[0] is HConstant) {
|
| - var constant = inputs[0];
|
| + dynamic constant = inputs[0];
|
| int value = constant.constant.primitiveValue;
|
| if (0 <= value && value < 0x100000000) canThrow = false;
|
| }
|
| @@ -4105,7 +4112,8 @@ class SsaBuilder extends ast.Visitor
|
| int positions = 0;
|
| var filteredArguments = <HInstruction>[];
|
| var parameterNameMap = new Map<String, js.Expression>();
|
| - params.orderedForEachParameter((ParameterElement parameter) {
|
| + params.orderedForEachParameter((_parameter) {
|
| + ParameterElement parameter = _parameter;
|
| // TODO(jacobr): consider throwing if parameter names do not match
|
| // names of properties in the class.
|
| assert(parameter.isNamed);
|
| @@ -5929,7 +5937,7 @@ class SsaBuilder extends ast.Visitor
|
| localsHandler.updateLocal(switchTarget, initialValue);
|
|
|
| JumpHandler jumpHandler = createJumpHandler(node, isLoopJump: false);
|
| - var switchCases = node.cases;
|
| + dynamic switchCases = node.cases;
|
| if (!hasDefault) {
|
| // Use [:null:] as the marker for a synthetic default clause.
|
| // The synthetic default is added because otherwise, there would be no
|
|
|