From b29bde6232136cc13a1d621dc60ea473e8ded1df Mon Sep 17 00:00:00 2001 From: Paul Berry Date: Mon, 25 Jun 2018 20:16:54 +0000 Subject: [PATCH] Convert ShadowSyntheticExpression to SyntheticExpressionJudgment Change-Id: I0b860415dbdf3f8fb2e3f21891259f0a6bb322f9 Reviewed-on: https://dart-review.googlesource.com/62124 Commit-Queue: Paul Berry Reviewed-by: Konstantin Shcheglov Reviewed-by: Brian Wilkerson --- .../lib/src/fasta/kernel/body_builder.dart | 14 +++++++------- pkg/front_end/lib/src/fasta/kernel/fangorn.dart | 6 +++--- .../lib/src/fasta/kernel/kernel_ast_api.dart | 2 +- .../fasta/kernel/kernel_expression_generator.dart | 4 ++-- .../lib/src/fasta/kernel/kernel_shadow_ast.dart | 12 ++++++------ 5 files changed, 19 insertions(+), 19 deletions(-) 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 e03ff3d2993..d7741969030 100644 --- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart +++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart @@ -1192,7 +1192,7 @@ abstract class BodyBuilder extends ScopeListener isSetter: isSetter, isStatic: isStatic, isTopLevel: !isStatic && !isSuper); - return new ShadowSyntheticExpression(new Throw(error)); + return new SyntheticExpressionJudgment(new Throw(error)); } } @@ -2898,7 +2898,7 @@ abstract class BodyBuilder extends ScopeListener } else if (b.isConstructor) { initialTarget = b.target; if (type.isAbstract) { - return new ShadowSyntheticExpression(evaluateArgumentsBefore( + return new SyntheticExpressionJudgment(evaluateArgumentsBefore( arguments, buildAbstractClassInstantiationError( fasta.templateAbstractClassInstantiation @@ -2920,7 +2920,7 @@ abstract class BodyBuilder extends ScopeListener "Cyclic definition of factory '${name}'.", nameToken.charOffset); } if (target is Constructor && target.enclosingClass.isAbstract) { - return new ShadowSyntheticExpression(evaluateArgumentsBefore( + return new SyntheticExpressionJudgment(evaluateArgumentsBefore( arguments, buildAbstractClassInstantiationError( fasta.templateAbstractRedirectedClassInstantiation @@ -3112,7 +3112,7 @@ abstract class BodyBuilder extends ScopeListener // This must have been a compile-time error. assert(isErroneousNode(oldInitializer)); - push(new ShadowSyntheticExpression(new Let( + push(new SyntheticExpressionJudgment(new Let( new VariableDeclaration.forValue(oldInitializer) ..fileOffset = forest.readOffset(expression), expression) @@ -3231,7 +3231,7 @@ abstract class BodyBuilder extends ScopeListener } VariableDeclaration variable; bool declaresVariable = false; - ShadowSyntheticExpression syntheticAssignment; + SyntheticExpressionJudgment syntheticAssignment; if (lvalue is VariableDeclaration) { declaresVariable = true; variable = lvalue; @@ -3830,7 +3830,7 @@ abstract class BodyBuilder extends ScopeListener {List context}) { library.addCompileTimeError(message, charOffset, length, uri, wasHandled: true, context: context); - return new ShadowSyntheticExpression(library.loader + return new SyntheticExpressionJudgment(library.loader .throwCompileConstantError(library.loader .buildCompileTimeError(message, charOffset, length, uri))); } @@ -3847,7 +3847,7 @@ abstract class BodyBuilder extends ScopeListener {List context}) { // TODO(askesc): Produce explicit error expression wrapping the original. // See [issue 29717](https://github.com/dart-lang/sdk/issues/29717) - return new ShadowSyntheticExpression(new Let( + return new SyntheticExpressionJudgment(new Let( new VariableDeclaration.forValue(buildCompileTimeError( message.messageObject, message.charOffset, message.length, context: context)) diff --git a/pkg/front_end/lib/src/fasta/kernel/fangorn.dart b/pkg/front_end/lib/src/fasta/kernel/fangorn.dart index 7b69e0d5169..ac593515391 100644 --- a/pkg/front_end/lib/src/fasta/kernel/fangorn.dart +++ b/pkg/front_end/lib/src/fasta/kernel/fangorn.dart @@ -99,7 +99,7 @@ import 'kernel_shadow_ast.dart' StringConcatenationJudgment, StringLiteralJudgment, SymbolLiteralJudgment, - ShadowSyntheticExpression, + SyntheticExpressionJudgment, TryCatchJudgment, TryFinallyJudgment, WhileJudgment, @@ -599,8 +599,8 @@ class Fangorn extends Forest { VariableDeclaration variable = node; node = variable.initializer; } - if (node is ShadowSyntheticExpression) { - ShadowSyntheticExpression synth = node; + if (node is SyntheticExpressionJudgment) { + SyntheticExpressionJudgment synth = node; node = synth.desugared; } if (node is Let) { diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_ast_api.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_ast_api.dart index c356ea92c33..40e12636918 100644 --- a/pkg/front_end/lib/src/fasta/kernel/kernel_ast_api.dart +++ b/pkg/front_end/lib/src/fasta/kernel/kernel_ast_api.dart @@ -105,7 +105,7 @@ export 'kernel_shadow_ast.dart' SuperPropertyGetJudgment, SwitchCaseJudgment, SwitchStatementJudgment, - ShadowSyntheticExpression, + SyntheticExpressionJudgment, VariableAssignmentJudgment, VariableDeclarationJudgment, VariableGetJudgment, diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_expression_generator.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_expression_generator.dart index 2b7acd8a1e6..1343555d9d3 100644 --- a/pkg/front_end/lib/src/fasta/kernel/kernel_expression_generator.dart +++ b/pkg/front_end/lib/src/fasta/kernel/kernel_expression_generator.dart @@ -85,7 +85,7 @@ import 'kernel_ast_api.dart' SuperMethodInvocationJudgment, SuperPropertyGetJudgment, VariableAssignmentJudgment, - ShadowSyntheticExpression, + SyntheticExpressionJudgment, VariableDeclarationJudgment, VariableGetJudgment, StaticSet, @@ -1222,7 +1222,7 @@ class KernelTypeUseGenerator extends KernelReadOnlyAccessGenerator KernelInvalidTypeBuilder declaration = this.declaration; helper.addProblemErrorIfConst( declaration.message.messageObject, offset, token.length); - super.expression = new ShadowSyntheticExpression( + super.expression = new SyntheticExpressionJudgment( new Throw(forest.literalString(declaration.message.message, token)) ..fileOffset = offset); } else { diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart index a51a60794e7..bad7b08ce9f 100644 --- a/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart +++ b/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart @@ -504,7 +504,7 @@ class ShadowClass extends Class { /// /// TODO(paulberry): once we know exactly what constitutes a "complex /// assignment", document it here. -abstract class ComplexAssignmentJudgment extends ShadowSyntheticExpression { +abstract class ComplexAssignmentJudgment extends SyntheticExpressionJudgment { /// In a compound assignment, the expression that reads the old value, or /// `null` if this is not a compound assignment. Expression read; @@ -1167,7 +1167,7 @@ class ForInJudgment extends ForInStatement implements StatementJudgment { final bool _declaresVariable; - final ShadowSyntheticExpression _syntheticAssignment; + final SyntheticExpressionJudgment _syntheticAssignment; ForInJudgment( this.awaitKeyword, @@ -1269,7 +1269,7 @@ class ForInJudgment extends ForInStatement implements StatementJudgment { variable.initializer = implicitDowncast..parent = variable; body = combineStatements(variable, body)..parent = this; } - } else if (syntheticAssignment is ShadowSyntheticExpression) { + } else if (syntheticAssignment is SyntheticExpressionJudgment) { if (syntheticAssignment is ComplexAssignmentJudgment) { inferrer.ensureAssignable( greatestClosure(inferrer.coreTypes, syntheticWriteType), @@ -1341,7 +1341,7 @@ class ForInJudgment extends ForInStatement implements StatementJudgment { null, syntheticWrite.target); } else if (syntheticWrite == null || - syntheticWrite is ShadowSyntheticExpression) { + syntheticWrite is SyntheticExpressionJudgment) { inferrer.listener.forInStatement( this, fileOffset, @@ -2873,10 +2873,10 @@ class SymbolLiteralJudgment extends SymbolLiteral /// /// These expressions are removed by type inference and replaced with their /// desugared equivalents. -class ShadowSyntheticExpression extends Let implements ExpressionJudgment { +class SyntheticExpressionJudgment extends Let implements ExpressionJudgment { DartType inferredType; - ShadowSyntheticExpression(Expression desugared) + SyntheticExpressionJudgment(Expression desugared) : super(new VariableDeclaration('_', initializer: new NullLiteral()), desugared);