Roll forward fix of global var shadow detection RELNOTES[INC]: Skylark: It is an error to shadow a global variable with a local variable after the global has already been accessed in the function. -- MOS_MIGRATED_REVID=130014492
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/FunctionTest.java b/src/test/java/com/google/devtools/build/lib/syntax/FunctionTest.java index d5d3937..3451238 100644 --- a/src/test/java/com/google/devtools/build/lib/syntax/FunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/syntax/FunctionTest.java
@@ -120,6 +120,18 @@ } @Test + public void testFunctionDefLocalVariableReferencedInCallBeforeAssignment() throws Exception { + checkEvalErrorContains("Variable 'a' is referenced before assignment.", + "def dummy(x):", + " pass", + "a = 1", + "def func():", + " dummy(a)", + " a = 2", + "func()\n"); + } + + @Test public void testFunctionDefLocalVariableReferencedAfterAssignment() throws Exception { eval("a = 1", "def func():",