public void invokeInterface(TypeDesc classDesc, String methodName, TypeDesc ret, TypeDesc[] params) { mAssembler.invokeInterface(classDesc, methodName, ret, params); }
public void invokeInterface(TypeDesc classDesc, String methodName, TypeDesc ret, TypeDesc[] params) { mAssembler.invokeInterface(classDesc, methodName, ret, params); }
/** * Generates code to get a Lob locator value from RawSupport. RawSupport * instance and Lob instance must be on the stack. Result is a long locator * value on the stack. */ private void getLobLocator(CodeAssembler a, StorablePropertyInfo info) { if (!info.isLob()) { throw new IllegalArgumentException(); } a.invokeInterface(TypeDesc.forClass(RawSupport.class), "getLocator", TypeDesc.LONG, new TypeDesc[] {info.getStorageType()}); }
/** * Generates code to get a Lob locator value from RawSupport. RawSupport * instance and Lob instance must be on the stack. Result is a long locator * value on the stack. */ private void getLobLocator(CodeAssembler a, StorablePropertyInfo info) { if (!info.isLob()) { throw new IllegalArgumentException(); } a.invokeInterface(TypeDesc.forClass(RawSupport.class), "getLocator", TypeDesc.LONG, new TypeDesc[] {info.getStorageType()}); }
public void addInvokeReadMethod(CodeAssembler a, TypeDesc instanceType) { Class clazz = instanceType.toClass(); if (clazz == null) { // Can't know if instance should be invoked as an interface or as a // virtual method. throw new IllegalArgumentException("Instance type has no known class"); } if (clazz.isInterface()) { a.invokeInterface(instanceType, getReadMethodName(), getPropertyType(), null); } else { a.invokeVirtual(instanceType, getReadMethodName(), getPropertyType(), null); } }
public void addInvokeReadMethod(CodeAssembler a, TypeDesc instanceType) { Class clazz = instanceType.toClass(); if (clazz == null) { // Can't know if instance should be invoked as an interface or as a // virtual method. throw new IllegalArgumentException("Instance type has no known class"); } if (clazz.isInterface()) { a.invokeInterface(instanceType, getReadMethodName(), getPropertyType(), null); } else { a.invokeVirtual(instanceType, getReadMethodName(), getPropertyType(), null); } }
/** * Generates code to get a Lob from a locator from RawSupport. RawSupport * instance, Storable instance, property name and long locator must be on * the stack. Result is a Lob on the stack, which may be null. */ private void getLobFromLocator(CodeAssembler a, StorablePropertyInfo info) { if (!info.isLob()) { throw new IllegalArgumentException(); } TypeDesc type = info.getStorageType(); String name; if (Blob.class.isAssignableFrom(type.toClass())) { name = "getBlob"; } else if (Clob.class.isAssignableFrom(type.toClass())) { name = "getClob"; } else { throw new IllegalArgumentException(); } a.invokeInterface(TypeDesc.forClass(RawSupport.class), name, type, new TypeDesc[] {TypeDesc.forClass(Storable.class), TypeDesc.STRING, TypeDesc.LONG}); }
/** * Generates code to get a Lob from a locator from RawSupport. RawSupport * instance, Storable instance, property name and long locator must be on * the stack. Result is a Lob on the stack, which may be null. */ private void getLobFromLocator(CodeAssembler a, StorablePropertyInfo info) { if (!info.isLob()) { throw new IllegalArgumentException(); } TypeDesc type = info.getStorageType(); String name; if (Blob.class.isAssignableFrom(type.toClass())) { name = "getBlob"; } else if (Clob.class.isAssignableFrom(type.toClass())) { name = "getClob"; } else { throw new IllegalArgumentException(); } a.invokeInterface(TypeDesc.forClass(RawSupport.class), name, type, new TypeDesc[] {TypeDesc.forClass(Storable.class), TypeDesc.STRING, TypeDesc.LONG}); }
public void addInvokeWriteMethod(CodeAssembler a, TypeDesc instanceType) { Class clazz = instanceType.toClass(); if (clazz == null) { // Can't know if instance should be invoked as an interface or as a // virtual method. throw new IllegalArgumentException("Instance type has no known class"); } if (clazz.isInterface()) { a.invokeInterface(instanceType, getWriteMethodName(), null, new TypeDesc[] {getPropertyType()}); } else { a.invokeVirtual(instanceType, getWriteMethodName(), null, new TypeDesc[] {getPropertyType()}); } }
public void addInvokeWriteMethod(CodeAssembler a, TypeDesc instanceType) { Class clazz = instanceType.toClass(); if (clazz == null) { // Can't know if instance should be invoked as an interface or as a // virtual method. throw new IllegalArgumentException("Instance type has no known class"); } if (clazz.isInterface()) { a.invokeInterface(instanceType, getWriteMethodName(), null, new TypeDesc[] {getPropertyType()}); } else { a.invokeVirtual(instanceType, getWriteMethodName(), null, new TypeDesc[] {getPropertyType()}); } }
assembler.invokeInterface(className, methodName, ret, paramTypes); break;
assembler.invokeInterface(className, methodName, ret, paramTypes); break;