aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/packages/MethodLibrary.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/packages/MethodLibrary.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/MethodLibrary.java10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/MethodLibrary.java b/src/main/java/com/google/devtools/build/lib/packages/MethodLibrary.java
index 43dc269257..65ad87a0dd 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/MethodLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/MethodLibrary.java
@@ -641,14 +641,16 @@ public class MethodLibrary {
@Override
public Object call(Object[] args, FuncallExpression ast) throws EvalException,
ConversionException {
- List<Object> input = Type.OBJECT_LIST.convert(args[0], "'enumerate' operand");
- List<List<Object>> result = Lists.newArrayList();
+ // Note that enumerate is only available in Skylark.
+ SkylarkList input = cast(
+ args[0], SkylarkList.class, "enumerate operand", ast.getLocation());
+ List<SkylarkList> result = Lists.newArrayList();
int count = 0;
for (Object obj : input) {
- result.add(Lists.newArrayList(count, obj));
+ result.add(SkylarkList.tuple(Lists.newArrayList(count, obj)));
count++;
}
- return result;
+ return SkylarkList.list(result, ast.getLocation());
}
};