diff options
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.java | 10 |
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; } /** |