Class component = context.getClass(targs[0].type());
Type arraytype = Type.UnboxedArrayType(targs[0].type()); Class component = context.getClass(arraytype).getComponentType();
    private Code tapply(Tree target, Symbol symbol, Tree[] targs, Tree[]vargs){        Code object = object(target);        if (symbol == definitions.ANY_IS || symbol == definitions.ANY_AS) {            assert targs.length == 1: Debug.show(targs);            assert vargs.length == 0 : Debug.show(vargs);            boolean cast = symbol == definitions.ANY_AS;            Type type = targs[0].type();            return Code.IsAs(object, type, context.getClass(type), cast);        }        if (symbol == primitives.NEW_OARRAY) {            assert object == Code.Null: object;            assert targs.length == 1: Debug.show(targs);            assert vargs.length == 1 : Debug.show(vargs);            Class component = context.getClass(targs[0].type());            return Code.CreateArray(component, compute(vargs[0]));        }        throw Debug.abort("unknown method", symbol);    }