From 927f3b280f1a37d6cbbae3ac69eb147b90358d54 Mon Sep 17 00:00:00 2001 From: Miguel Alcon Pinto Date: Mon, 22 Aug 2016 14:21:30 +0000 Subject: Move SkylarkImport from LoadStatement to BuildFileAST This allow us to skip the import validation in non-build usages. -- MOS_MIGRATED_REVID=130936612 --- .../java/com/google/devtools/build/lib/syntax/Environment.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/syntax/Environment.java') 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 parseFile(String... inputLines) { ParserInputSource input = ParserInputSource.create(Joiner.on("\n").join(inputLines), null); + List 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; } /** -- cgit v1.2.3