| Index: pkg/front_end/lib/src/fasta/kernel/body_builder.dart
|
| diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
|
| index e6df46ae9530b10176aa55a139fa98ed7e5ab0b5..ca6e2bb03e146f1454a3e31e141d2f6db52eefd3 100644
|
| --- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
|
| +++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
|
| @@ -274,7 +274,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| copy.add(statement);
|
| }
|
| }
|
| - return new KernelBlock(copy ?? statements)
|
| + return new ShadowBlock(copy ?? statements)
|
| ..fileOffset = offsetForToken(beginToken);
|
| }
|
|
|
| @@ -611,7 +611,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| assert(hasMore);
|
| VariableDeclaration realParameter = formalBuilders.current.target;
|
| Expression initializer =
|
| - parameter.initializer ?? new KernelNullLiteral();
|
| + parameter.initializer ?? new ShadowNullLiteral();
|
| _typeInferrer.inferParameterInitializer(
|
| initializer, realParameter.type);
|
| realParameter.initializer = initializer..parent = realParameter;
|
| @@ -685,7 +685,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| @override
|
| void endExpressionStatement(Token token) {
|
| debugEvent("ExpressionStatement");
|
| - push(new KernelExpressionStatement(popForEffect()));
|
| + push(new ShadowExpressionStatement(popForEffect()));
|
| }
|
|
|
| @override
|
| @@ -741,10 +741,10 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| named = new List<NamedExpression>.from(seenNames.values);
|
| }
|
| }
|
| - push(new KernelArguments(positional, named: named)
|
| + push(new ShadowArguments(positional, named: named)
|
| ..fileOffset = beginToken.charOffset);
|
| } else {
|
| - push(new KernelArguments(arguments)..fileOffset = beginToken.charOffset);
|
| + push(new ShadowArguments(arguments)..fileOffset = beginToken.charOffset);
|
| }
|
| }
|
|
|
| @@ -763,7 +763,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| Object receiver = pop();
|
| if (arguments != null && typeArguments != null) {
|
| assert(arguments.types.isEmpty);
|
| - KernelArguments.setExplicitArgumentTypes(arguments, typeArguments);
|
| + ShadowArguments.setExplicitArgumentTypes(arguments, typeArguments);
|
| } else {
|
| assert(typeArguments == null);
|
| }
|
| @@ -796,14 +796,14 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| void beginCascade(Token token) {
|
| debugEvent("beginCascade");
|
| Expression expression = popForValue();
|
| - if (expression is KernelCascadeExpression) {
|
| + if (expression is ShadowCascadeExpression) {
|
| push(expression);
|
| push(new VariableAccessor(this, token, expression.variable));
|
| expression.extend();
|
| } else {
|
| - VariableDeclaration variable = new KernelVariableDeclaration.forValue(
|
| + VariableDeclaration variable = new ShadowVariableDeclaration.forValue(
|
| expression, functionNestingLevel);
|
| - push(new KernelCascadeExpression(variable));
|
| + push(new ShadowCascadeExpression(variable));
|
| push(new VariableAccessor(this, token, variable));
|
| }
|
| }
|
| @@ -812,7 +812,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| void endCascade() {
|
| debugEvent("endCascade");
|
| Expression expression = popForEffect();
|
| - KernelCascadeExpression cascadeReceiver = pop();
|
| + ShadowCascadeExpression cascadeReceiver = pop();
|
| cascadeReceiver.finalize(expression);
|
| push(cascadeReceiver);
|
| }
|
| @@ -849,7 +849,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| if (receiver is ThisAccessor && receiver.isSuper) {
|
| ThisAccessor thisAccessorReceiver = receiver;
|
| isSuper = true;
|
| - receiver = new KernelThisExpression()
|
| + receiver = new ShadowThisExpression()
|
| ..fileOffset = offsetForToken(thisAccessorReceiver.token);
|
| }
|
| push(buildBinaryOperator(toValue(receiver), token, argument, isSuper));
|
| @@ -872,14 +872,14 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| if (isSuper) {
|
| result = toSuperMethodInvocation(result);
|
| }
|
| - return negate ? new KernelNot(result) : result;
|
| + return negate ? new ShadowNot(result) : result;
|
| }
|
| }
|
|
|
| void doLogicalExpression(Token token) {
|
| Expression argument = popForValue();
|
| Expression receiver = popForValue();
|
| - push(new KernelLogicalExpression(receiver, token.stringValue, argument));
|
| + push(new ShadowLogicalExpression(receiver, token.stringValue, argument));
|
| }
|
|
|
| /// Handle `a ?? b`.
|
| @@ -887,7 +887,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| Expression b = popForValue();
|
| Expression a = popForValue();
|
| VariableDeclaration variable = new VariableDeclaration.forValue(a);
|
| - push(new KernelIfNullExpression(
|
| + push(new ShadowIfNullExpression(
|
| variable,
|
| new ConditionalExpression(
|
| buildIsNull(new VariableGet(variable), offsetForToken(token)),
|
| @@ -924,24 +924,24 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| }
|
| Expression result;
|
| if (target != null) {
|
| - result = new KernelDirectMethodInvocation(
|
| - new KernelThisExpression()..fileOffset = node.fileOffset,
|
| + result = new ShadowDirectMethodInvocation(
|
| + new ShadowThisExpression()..fileOffset = node.fileOffset,
|
| target,
|
| node.arguments);
|
| }
|
| // TODO(ahe): Use [DirectMethodInvocation] when possible, that is,
|
| // make the next line conditional:
|
| result =
|
| - new KernelSuperMethodInvocation(node.name, node.arguments, target);
|
| + new ShadowSuperMethodInvocation(node.name, node.arguments, target);
|
| return result..fileOffset = node.fileOffset;
|
| }
|
|
|
| - Expression receiver = new KernelDirectPropertyGet(
|
| - new KernelThisExpression()..fileOffset = node.fileOffset, target)
|
| + Expression receiver = new ShadowDirectPropertyGet(
|
| + new ShadowThisExpression()..fileOffset = node.fileOffset, target)
|
| ..fileOffset = node.fileOffset;
|
| // TODO(ahe): Use [DirectPropertyGet] when possible, that is, make the next
|
| // line conditional:
|
| - receiver = new KernelSuperPropertyGet(node.name, target)
|
| + receiver = new ShadowSuperPropertyGet(node.name, target)
|
| ..fileOffset = node.fileOffset;
|
| return buildMethodInvocation(
|
| receiver, callName, node.arguments, node.arguments.fileOffset,
|
| @@ -983,7 +983,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| isStatic: isStatic,
|
| isTopLevel: !isStatic && !isSuper);
|
| warning(message, charOffset);
|
| - return new KernelSyntheticExpression(new Throw(error));
|
| + return new ShadowSyntheticExpression(new Throw(error));
|
| }
|
| }
|
|
|
| @@ -1093,7 +1093,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| } else if (ignoreMainInGetMainClosure &&
|
| name == "main" &&
|
| member?.name == "_getMainClosure") {
|
| - return new KernelNullLiteral()..fileOffset = offsetForToken(token);
|
| + return new ShadowNullLiteral()..fileOffset = offsetForToken(token);
|
| } else {
|
| return new UnresolvedAccessor(this, n, token);
|
| }
|
| @@ -1122,7 +1122,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| var scope = typePromoter.currentScope;
|
| return new ReadOnlyAccessor(
|
| this,
|
| - new KernelVariableGet(builder.target, fact, scope)
|
| + new ShadowVariableGet(builder.target, fact, scope)
|
| ..fileOffset = offsetForToken(token),
|
| name,
|
| token);
|
| @@ -1207,7 +1207,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| if (interpolationCount == 0) {
|
| Token token = pop();
|
| String value = unescapeString(token.lexeme);
|
| - push(new KernelStringLiteral(value)..fileOffset = offsetForToken(token));
|
| + push(new ShadowStringLiteral(value)..fileOffset = offsetForToken(token));
|
| } else {
|
| List parts = popList(1 + interpolationCount * 2);
|
| Token first = parts.first;
|
| @@ -1218,14 +1218,14 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| if (first.lexeme.length > 1) {
|
| String value = unescapeFirstStringPart(first.lexeme, quote);
|
| expressions.add(
|
| - new KernelStringLiteral(value)..fileOffset = offsetForToken(first));
|
| + new ShadowStringLiteral(value)..fileOffset = offsetForToken(first));
|
| }
|
| for (int i = 1; i < parts.length - 1; i++) {
|
| var part = parts[i];
|
| if (part is Token) {
|
| if (part.lexeme.length != 0) {
|
| String value = unescape(part.lexeme, quote);
|
| - expressions.add(new KernelStringLiteral(value)
|
| + expressions.add(new ShadowStringLiteral(value)
|
| ..fileOffset = offsetForToken(part));
|
| }
|
| } else {
|
| @@ -1236,9 +1236,9 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| if (last.lexeme.length > 1) {
|
| String value = unescapeLastStringPart(last.lexeme, quote);
|
| expressions.add(
|
| - new KernelStringLiteral(value)..fileOffset = offsetForToken(last));
|
| + new ShadowStringLiteral(value)..fileOffset = offsetForToken(last));
|
| }
|
| - push(new KernelStringConcatenation(expressions)
|
| + push(new ShadowStringConcatenation(expressions)
|
| ..fileOffset = offsetForToken(endToken));
|
| }
|
| }
|
| @@ -1267,7 +1267,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| }
|
| }
|
| }
|
| - push(new KernelStringConcatenation(expressions ?? parts));
|
| + push(new ShadowStringConcatenation(expressions ?? parts));
|
| }
|
|
|
| @override
|
| @@ -1279,7 +1279,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| fasta.templateIntegerLiteralIsOutOfRange.withArguments(token),
|
| token.charOffset));
|
| } else {
|
| - push(new KernelIntLiteral(value)..fileOffset = offsetForToken(token));
|
| + push(new ShadowIntLiteral(value)..fileOffset = offsetForToken(token));
|
| }
|
| }
|
|
|
| @@ -1304,7 +1304,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| push(deprecated_buildCompileTimeErrorStatement(
|
| "Can't return from a constructor.", beginToken.charOffset));
|
| } else {
|
| - push(new KernelReturnStatement(expression)
|
| + push(new ShadowReturnStatement(expression)
|
| ..fileOffset = beginToken.charOffset);
|
| }
|
| }
|
| @@ -1329,7 +1329,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| Statement thenPart = popStatement();
|
| Expression condition = popForValue();
|
| typePromoter.exitConditional();
|
| - push(new KernelIfStatement(condition, thenPart, elsePart));
|
| + push(new ShadowIfStatement(condition, thenPart, elsePart));
|
| }
|
|
|
| @override
|
| @@ -1366,7 +1366,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| bool isConst = (currentLocalVariableModifiers & constMask) != 0;
|
| bool isFinal = (currentLocalVariableModifiers & finalMask) != 0;
|
| assert(isConst == constantExpressionRequired);
|
| - push(new KernelVariableDeclaration(identifier.name, functionNestingLevel,
|
| + push(new ShadowVariableDeclaration(identifier.name, functionNestingLevel,
|
| initializer: initializer,
|
| type: currentLocalVariableType,
|
| isFinal: isFinal,
|
| @@ -1387,7 +1387,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| debugEvent("NoFieldInitializer");
|
| if (constantExpressionRequired) {
|
| // Creating a null value to prevent the Dart VM from crashing.
|
| - push(new KernelNullLiteral()..fileOffset = offsetForToken(token));
|
| + push(new ShadowNullLiteral()..fileOffset = offsetForToken(token));
|
| } else {
|
| push(NullValue.FieldInitializer);
|
| }
|
| @@ -1501,7 +1501,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| } else if (variableOrExpression == null) {
|
| // Do nothing.
|
| } else if (variableOrExpression is Expression) {
|
| - begin = new KernelExpressionStatement(variableOrExpression);
|
| + begin = new ShadowExpressionStatement(variableOrExpression);
|
| } else {
|
| return unhandled("${variableOrExpression.runtimeType}", "endForStatement",
|
| forKeyword.charOffset, uri);
|
| @@ -1510,17 +1510,17 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| JumpTarget continueTarget = exitContinueTarget();
|
| JumpTarget breakTarget = exitBreakTarget();
|
| if (continueTarget.hasUsers) {
|
| - body = new KernelLabeledStatement(body);
|
| + body = new ShadowLabeledStatement(body);
|
| continueTarget.resolveContinues(body);
|
| }
|
| Statement result =
|
| - new KernelForStatement(variables, condition, updates, body)
|
| + new ShadowForStatement(variables, condition, updates, body)
|
| ..fileOffset = forKeyword.charOffset;
|
| if (begin != null) {
|
| - result = new KernelBlock(<Statement>[begin, result]);
|
| + result = new ShadowBlock(<Statement>[begin, result]);
|
| }
|
| if (breakTarget.hasUsers) {
|
| - result = new KernelLabeledStatement(result);
|
| + result = new ShadowLabeledStatement(result);
|
| breakTarget.resolveBreaks(result);
|
| }
|
| exitLoopOrSwitch(result);
|
| @@ -1529,7 +1529,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| @override
|
| void endAwaitExpression(Token keyword, Token endToken) {
|
| debugEvent("AwaitExpression");
|
| - push(new KernelAwaitExpression(popForValue())
|
| + push(new ShadowAwaitExpression(popForValue())
|
| ..fileOffset = offsetForToken(keyword));
|
| }
|
|
|
| @@ -1554,7 +1554,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| beginToken.charOffset);
|
| }
|
| }
|
| - push(new KernelListLiteral(expressions,
|
| + push(new ShadowListLiteral(expressions,
|
| typeArgument: typeArgument, isConst: constKeyword != null)
|
| ..fileOffset = offsetForToken(constKeyword ?? beginToken));
|
| }
|
| @@ -1564,20 +1564,20 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| debugEvent("LiteralBool");
|
| bool value = optional("true", token);
|
| assert(value || optional("false", token));
|
| - push(new KernelBoolLiteral(value)..fileOffset = offsetForToken(token));
|
| + push(new ShadowBoolLiteral(value)..fileOffset = offsetForToken(token));
|
| }
|
|
|
| @override
|
| void handleLiteralDouble(Token token) {
|
| debugEvent("LiteralDouble");
|
| - push(new KernelDoubleLiteral(double.parse(token.lexeme))
|
| + push(new ShadowDoubleLiteral(double.parse(token.lexeme))
|
| ..fileOffset = offsetForToken(token));
|
| }
|
|
|
| @override
|
| void handleLiteralNull(Token token) {
|
| debugEvent("LiteralNull");
|
| - push(new KernelNullLiteral()..fileOffset = offsetForToken(token));
|
| + push(new ShadowNullLiteral()..fileOffset = offsetForToken(token));
|
| }
|
|
|
| @override
|
| @@ -1599,7 +1599,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| valueType = typeArguments[1];
|
| }
|
| }
|
| - push(new KernelMapLiteral(entries,
|
| + push(new ShadowMapLiteral(entries,
|
| keyType: keyType, valueType: valueType, isConst: constKeyword != null)
|
| ..fileOffset = constKeyword?.charOffset ?? offsetForToken(beginToken));
|
| }
|
| @@ -1636,7 +1636,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| }
|
| }
|
| push(
|
| - new KernelSymbolLiteral(value)..fileOffset = offsetForToken(hashToken));
|
| + new ShadowSymbolLiteral(value)..fileOffset = offsetForToken(hashToken));
|
| }
|
|
|
| DartType kernelTypeFromString(
|
| @@ -1778,7 +1778,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| push(deprecated_buildCompileTimeError(
|
| "Not a constant expression.", operator.charOffset));
|
| } else {
|
| - push(new KernelAsExpression(expression, type)
|
| + push(new ShadowAsExpression(expression, type)
|
| ..fileOffset = offsetForToken(operator));
|
| }
|
| }
|
| @@ -1791,8 +1791,8 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| bool isInverted = not != null;
|
| var offset = offsetForToken(operator);
|
| Expression isExpression = isInverted
|
| - ? new KernelIsNotExpression(operand, type, offset)
|
| - : new KernelIsExpression(operand, type)
|
| + ? new ShadowIsNotExpression(operand, type, offset)
|
| + : new ShadowIsExpression(operand, type)
|
| ..fileOffset = offset;
|
| if (operand is VariableGet) {
|
| typePromoter.handleIsCheck(isExpression, isInverted, operand.variable,
|
| @@ -1812,7 +1812,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| Expression elseExpression = popForValue();
|
| Expression thenExpression = popForValue();
|
| Expression condition = popForValue();
|
| - push(new KernelConditionalExpression(
|
| + push(new ShadowConditionalExpression(
|
| condition, thenExpression, elseExpression));
|
| }
|
|
|
| @@ -1825,7 +1825,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| "Not a constant expression.", throwToken.charOffset));
|
| } else {
|
| push(
|
| - new KernelThrow(expression)..fileOffset = offsetForToken(throwToken));
|
| + new ShadowThrow(expression)..fileOffset = offsetForToken(throwToken));
|
| }
|
| }
|
|
|
| @@ -1866,7 +1866,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| variable.initializer = name.initializer;
|
| }
|
| } else {
|
| - variable = new KernelVariableDeclaration(name?.name, functionNestingLevel,
|
| + variable = new ShadowVariableDeclaration(name?.name, functionNestingLevel,
|
| type: type,
|
| initializer: name?.initializer,
|
| isFinal: isFinal,
|
| @@ -2007,10 +2007,10 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| Statement tryBlock = popStatement();
|
| if (compileTimeErrorInTry == null) {
|
| if (catches != null) {
|
| - tryBlock = new KernelTryCatch(tryBlock, catches);
|
| + tryBlock = new ShadowTryCatch(tryBlock, catches);
|
| }
|
| if (finallyBlock != null) {
|
| - tryBlock = new KernelTryFinally(tryBlock, finallyBlock);
|
| + tryBlock = new ShadowTryFinally(tryBlock, finallyBlock);
|
| }
|
| push(tryBlock);
|
| } else {
|
| @@ -2046,7 +2046,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| var receiver = pop();
|
| if (optional("!", token)) {
|
| push(
|
| - new KernelNot(toValue(receiver))..fileOffset = offsetForToken(token));
|
| + new ShadowNot(toValue(receiver))..fileOffset = offsetForToken(token));
|
| } else {
|
| String operator = token.stringValue;
|
| if (optional("-", token)) {
|
| @@ -2054,7 +2054,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| }
|
| if (receiver is ThisAccessor && receiver.isSuper) {
|
| push(toSuperMethodInvocation(buildMethodInvocation(
|
| - new KernelThisExpression()
|
| + new ShadowThisExpression()
|
| ..fileOffset = offsetForToken(receiver.token),
|
| new Name(operator),
|
| new Arguments.empty(),
|
| @@ -2190,7 +2190,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| return deprecated_buildCompileTimeError(
|
| "Not a const constructor.", charOffset);
|
| }
|
| - return new KernelConstructorInvocation(target, initialTarget, arguments,
|
| + return new ShadowConstructorInvocation(target, initialTarget, arguments,
|
| isConst: isConst)
|
| ..fileOffset = charOffset;
|
| } else {
|
| @@ -2199,12 +2199,12 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| return deprecated_buildCompileTimeError(
|
| "Not a const factory.", charOffset);
|
| } else if (procedure.isFactory) {
|
| - return new KernelFactoryConstructorInvocation(
|
| + return new ShadowFactoryConstructorInvocation(
|
| target, initialTarget, arguments,
|
| isConst: isConst)
|
| ..fileOffset = charOffset;
|
| } else {
|
| - return new KernelStaticInvocation(target, arguments, isConst: isConst)
|
| + return new ShadowStaticInvocation(target, arguments, isConst: isConst)
|
| ..fileOffset = charOffset;
|
| }
|
| }
|
| @@ -2280,7 +2280,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| void endNewExpression(Token token) {
|
| debugEvent("NewExpression");
|
| Token nameToken = token.next;
|
| - KernelArguments arguments = pop();
|
| + ShadowArguments arguments = pop();
|
| String name = pop();
|
| List<DartType> typeArguments = pop();
|
| var type = pop();
|
| @@ -2298,7 +2298,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
|
|
| if (typeArguments != null) {
|
| assert(arguments.types.isEmpty);
|
| - KernelArguments.setExplicitArgumentTypes(arguments, typeArguments);
|
| + ShadowArguments.setExplicitArgumentTypes(arguments, typeArguments);
|
| }
|
|
|
| String errorName;
|
| @@ -2317,7 +2317,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| } else if (b.isConstructor) {
|
| initialTarget = b.target;
|
| if (type.isAbstract) {
|
| - push(new KernelSyntheticExpression(evaluateArgumentsBefore(
|
| + push(new ShadowSyntheticExpression(evaluateArgumentsBefore(
|
| arguments,
|
| buildAbstractClassInstantiationError(
|
| type.name, nameToken.charOffset))));
|
| @@ -2414,7 +2414,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| void endFunctionName(Token beginToken, Token token) {
|
| debugEvent("FunctionName");
|
| Identifier name = pop();
|
| - VariableDeclaration variable = new KernelVariableDeclaration(
|
| + VariableDeclaration variable = new ShadowVariableDeclaration(
|
| name.name, functionNestingLevel,
|
| isFinal: true, isLocalFunction: true)
|
| ..fileOffset = offsetForToken(name.token);
|
| @@ -2422,7 +2422,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| deprecated_addCompileTimeError(offsetForToken(name.token),
|
| "'${variable.name}' already declared in this scope.");
|
| }
|
| - push(new KernelFunctionDeclaration(
|
| + push(new ShadowFunctionDeclaration(
|
| variable,
|
| // The function node is created later.
|
| null)
|
| @@ -2494,16 +2494,16 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
|
|
| if (declaration is FunctionDeclaration) {
|
| VariableDeclaration variable = declaration.variable;
|
| - KernelFunctionDeclaration.setHasImplicitReturnType(
|
| + ShadowFunctionDeclaration.setHasImplicitReturnType(
|
| declaration, hasImplicitReturnType);
|
|
|
| variable.type = function.functionType;
|
| if (isFunctionExpression) {
|
| - variable.initializer = new KernelFunctionExpression(function)
|
| + variable.initializer = new ShadowFunctionExpression(function)
|
| ..parent = variable
|
| ..fileOffset = formals.charOffset;
|
| exitLocalScope();
|
| - push(new KernelNamedFunctionExpression(variable));
|
| + push(new ShadowNamedFunctionExpression(variable));
|
| } else {
|
| declaration.function = function;
|
| function.parent = declaration;
|
| @@ -2556,7 +2556,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| push(deprecated_buildCompileTimeError(
|
| "Not a constant expression.", formals.charOffset));
|
| } else {
|
| - push(new KernelFunctionExpression(function)
|
| + push(new ShadowFunctionExpression(function)
|
| ..fileOffset = offsetForToken(beginToken));
|
| }
|
| }
|
| @@ -2570,13 +2570,13 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| JumpTarget continueTarget = exitContinueTarget();
|
| JumpTarget breakTarget = exitBreakTarget();
|
| if (continueTarget.hasUsers) {
|
| - body = new KernelLabeledStatement(body);
|
| + body = new ShadowLabeledStatement(body);
|
| continueTarget.resolveContinues(body);
|
| }
|
| - Statement result = new KernelDoStatement(body, condition)
|
| + Statement result = new ShadowDoStatement(body, condition)
|
| ..fileOffset = doKeyword.charOffset;
|
| if (breakTarget.hasUsers) {
|
| - result = new KernelLabeledStatement(result);
|
| + result = new ShadowLabeledStatement(result);
|
| breakTarget.resolveBreaks(result);
|
| }
|
| exitLoopOrSwitch(result);
|
| @@ -2606,7 +2606,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| JumpTarget continueTarget = exitContinueTarget();
|
| JumpTarget breakTarget = exitBreakTarget();
|
| if (continueTarget.hasUsers) {
|
| - body = new KernelLabeledStatement(body);
|
| + body = new ShadowLabeledStatement(body);
|
| continueTarget.resolveContinues(body);
|
| }
|
| VariableDeclaration variable;
|
| @@ -2631,7 +2631,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| /// }
|
| variable = new VariableDeclaration.forValue(null);
|
| body = combineStatements(
|
| - new KernelSyntheticStatement(new ExpressionStatement(lvalue
|
| + new ShadowSyntheticStatement(new ExpressionStatement(lvalue
|
| .buildAssignment(new VariableGet(variable), voidContext: true))),
|
| body);
|
| } else {
|
| @@ -2639,13 +2639,13 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| deprecated_buildCompileTimeError("Expected lvalue, but got ${lvalue}",
|
| forToken.next.next.charOffset));
|
| }
|
| - Statement result = new KernelForInStatement(
|
| + Statement result = new ShadowForInStatement(
|
| variable, expression, body, declaresVariable,
|
| isAsync: awaitToken != null)
|
| ..fileOffset = forToken.charOffset
|
| ..bodyOffset = body.fileOffset;
|
| if (breakTarget.hasUsers) {
|
| - result = new KernelLabeledStatement(result);
|
| + result = new ShadowLabeledStatement(result);
|
| breakTarget.resolveBreaks(result);
|
| }
|
| exitLoopOrSwitch(result);
|
| @@ -2679,13 +2679,13 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| exitLocalScope();
|
| if (target.breakTarget.hasUsers) {
|
| if (statement is! LabeledStatement) {
|
| - statement = new KernelLabeledStatement(statement);
|
| + statement = new ShadowLabeledStatement(statement);
|
| }
|
| target.breakTarget.resolveBreaks(statement);
|
| }
|
| if (target.continueTarget.hasUsers) {
|
| if (statement is! LabeledStatement) {
|
| - statement = new KernelLabeledStatement(statement);
|
| + statement = new ShadowLabeledStatement(statement);
|
| }
|
| target.continueTarget.resolveContinues(statement);
|
| }
|
| @@ -2696,8 +2696,8 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| void endRethrowStatement(Token rethrowToken, Token endToken) {
|
| debugEvent("RethrowStatement");
|
| if (inCatchBlock) {
|
| - push(new KernelExpressionStatement(
|
| - new KernelRethrow()..fileOffset = offsetForToken(rethrowToken)));
|
| + push(new ShadowExpressionStatement(
|
| + new ShadowRethrow()..fileOffset = offsetForToken(rethrowToken)));
|
| } else {
|
| push(deprecated_buildCompileTimeErrorStatement(
|
| "'rethrow' can only be used in catch clauses.",
|
| @@ -2719,13 +2719,13 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| JumpTarget continueTarget = exitContinueTarget();
|
| JumpTarget breakTarget = exitBreakTarget();
|
| if (continueTarget.hasUsers) {
|
| - body = new KernelLabeledStatement(body);
|
| + body = new ShadowLabeledStatement(body);
|
| continueTarget.resolveContinues(body);
|
| }
|
| - Statement result = new KernelWhileStatement(condition, body)
|
| + Statement result = new ShadowWhileStatement(condition, body)
|
| ..fileOffset = whileKeyword.charOffset;
|
| if (breakTarget.hasUsers) {
|
| - result = new KernelLabeledStatement(result);
|
| + result = new ShadowLabeledStatement(result);
|
| breakTarget.resolveBreaks(result);
|
| }
|
| exitLoopOrSwitch(result);
|
| @@ -2752,7 +2752,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| debugEvent("Assert");
|
| Expression message = popForValueIfNotNull(commaToken);
|
| Expression condition = popForValue();
|
| - AssertStatement statement = new KernelAssertStatement(condition,
|
| + AssertStatement statement = new ShadowAssertStatement(condition,
|
| conditionStartOffset: leftParenthesis.offset + 1,
|
| conditionEndOffset: rightParenthesis.offset,
|
| message: message);
|
| @@ -2783,7 +2783,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| // So we produce an initializer like this:
|
| //
|
| // var #t0 = (() { statement; }) ()
|
| - return new KernelAssertInitializer(
|
| + return new ShadowAssertInitializer(
|
| new VariableDeclaration.forValue(buildMethodInvocation(
|
| new FunctionExpression(new FunctionNode(statement)),
|
| callName,
|
| @@ -2797,7 +2797,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| @override
|
| void endYieldStatement(Token yieldToken, Token starToken, Token endToken) {
|
| debugEvent("YieldStatement");
|
| - push(new KernelYieldStatement(popForValue(), isYieldStar: starToken != null)
|
| + push(new ShadowYieldStatement(popForValue(), isYieldStar: starToken != null)
|
| ..fileOffset = yieldToken.charOffset);
|
| }
|
|
|
| @@ -2868,10 +2868,10 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| exitSwitchScope();
|
| exitLocalScope();
|
| Expression expression = popForValue();
|
| - Statement result = new KernelSwitchStatement(expression, cases)
|
| + Statement result = new ShadowSwitchStatement(expression, cases)
|
| ..fileOffset = switchKeyword.charOffset;
|
| if (target.hasUsers) {
|
| - result = new KernelLabeledStatement(result);
|
| + result = new ShadowLabeledStatement(result);
|
| target.resolveBreaks(result);
|
| }
|
| exitLoopOrSwitch(result);
|
| @@ -2962,7 +2962,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| "Can't break to '$name' in a different function.",
|
| breakKeyword.next.charOffset));
|
| } else {
|
| - BreakStatement statement = new KernelBreakStatement(null)
|
| + BreakStatement statement = new ShadowBreakStatement(null)
|
| ..fileOffset = breakKeyword.charOffset;
|
| target.addBreak(statement);
|
| push(statement);
|
| @@ -2998,7 +2998,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| if (target.isGotoTarget &&
|
| target.functionNestingLevel == functionNestingLevel) {
|
| ContinueSwitchStatement statement =
|
| - new KernelContinueSwitchStatement(null)
|
| + new ShadowContinueSwitchStatement(null)
|
| ..fileOffset = continueKeyword.charOffset;
|
| target.addGoto(statement);
|
| push(statement);
|
| @@ -3019,7 +3019,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| "Can't continue at '$name' in a different function.",
|
| continueKeyword.next.charOffset));
|
| } else {
|
| - BreakStatement statement = new KernelBreakStatement(null)
|
| + BreakStatement statement = new ShadowBreakStatement(null)
|
| ..fileOffset = continueKeyword.charOffset;
|
| target.addContinue(statement);
|
| push(statement);
|
| @@ -3116,7 +3116,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| // extracted. Similar for statements and initializers. See also [issue
|
| // 29717](https://github.com/dart-lang/sdk/issues/29717)
|
| library.addCompileTimeError(message, charOffset, uri, wasHandled: true);
|
| - return new KernelSyntheticExpression(library.loader
|
| + return new ShadowSyntheticExpression(library.loader
|
| .throwCompileConstantError(
|
| library.loader.buildCompileTimeError(message, charOffset, uri)));
|
| }
|
| @@ -3149,12 +3149,12 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| charOffset);
|
| Builder constructor = library.loader.getAbstractClassInstantiationError();
|
| return new Throw(buildStaticInvocation(constructor.target,
|
| - new KernelArguments(<Expression>[new StringLiteral(className)])));
|
| + new ShadowArguments(<Expression>[new StringLiteral(className)])));
|
| }
|
|
|
| Statement deprecated_buildCompileTimeErrorStatement(error,
|
| [int charOffset = -1]) {
|
| - return new KernelExpressionStatement(
|
| + return new ShadowExpressionStatement(
|
| deprecated_buildCompileTimeError(error, charOffset));
|
| }
|
|
|
| @@ -3162,7 +3162,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| Initializer buildInvalidInitializer(Expression expression,
|
| [int charOffset = -1]) {
|
| needsImplicitSuperInitializer = false;
|
| - return new KernelInvalidInitializer(
|
| + return new ShadowInvalidInitializer(
|
| new VariableDeclaration.forValue(expression))
|
| ..fileOffset = charOffset;
|
| }
|
| @@ -3208,7 +3208,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| charOffset: offset)),
|
| offset);
|
| } else {
|
| - return new KernelFieldInitializer(builder.field, expression)
|
| + return new ShadowFieldInitializer(builder.field, expression)
|
| ..fileOffset = offset
|
| ..isSynthetic = isSynthetic;
|
| }
|
| @@ -3231,7 +3231,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| charOffset);
|
| }
|
| needsImplicitSuperInitializer = false;
|
| - return new KernelSuperInitializer(constructor, arguments)
|
| + return new ShadowSuperInitializer(constructor, arguments)
|
| ..fileOffset = charOffset
|
| ..isSynthetic = isSynthetic;
|
| }
|
| @@ -3241,7 +3241,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| Constructor constructor, Arguments arguments,
|
| [int charOffset = -1]) {
|
| needsImplicitSuperInitializer = false;
|
| - return new KernelRedirectingInitializer(constructor, arguments)
|
| + return new ShadowRedirectingInitializer(constructor, arguments)
|
| ..fileOffset = charOffset;
|
| }
|
|
|
| @@ -3339,7 +3339,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| }
|
| if (isNullAware) {
|
| VariableDeclaration variable = new VariableDeclaration.forValue(receiver);
|
| - return new KernelNullAwareMethodInvocation(
|
| + return new ShadowNullAwareMethodInvocation(
|
| variable,
|
| new ConditionalExpression(
|
| buildIsNull(new VariableGet(variable), offset),
|
| @@ -3350,7 +3350,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
| ..fileOffset = offset)
|
| ..fileOffset = offset;
|
| } else {
|
| - return new KernelMethodInvocation(receiver, name, arguments,
|
| + return new ShadowMethodInvocation(receiver, name, arguments,
|
| isImplicitCall: isImplicitCall)
|
| ..fileOffset = offset;
|
| }
|
| @@ -3368,7 +3368,7 @@ class BodyBuilder extends ScopeListener<JumpTarget> implements BuilderHelper {
|
|
|
| @override
|
| StaticGet makeStaticGet(Member readTarget, Token token) {
|
| - return new KernelStaticGet(readTarget)..fileOffset = offsetForToken(token);
|
| + return new ShadowStaticGet(readTarget)..fileOffset = offsetForToken(token);
|
| }
|
| }
|
|
|
|
|