diff options
author | vladmos <vladmos@google.com> | 2017-07-17 23:15:21 +0200 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2017-07-18 09:49:16 +0200 |
commit | 7f6d3a13b63b702a6c56010610c3f0018490dfec (patch) | |
tree | 4d8ec17e33dafbc97bbcefc03e2d9d002dfbd844 /src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java | |
parent | b1829f138f444f5efcd65960c2a7a95879914325 (diff) |
Improve attribute and index error messages for targets
Instead of "object of type 'Target'" a representation of the
target can be used for improved readability.
PiperOrigin-RevId: 162267961
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java index 8464ded1a9..fb6fcf1a43 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java @@ -30,6 +30,7 @@ import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter; import com.google.devtools.build.lib.syntax.ClassObject; import com.google.devtools.build.lib.syntax.EvalException; import com.google.devtools.build.lib.syntax.EvalUtils; +import com.google.devtools.build.lib.syntax.Printer; import java.util.concurrent.atomic.AtomicReference; import java.util.function.Consumer; import javax.annotation.Nullable; @@ -128,8 +129,11 @@ public abstract class AbstractConfiguredTarget if (declaredProvider != null) { return declaredProvider; } - throw new EvalException(loc, String.format( - "Object of type Target doesn't contain declared provider %s", + throw new EvalException(loc, Printer.format( + "%r%s doesn't contain declared provider '%s'", + this, + getTarget().getAssociatedRule() == null ? "" + : " (rule '" + getTarget().getAssociatedRule().getRuleClass() + "')", constructor.getPrintableName())); } |