org.omegahat.Interfaces.NativeInterface
Class ForeignReferenceClassGenerator

java.lang.Object
  |
  +--org.omegahat.Environment.Compile.DynamicCompiler
        |
        +--org.omegahat.Environment.GUITools.EvaluableInterfaceGenerator
              |
              +--org.omegahat.Interfaces.NativeInterface.ForeignReferenceClassGenerator
All Implemented Interfaces:
jas.RuntimeConstants

public class ForeignReferenceClassGenerator
extends org.omegahat.Environment.GUITools.EvaluableInterfaceGenerator


Fields inherited from class org.omegahat.Environment.GUITools.EvaluableInterfaceGenerator
interfaces, separator, signaturePrefix, signatureSuffix, useSuperClassConstructors
 
Fields inherited from class org.omegahat.Environment.Compile.DynamicCompiler
BOTH, classDef, className, debug, GET, output, packageName, SET, superClassName
 
Fields inherited from interface jas.RuntimeConstants
ACC_ABSTRACT, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_SUPER, ACC_SYNCHRONIZED, ACC_TRANSIENT, ACC_VOLATILE, CONSTANT_CLASS, CONSTANT_DOUBLE, CONSTANT_FIELD, CONSTANT_FLOAT, CONSTANT_INTEGER, CONSTANT_INTERFACEMETHOD, CONSTANT_LONG, CONSTANT_METHOD, CONSTANT_NAMEANDTYPE, CONSTANT_STRING, CONSTANT_UNICODE, CONSTANT_UTF8, JAVA_MAGIC, JAVA_MINOR_VERSION, JAVA_VERSION, opc_aaload, opc_aastore, opc_aconst_null, opc_aload, opc_aload_0, opc_aload_1, opc_aload_2, opc_aload_3, opc_anewarray, opc_areturn, opc_arraylength, opc_astore, opc_astore_0, opc_astore_1, opc_astore_2, opc_astore_3, opc_athrow, opc_baload, opc_bastore, opc_bipush, opc_breakpoint, opc_caload, opc_castore, opc_checkcast, opc_d2f, opc_d2i, opc_d2l, opc_dadd, opc_daload, opc_dastore, opc_dcmpg, opc_dcmpl, opc_dconst_0, opc_dconst_1, opc_ddiv, opc_dead, opc_dload, opc_dload_0, opc_dload_1, opc_dload_2, opc_dload_3, opc_dmul, opc_dneg, opc_drem, opc_dreturn, opc_dstore, opc_dstore_0, opc_dstore_1, opc_dstore_2, opc_dstore_3, opc_dsub, opc_dup, opc_dup_x1, opc_dup_x2, opc_dup2, opc_dup2_x1, opc_dup2_x2, opc_f2d, opc_f2i, opc_f2l, opc_fadd, opc_faload, opc_fastore, opc_fcmpg, opc_fcmpl, opc_fconst_0, opc_fconst_1, opc_fconst_2, opc_fdiv, opc_fload, opc_fload_0, opc_fload_1, opc_fload_2, opc_fload_3, opc_fmul, opc_fneg, opc_frem, opc_freturn, opc_fstore, opc_fstore_0, opc_fstore_1, opc_fstore_2, opc_fstore_3, opc_fsub, opc_getfield, opc_getstatic, opc_goto, opc_goto_w, opc_i2b, opc_i2c, opc_i2d, opc_i2f, opc_i2l, opc_i2s, opc_iadd, opc_iaload, opc_iand, opc_iastore, opc_iconst_0, opc_iconst_1, opc_iconst_2, opc_iconst_3, opc_iconst_4, opc_iconst_5, opc_iconst_m1, opc_idiv, opc_if_acmpeq, opc_if_acmpne, opc_if_icmpeq, opc_if_icmpge, opc_if_icmpgt, opc_if_icmple, opc_if_icmplt, opc_if_icmpne, opc_ifeq, opc_ifge, opc_ifgt, opc_ifle, opc_iflt, opc_ifne, opc_ifnonnull, opc_ifnull, opc_iinc, opc_iload, opc_iload_0, opc_iload_1, opc_iload_2, opc_iload_3, opc_imul, opc_ineg, opc_instanceof, opc_int2byte, opc_int2char, opc_int2short, opc_invokeinterface, opc_invokenonvirtual, opc_invokespecial, opc_invokestatic, opc_invokevirtual, opc_ior, opc_irem, opc_ireturn, opc_ishl, opc_ishr, opc_istore, opc_istore_0, opc_istore_1, opc_istore_2, opc_istore_3, opc_isub, opc_iushr, opc_ixor, opc_jsr, opc_jsr_w, opc_l2d, opc_l2f, opc_l2i, opc_label, opc_ladd, opc_laload, opc_land, opc_lastore, opc_lcmp, opc_lconst_0, opc_lconst_1, opc_ldc, opc_ldc_w, opc_ldc2_w, opc_ldiv, opc_lload, opc_lload_0, opc_lload_1, opc_lload_2, opc_lload_3, opc_lmul, opc_lneg, opc_lookupswitch, opc_lor, opc_lrem, opc_lreturn, opc_lshl, opc_lshr, opc_lstore, opc_lstore_0, opc_lstore_1, opc_lstore_2, opc_lstore_3, opc_lsub, opc_lushr, opc_lxor, opc_monitorenter, opc_monitorexit, opc_multianewarray, opc_new, opc_newarray, opc_nop, opc_pop, opc_pop2, opc_putfield, opc_putstatic, opc_ret, opc_return, opc_saload, opc_sastore, opc_sipush, opc_swap, opc_tableswitch, opc_try, opc_wide, opc_xxxunusedxxx, opcLengths, opcNames, T_BOOLEAN, T_BYTE, T_CHAR, T_CLASS, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT
 
Constructor Summary
ForeignReferenceClassGenerator()
           
ForeignReferenceClassGenerator(java.lang.String[] baseTypes, java.lang.String targetType)
           
ForeignReferenceClassGenerator(java.lang.String baseType, java.lang.String targetType)
           
ForeignReferenceClassGenerator(java.lang.String baseType, java.lang.String targetType, boolean make)
           
 
Method Summary
protected  boolean addDispatchCall(jas.CodeAttr code, java.lang.String methodName, java.lang.String signature, java.lang.String returnClass)
          Method that allows derived classes to change the way the generated methods actually invoke other methods to get things done, having gathered the arguments into an ArgList
 int addMethod(java.lang.reflect.Method m)
           
protected  int numLocalVariables(int numArgs)
          Overrides the method to add space for the return type and the signature and elements.
 
Methods inherited from class org.omegahat.Environment.GUITools.EvaluableInterfaceGenerator
addConstructor, addConstructors, addInterface, addTarget, addTarget, createArgumentList, createArgumentList, createArgumentList, createArgumentList, derivedClassName, getStackSize, init, interfaces, make, make, separator, superClassConstructors, superClassConstructors
 
Methods inherited from class org.omegahat.Environment.Compile.DynamicCompiler
accessorBody, accessorBody, addConstructor, addField, addField, addField, addField, addField, addField, addFieldAccessors, addFieldAccessors, addFieldAccessors, addInheritedConstructors, addReturn, addReturn, classDef, classDef, className, className, className, className, Debug, Debug, file, file, findClass, findClass, initClassDef, loadCode, mapPrimitive, packageName, packageName, primitiveLoadOp, primitiveToClass, returnPrimitive, returnPrimitive, superClassName, superClassName, warning, write, write, write, write, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ForeignReferenceClassGenerator

public ForeignReferenceClassGenerator()

ForeignReferenceClassGenerator

public ForeignReferenceClassGenerator(java.lang.String[] baseTypes,
                                      java.lang.String targetType)
                               throws java.lang.ClassNotFoundException

ForeignReferenceClassGenerator

public ForeignReferenceClassGenerator(java.lang.String baseType,
                                      java.lang.String targetType)
                               throws java.lang.ClassNotFoundException

ForeignReferenceClassGenerator

public ForeignReferenceClassGenerator(java.lang.String baseType,
                                      java.lang.String targetType,
                                      boolean make)
                               throws java.lang.ClassNotFoundException
Method Detail

numLocalVariables

protected int numLocalVariables(int numArgs)
Overrides the method to add space for the return type and the signature and elements.
Overrides:
numLocalVariables in class org.omegahat.Environment.GUITools.EvaluableInterfaceGenerator

addMethod

public int addMethod(java.lang.reflect.Method m)
Overrides:
addMethod in class org.omegahat.Environment.GUITools.EvaluableInterfaceGenerator

addDispatchCall

protected boolean addDispatchCall(jas.CodeAttr code,
                                  java.lang.String methodName,
                                  java.lang.String signature,
                                  java.lang.String returnClass)
                           throws jas.jasError
Method that allows derived classes to change the way the generated methods actually invoke other methods to get things done, having gathered the arguments into an ArgList
Overrides:
addDispatchCall in class org.omegahat.Environment.GUITools.EvaluableInterfaceGenerator