aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/syntax/Environment.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/syntax/Environment.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/Environment.java10
1 files changed, 7 insertions, 3 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 ec504a06ec..f7ea9f98ca 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
@@ -927,14 +927,18 @@ public final class Environment implements Freezable {
@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);
- return result.statements;
+ statements = result.statements;
+ } else {
+ statements = Parser.parseFile(input, eventHandler, /*parsePython=*/false).statements;
}
-
- return Parser.parseFile(input, eventHandler, /*parsePython=*/ false).statements;
+ // Force the validation of imports
+ BuildFileAST.fetchLoads(statements, eventHandler);
+ return statements;
}
/**