Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(611)

Unified Diff: pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart

Issue 1779153002: Make source information on conditions mandatory in CPS (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart
diff --git a/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart b/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart
index e637950de73ee99dfc290489cdded4accfccb387..5c167bf7f61c71354272536db806c12173ef763c 100644
--- a/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart
+++ b/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart
@@ -2072,6 +2072,7 @@ class Branch extends TailExpression {
final Reference<Primitive> conditionRef;
final Reference<Continuation> trueContinuationRef;
final Reference<Continuation> falseContinuationRef;
+ final SourceInformation sourceInformation;
Primitive get condition => conditionRef.definition;
Continuation get trueContinuation => trueContinuationRef.definition;
@@ -2084,7 +2085,11 @@ class Branch extends TailExpression {
/// boolean.
bool isStrictCheck;
- Branch(Primitive condition, Continuation trueCont, Continuation falseCont,
+ Branch(
+ Primitive condition,
+ Continuation trueCont,
+ Continuation falseCont,
+ this.sourceInformation,
{bool strict})
: this.conditionRef = new Reference<Primitive>(condition),
trueContinuationRef = new Reference<Continuation>(trueCont),
@@ -2094,12 +2099,18 @@ class Branch extends TailExpression {
}
Branch.strict(
- Primitive condition, Continuation trueCont, Continuation falseCont)
- : this(condition, trueCont, falseCont, strict: true);
+ Primitive condition,
+ Continuation trueCont,
+ Continuation falseCont,
+ SourceInformation sourceInformation)
+ : this(condition, trueCont, falseCont, sourceInformation, strict: true);
Branch.loose(
- Primitive condition, Continuation trueCont, Continuation falseCont)
- : this(condition, trueCont, falseCont, strict: false);
+ Primitive condition,
+ Continuation trueCont,
+ Continuation falseCont,
+ SourceInformation sourceInformation)
+ : this(condition, trueCont, falseCont, sourceInformation, strict: false);
accept(BlockVisitor visitor) => visitor.visitBranch(this);
@@ -3134,7 +3145,8 @@ class CopyingVisitor extends TrampolineRecursiveVisitor {
plug(new Branch.loose(
_definitions.getCopy(node.conditionRef),
_copies[node.trueContinuation],
- _copies[node.falseContinuation])..isStrictCheck = node.isStrictCheck);
+ _copies[node.falseContinuation],
+ node.sourceInformation)..isStrictCheck = node.isStrictCheck);
}
visitUnreachable(Unreachable node) {
« no previous file with comments | « pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart ('k') | pkg/compiler/lib/src/io/position_information.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698