From 6c10eac70123104a2b48eaf58075374e155ed12d Mon Sep 17 00:00:00 2001 From: Francois-Rene Rideau Date: Thu, 17 Sep 2015 19:17:20 +0000 Subject: Cleanup Skylark types some more Clarify the criterion for being a valid Skylark value; stop claiming immutability is "the" criterion when Skylark now has mutable values; stop relying on a reflection with a magic list (this also fixes the SkylarkShell build). Clarify the criterion for determining immutable types when making a SkylarkNestedSet. Clarify and use the criterion for being a valid Skylark dict key. -- MOS_MIGRATED_REVID=103313934 --- .../google/devtools/build/lib/syntax/Printer.java | 36 +++++----------------- 1 file changed, 7 insertions(+), 29 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/syntax/Printer.java') diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Printer.java b/src/main/java/com/google/devtools/build/lib/syntax/Printer.java index 2586306bf0..bc00795625 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/Printer.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/Printer.java @@ -15,7 +15,6 @@ package com.google.devtools.build.lib.syntax; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; -import com.google.devtools.build.lib.collect.nestedset.Order; import com.google.devtools.build.lib.vfs.PathFragment; import java.io.IOException; @@ -108,15 +107,15 @@ public final class Printer { if (o == null) { throw new NullPointerException(); // Java null is not a build language value. + } else if (o instanceof SkylarkValue) { + ((SkylarkValue) o).write(buffer, quotationMark); + } else if (o instanceof String) { writeString(buffer, (String) o, quotationMark); } else if (o instanceof Integer || o instanceof Double) { append(buffer, o.toString()); - } else if (o == Runtime.NONE) { - append(buffer, "None"); - } else if (o == Boolean.TRUE) { append(buffer, "True"); @@ -125,11 +124,7 @@ public final class Printer { } else if (o instanceof List) { List seq = (List) o; - printList(buffer, seq, EvalUtils.isImmutable(seq), quotationMark); - - } else if (o instanceof SkylarkList) { - SkylarkList list = (SkylarkList) o; - printList(buffer, list.toList(), list.isTuple(), quotationMark); + printList(buffer, seq, EvalUtils.isTuple(seq), quotationMark); } else if (o instanceof Map) { Map dict = (Map) o; @@ -141,28 +136,11 @@ public final class Printer { append(buffer, ": "); write(buffer, entry.getValue(), quotationMark); - } else if (o instanceof SkylarkNestedSet) { - SkylarkNestedSet set = (SkylarkNestedSet) o; - append(buffer, "set("); - printList(buffer, set, "[", ", ", "]", null, quotationMark); - Order order = set.getOrder(); - if (order != Order.STABLE_ORDER) { - append(buffer, ", order = \"" + order.getName() + "\""); - } - append(buffer, ")"); - - } else if (o instanceof BaseFunction) { - BaseFunction func = (BaseFunction) o; - append(buffer, ""); - - } else if (o instanceof Label) { - write(buffer, o.toString(), quotationMark); - } else if (o instanceof PathFragment) { append(buffer, ((PathFragment) o).getPathString()); - } else if (o instanceof SkylarkValue) { - ((SkylarkValue) o).write(buffer, quotationMark); + } else if (o instanceof Class) { + append(buffer, EvalUtils.getDataTypeNameFromClass((Class) o)); } else { append(buffer, o.toString()); @@ -271,7 +249,7 @@ public final class Printer { * @param quotationMark The quotation mark to be used (' or ") * @return the Appendable, in fluent style. */ - private static Appendable printList( + public static Appendable printList( Appendable buffer, Iterable list, String before, -- cgit v1.2.3