diff options
3 files changed, 13 insertions, 8 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Package.java b/src/main/java/com/google/devtools/build/lib/packages/Package.java index 8296c36f49..a7482bbb60 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/Package.java +++ b/src/main/java/com/google/devtools/build/lib/packages/Package.java @@ -1509,12 +1509,14 @@ public class Package { private static String conflictsWith(Target target) { String message = "conflicts with existing "; if (target instanceof OutputFile) { - return message + "generated file from rule '" - + ((OutputFile) target).getGeneratingRule().getName() - + "'"; + message += + "generated file from rule '" + + ((OutputFile) target).getGeneratingRule().getName() + + "'"; } else { - return message + target.getTargetKind(); + message += target.getTargetKind(); } + return message + ", defined at " + target.getLocation(); } } } diff --git a/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java b/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java index e3468da0ea..dfbf43a025 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java @@ -580,12 +580,13 @@ public final class FuncallExpression extends Expression { if (!(items instanceof Map<?, ?>)) { throw new EvalException( location, - "argument after ** must be a dictionary, not " + EvalUtils.getDataTypeName(items)); + "argument after ** must be a dictionary, not '" + EvalUtils.getDataTypeName(items) + "'"); } for (Map.Entry<?, ?> entry : ((Map<?, ?>) items).entrySet()) { if (!(entry.getKey() instanceof String)) { throw new EvalException( - location, "keywords must be strings, not " + EvalUtils.getDataTypeName(entry.getKey())); + location, + "keywords must be strings, not '" + EvalUtils.getDataTypeName(entry.getKey()) + "'"); } addKeywordArg(kwargs, (String) entry.getKey(), entry.getValue(), duplicates); } 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 464e81cae4..2f29dfd1d4 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 @@ -325,13 +325,15 @@ public class FunctionTest extends EvaluationTestCase { @Test public void testKwargsBadKey() throws Exception { checkEvalError( - "keywords must be strings, not int", "def func(a, b): return a + b", "func('a', **{3: 1})"); + "keywords must be strings, not 'int'", + "def func(a, b): return a + b", + "func('a', **{3: 1})"); } @Test public void testKwargsIsNotDict() throws Exception { checkEvalError( - "argument after ** must be a dictionary, not int", + "argument after ** must be a dictionary, not 'int'", "def func(a, b): return a + b", "func('a', **42)"); } |