diff options
author | 2015-10-15 23:02:12 +0000 | |
---|---|---|
committer | 2015-10-16 07:40:28 +0000 | |
commit | 99f831eb45d2ca71ff7969f1258562fb0455f51b (patch) | |
tree | 61e985bb2f999d7f6f92b964d643b2e390d1cb91 /src/main | |
parent | 6630426fb6b2380a8bf78ca77b7f42606b33702c (diff) |
When loading a Skylark list or tuple, preserve the type in the BUILD file.
--
MOS_MIGRATED_REVID=105552023
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/syntax/SkylarkType.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkType.java b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkType.java index d2899123c3..f79b12983b 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkType.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkType.java @@ -754,9 +754,12 @@ public abstract class SkylarkType implements Serializable { * Converts object from a Skylark-compatible wrapper type to its original type. */ public static Object convertFromSkylark(Object value) { - if (value instanceof SkylarkList) { - return new ArrayList<>(((SkylarkList) value).getList()); + if (value instanceof MutableList) { + return new ArrayList<>(((MutableList) value).getList()); + } else if (value instanceof Tuple) { + return ((Tuple) value).getImmutableList(); + } else { + return value; } - return value; } } |