throw new UnsupportedSubscript(type, null, ctx.getCurrentAST());
if (!subsBase.getType().isInteger()){
throw new UnsupportedSubscript(getTypeFactory().integerType(), subsBase.getType(), ctx.getCurrentAST());
}
IInteger index = (IInteger)subsBase.getValue();
int idx = index.intValue();
if(idx < 0){
idx = idx + getValue().arity();
}
if ( (idx >= getValue().arity()) || (idx < 0)) {
throw RuntimeExceptionFactory.indexOutOfBounds(index, ctx.getCurrentAST(), ctx.getStackTrace());