aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/syntax
diff options
context:
space:
mode:
authorGravatar Laurent Le Brun <laurentlb@google.com>2015-04-01 17:19:57 +0000
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2015-04-01 17:49:20 +0000
commita5cdb19e83160d60de562c1e0ae7638d4152b88b (patch)
treef99973615a9c0b3f9b89d9296c6ebc3e22deddbb /src/main/java/com/google/devtools/build/lib/syntax
parent52f0decfb89b9d57dd9d0bc93e47eab3793f43b8 (diff)
Skylark parser: Improve error messages, never display "$error$".
-- MOS_MIGRATED_REVID=90075856
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/syntax')
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/Ident.java2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Ident.java b/src/main/java/com/google/devtools/build/lib/syntax/Ident.java
index 19d4483a5f..62ad77b2c4 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/Ident.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/Ident.java
@@ -66,6 +66,8 @@ public final class Ident extends Expression {
SkylarkType validate(ValidationEnvironment env) throws EvalException {
if (env.hasSymbolInEnvironment(name)) {
return env.getVartype(name);
+ } else if (name.equals("$error$")) {
+ throw new EvalException(getLocation(), "contains syntax error(s)", true);
} else {
throw new EvalException(getLocation(), "name '" + name + "' is not defined");
}