aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Laurent Le Brun <laurentlb@google.com>2016-11-23 16:50:23 +0000
committerGravatar Dmitry Lomov <dslomov@google.com>2016-11-23 17:02:29 +0000
commit2c52dab02f37bb85ac8790823d613f8b6ae5358f (patch)
tree2ded4485b98c9b9f6f42bf2d53ab9801a607b438
parentf36b4061b4c3c731bd90e34b9fe7648a50542d8c (diff)
Remove Environment.parseFile
-- MOS_MIGRATED_REVID=140037282
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/Environment.java24
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java14
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java11
3 files changed, 11 insertions, 38 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Environment.java b/src/main/java/com/google/devtools/build/lib/syntax/Environment.java
index 08ff95b8b1..5ff9a81519 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/Environment.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/Environment.java
@@ -15,7 +15,6 @@
package com.google.devtools.build.lib.syntax;
import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.cmdline.Label;
@@ -31,7 +30,6 @@ import com.google.devtools.build.lib.util.Preconditions;
import java.io.Serializable;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
@@ -865,28 +863,6 @@ public final class Environment implements Freezable {
};
/**
- * Parses some String inputLines without a supporting file, returning statements only.
- * TODO(laurentlb): Remove from Environment
- * @param inputLines a list of lines of code
- */
- @VisibleForTesting
- public List<Statement> parseFile(String... inputLines) {
- ParserInputSource input = ParserInputSource.create(Joiner.on("\n").join(inputLines), null);
- List<Statement> statements;
- if (isSkylark) {
- Parser.ParseResult result = Parser.parseFileForSkylark(input, eventHandler);
- ValidationEnvironment valid = new ValidationEnvironment(this);
- valid.validateAst(result.statements, eventHandler);
- statements = result.statements;
- } else {
- statements = Parser.parseFile(input, eventHandler).statements;
- }
- // Force the validation of imports
- BuildFileAST.fetchLoads(statements, eventHandler);
- return statements;
- }
-
- /**
* Evaluates code some String input without a supporting file.
* TODO(laurentlb): Remove from Environment
* @param input a list of lines of code to evaluate
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java b/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java
index f20157a782..3387fac8c0 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java
@@ -29,7 +29,6 @@ import com.google.devtools.build.lib.syntax.util.EvaluationTestCase;
import com.google.devtools.build.lib.vfs.PathFragment;
import java.util.LinkedList;
import java.util.List;
-import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
@@ -40,15 +39,8 @@ import org.junit.runners.JUnit4;
@RunWith(JUnit4.class)
public class ParserTest extends EvaluationTestCase {
- Environment buildEnvironment;
-
- @Before
- public final void createBuildEnvironment() throws Exception {
- buildEnvironment = newBuildEnvironment();
- }
-
private BuildFileAST parseFileWithComments(String... input) {
- return BuildFileAST.parseBuildString(buildEnvironment.getEventHandler(), input);
+ return BuildFileAST.parseBuildString(getEventHandler(), input);
}
/** Parses build code (not Skylark) */
@@ -59,7 +51,9 @@ public class ParserTest extends EvaluationTestCase {
/** Parses Skylark code */
private List<Statement> parseFileForSkylark(String... input) {
- return env.parseFile(input);
+ BuildFileAST ast = BuildFileAST.parseSkylarkString(getEventHandler(), input);
+ ast = ast.validate(new ValidationEnvironment(env), getEventHandler());
+ return ast.getStatements();
}
private static String getText(String text, ASTNode node) {
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java b/src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java
index 8d72a031cf..b344607e18 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java
@@ -25,6 +25,7 @@ import com.google.devtools.build.lib.events.EventHandler;
import com.google.devtools.build.lib.events.EventKind;
import com.google.devtools.build.lib.events.util.EventCollectionApparatus;
import com.google.devtools.build.lib.syntax.BazelLibrary;
+import com.google.devtools.build.lib.syntax.BuildFileAST;
import com.google.devtools.build.lib.syntax.Environment;
import com.google.devtools.build.lib.syntax.Environment.Phase;
import com.google.devtools.build.lib.syntax.EvalException;
@@ -34,6 +35,7 @@ import com.google.devtools.build.lib.syntax.Parser;
import com.google.devtools.build.lib.syntax.ParserInputSource;
import com.google.devtools.build.lib.syntax.SkylarkUtils;
import com.google.devtools.build.lib.syntax.Statement;
+import com.google.devtools.build.lib.syntax.ValidationEnvironment;
import com.google.devtools.build.lib.testutil.TestConstants;
import com.google.devtools.build.lib.testutil.TestMode;
import java.util.LinkedList;
@@ -133,7 +135,9 @@ public class EvaluationTestCase {
}
protected List<Statement> parseFile(String... input) {
- return env.parseFile(input);
+ BuildFileAST ast = BuildFileAST.parseSkylarkString(getEventHandler(), input);
+ ast = ast.validate(new ValidationEnvironment(env), getEventHandler());
+ return ast.getStatements();
}
/** Parses an Expression from string without a supporting file */
@@ -431,10 +435,9 @@ public class EvaluationTestCase {
}
/**
- * A simple decorator that allows the execution of setup actions before running
- * a {@code Testable}
+ * A simple decorator that allows the execution of setup actions before running a {@code Testable}
*/
- class TestableDecorator implements Testable {
+ static class TestableDecorator implements Testable {
private final SetupActions setup;
private final Testable decorated;