diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/syntax/Label.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/syntax/Label.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Label.java b/src/main/java/com/google/devtools/build/lib/syntax/Label.java index 6c712c3ead..983f7fd84d 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/Label.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/Label.java @@ -39,7 +39,7 @@ import java.io.Serializable; */ @SkylarkModule(name = "Label", doc = "A BUILD target identifier.") @Immutable @ThreadSafe -public final class Label implements Comparable<Label>, Serializable { +public final class Label implements Comparable<Label>, Serializable, SkylarkValue { /** * Factory for Labels from absolute string form. e.g. @@ -406,4 +406,16 @@ public final class Label implements Comparable<Label>, Serializable { public static String print(Label label) { return label == null ? "(unknown)" : label.toString(); } + + @Override + public boolean isImmutable() { + return true; + } + + @Override + public void write(Appendable buffer, char quotationMark) { + // TODO(bazel-team): make the representation readable Label(//foo), + // and isolate the legacy functions that want the unreadable variant. + Printer.write(buffer, toString(), quotationMark); + } } |