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);
}