aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/cmdline
diff options
context:
space:
mode:
authorGravatar vladmos <vladmos@google.com>2017-07-05 10:25:01 -0400
committerGravatar John Cater <jcater@google.com>2017-07-05 10:59:40 -0400
commit6ff634d3f3582c74190a5dd5051a4b0253aec604 (patch)
tree0f3756c6b63539c17c409b5d8893c447b015017a /src/main/java/com/google/devtools/build/lib/cmdline
parentfd04ce8e20c62acc357a9473dcde727a413e915e (diff)
Clean up string representations for labels
If --incompatible_descriptive_string_representations is passed, labels are converted to strings using `repr` differently: `Label("//package:name")` instead of `"//package:name"` This CL doesn't affect representations of other object types but provides the necessary infrastructure for it. PiperOrigin-RevId: 160955284
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/cmdline')
-rw-r--r--src/main/java/com/google/devtools/build/lib/cmdline/Label.java16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/Label.java b/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
index 9c229018b0..247ea4d98a 100644
--- a/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
+++ b/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
@@ -23,8 +23,8 @@ import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrintableValue;
import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.lib.util.StringCanonicalizer;
import com.google.devtools.build.lib.util.StringUtilities;
@@ -51,7 +51,7 @@ import javax.annotation.Nullable;
)
@Immutable
@ThreadSafe
-public final class Label implements Comparable<Label>, Serializable, SkylarkPrintableValue, SkyKey {
+public final class Label implements Comparable<Label>, Serializable, SkylarkValue, SkyKey {
public static final PathFragment EXTERNAL_PACKAGE_NAME = PathFragment.create("external");
public static final PathFragment EXTERNAL_PACKAGE_FILE_NAME = PathFragment.create("WORKSPACE");
public static final String DEFAULT_REPOSITORY_DIRECTORY = "__main__";
@@ -562,8 +562,20 @@ public final class Label implements Comparable<Label>, Serializable, SkylarkPrin
}
@Override
+ public void reprLegacy(SkylarkPrinter printer) {
+ printer.repr(getCanonicalForm());
+ }
+
+ @Override
public void repr(SkylarkPrinter printer) {
+ printer.append("Label(");
printer.repr(getCanonicalForm());
+ printer.append(")");
+ }
+
+ @Override
+ public void strLegacy(SkylarkPrinter printer) {
+ printer.append(getCanonicalForm());
}
@Override