Minor improvements to error messages. In case of conflict, show the location of the original rule. -- PiperOrigin-RevId: 143541281 MOS_MIGRATED_REVID=143541281
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 8296c36..a7482bb 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 @@ 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 e3468da..dfbf43a 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 @@ 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); }