aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkValue.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkValue.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkValue.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkValue.java b/src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkValue.java
index a7c8c2779b..bf6a5c5586 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkinterface/SkylarkValue.java
@@ -37,4 +37,38 @@ public interface SkylarkValue {
* @param printer a printer to be used for formatting nested values.
*/
void repr(SkylarkPrinter printer);
+
+ /**
+ * Print a legacy representation of object x.
+ *
+ * <p>By default dispatches to the {@code repr} method. Should be called instead of {@code repr}
+ * if --incompatible_descriptive_string_representations=false is used.
+ *
+ * @param printer an instance of a printer to be used for formatting nested values
+ */
+ default void reprLegacy(SkylarkPrinter printer) {
+ repr(printer);
+ }
+
+ /**
+ * Print an informal, human-readable representation of the value.
+ *
+ * <p>By default dispatches to the {@code repr} method.
+ *
+ * @param printer a printer to be used for formatting nested values.
+ */
+ default void str(SkylarkPrinter printer) {
+ repr(printer);
+ }
+
+ /**
+ * Print a legacy informal, human-readable representation of the value.
+ *
+ * <p>By default dispatches to the {@code reprLegacy} method.
+ *
+ * @param printer a printer to be used for formatting nested values.
+ */
+ default void strLegacy(SkylarkPrinter printer) {
+ reprLegacy(printer);
+ }
}