aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/syntax/ExpressionStatement.java
diff options
context:
space:
mode:
authorGravatar Florian Weikert <fwe@google.com>2015-11-09 17:05:29 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2015-11-10 10:23:08 +0000
commita1c377b0a6e7ecc3ad69c1577aec3706ca2a7512 (patch)
tree8698f193c334fc5a687fd7e22da9c673a5df502f /src/main/java/com/google/devtools/build/lib/syntax/ExpressionStatement.java
parent277fb52f716ff154ac0ea6934fb9c9a5407ef6d1 (diff)
Compile for loops with break/continue to byte code
-- MOS_MIGRATED_REVID=107389651
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/syntax/ExpressionStatement.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/ExpressionStatement.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/ExpressionStatement.java b/src/main/java/com/google/devtools/build/lib/syntax/ExpressionStatement.java
index 3f15d03d51..5c9a03aded 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/ExpressionStatement.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/ExpressionStatement.java
@@ -14,6 +14,13 @@
package com.google.devtools.build.lib.syntax;
+import com.google.common.base.Optional;
+import com.google.devtools.build.lib.syntax.compiler.DebugInfo;
+import com.google.devtools.build.lib.syntax.compiler.LoopLabels;
+import com.google.devtools.build.lib.syntax.compiler.VariableScope;
+
+import net.bytebuddy.implementation.bytecode.ByteCodeAppender;
+
/**
* Syntax node for a function call statement. Used for build rules.
*/
@@ -48,4 +55,11 @@ public final class ExpressionStatement extends Statement {
void validate(ValidationEnvironment env) throws EvalException {
expr.validate(env);
}
+
+ @Override
+ ByteCodeAppender compile(
+ VariableScope scope, Optional<LoopLabels> loopLabels, DebugInfo debugInfo)
+ throws EvalException {
+ return expr.compile(scope, debugInfo);
+ }
}