public class org.hamcrest.internal.ArrayIterator extends java.lang.Object implements java.util.Iterator
{
private final java.lang.Object array;
private int currentIndex;
public void <init>(java.lang.Object)
{
java.lang.Class v;
java.lang.Object v;
java.lang.IllegalArgumentException v;
boolean v;
org.hamcrest.internal.ArrayIterator v;
v := @this: org.hamcrest.internal.ArrayIterator;
v := @parameter: java.lang.Object;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.hamcrest.internal.ArrayIterator: int currentIndex> = 0;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isArray()>();
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("not an array");
throw v;
label:
v.<org.hamcrest.internal.ArrayIterator: java.lang.Object array> = v;
return;
}
public boolean hasNext()
{
int v, v;
java.lang.Object v;
boolean v;
org.hamcrest.internal.ArrayIterator v;
v := @this: org.hamcrest.internal.ArrayIterator;
v = v.<org.hamcrest.internal.ArrayIterator: int currentIndex>;
v = v.<org.hamcrest.internal.ArrayIterator: java.lang.Object array>;
v = staticinvoke <java.lang.reflect.Array: int getLength(java.lang.Object)>(v);
if v >= v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public java.lang.Object next()
{
int v, v;
java.lang.Object v, v;
org.hamcrest.internal.ArrayIterator v;
v := @this: org.hamcrest.internal.ArrayIterator;
v = v.<org.hamcrest.internal.ArrayIterator: java.lang.Object array>;
v = v.<org.hamcrest.internal.ArrayIterator: int currentIndex>;
v = v + 1;
v.<org.hamcrest.internal.ArrayIterator: int currentIndex> = v;
v = staticinvoke <java.lang.reflect.Array: java.lang.Object get(java.lang.Object,int)>(v, v);
return v;
}
public void remove()
{
java.lang.UnsupportedOperationException v;
org.hamcrest.internal.ArrayIterator v;
v := @this: org.hamcrest.internal.ArrayIterator;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("cannot remove items from an array");
throw v;
}
}