private static void doTest() { if (loadLazy) { // anewarray Lazy[] array = new Lazy[1]; // new and invokespecial Object lazy = new Lazy(); // checkcast array[0] = (Lazy) lazy; // instanceof expect(lazy instanceof Lazy); // invokeinterface expect(array[0].interfaceMethod() == 42); // invokestatic expect(Lazy.staticMethod() == 43); // invokevirtual expect(array[0].virtualMethod() == 44); // ldc expect(Lazy.class == lazy.getClass()); // multianewarray Lazy[][] multiarray = new Lazy[5][6]; multiarray[2][3] = array[0]; expect(multiarray[2][3] == array[0]); // getfield expect(array[0].intField == 45); // getstatic expect(Lazy.intStaticField == 46); // putfield int array[0].intField = 47; expect(array[0].intField == 47); // putfield long array[0].longField = 48; expect(array[0].longField == 48); // putfield object Object x = new Object(); array[0].objectField = x; expect(array[0].objectField == x); // putstatic int array[0].intStaticField = 49; expect(array[0].intStaticField == 49); // putstatic long array[0].longStaticField = 50; expect(array[0].longStaticField == 50); // putstatic object Object y = new Object(); array[0].objectStaticField = y; expect(array[0].objectStaticField == y); } }