// name
adapter.push(src.getName());
// arguments
ArrayVisitor av=new ArrayVisitor();
av.visitBegin(adapter,Types.OBJECT,typeArgs.length);
for(int y=0;y<typeArgs.length;y++){
av.visitBeginItem(adapter, y);
adapter.loadArg(y);
if(classArgs[y]==boolean.class) adapter.invokeStatic(JAVA_PROXY, _BOOLEAN);
else if(classArgs[y]==byte.class) adapter.invokeStatic(JAVA_PROXY, _BYTE);
else if(classArgs[y]==char.class) adapter.invokeStatic(JAVA_PROXY, _CHAR);
else if(classArgs[y]==double.class) adapter.invokeStatic(JAVA_PROXY, _DOUBLE);
else if(classArgs[y]==float.class) adapter.invokeStatic(JAVA_PROXY, _FLOAT);
else if(classArgs[y]==int.class) adapter.invokeStatic(JAVA_PROXY, _INT);
else if(classArgs[y]==long.class) adapter.invokeStatic(JAVA_PROXY, _LONG);
else if(classArgs[y]==short.class) adapter.invokeStatic(JAVA_PROXY, _SHORT);
else {
adapter.invokeStatic(JAVA_PROXY, _OBJECT);
}
av.visitEndItem(adapter);
}
av.visitEnd();
adapter.invokeStatic(JAVA_PROXY, CALL);
//JavaProxy.to...(...);
int rtn=Opcodes.IRETURN;
if(classRtn==boolean.class) adapter.invokeStatic(JAVA_PROXY, TO_BOOLEAN);