public class StubGenerator extends Generator
Generator.OutputType| Modifier and Type | Field and Description |
|---|---|
protected boolean |
castArray |
protected Hashtable |
classesInUse |
protected String |
currentClass |
protected String |
currentPackage |
protected boolean |
emitPermissionCheck |
protected int |
importCount |
protected Hashtable |
imports |
protected boolean |
localStubs |
protected HashSet |
namesInUse |
protected boolean |
POATie |
protected boolean |
reverseIDs |
protected boolean |
standardPackage |
protected String |
stubBaseClass |
protected String |
tieBaseClass |
protected Hashtable |
transactionalObjects |
protected boolean |
useHash |
alwaysGenerate, contextStack, env, idlATTRIBUTE_GET, ATTRIBUTE_GET_RW, ATTRIBUTE_IS, ATTRIBUTE_IS_RW, ATTRIBUTE_NONE, ATTRIBUTE_SET, ATTRIBUTE_WIRE_PREFIX, ERROR_SUFFIX, EX_SUFFIX, EXCEPTION_SUFFIX, idApplicationException, idBadMethodException, idBoolean, idBoxedIDL, idBoxedRMI, idByte, idChar, idClassDesc, idCorbaObject, idCorbaORB, idCorbaUserException, idDelegate, idDouble, idExtInputStream, idExtOutputStream, idFloat, idIDLEntity, idInputStream, idInt, idJavaIoExternalizable, idJavaIoIOException, IDL_ANY, IDL_BOOLEAN, IDL_BOXEDIDL_MODULE, IDL_BYTE, IDL_CHAR, IDL_CLASS, IDL_CLASS_MODULE, IDL_CONSTANT_STRING, IDL_CONSTRUCTOR, IDL_CORBA_MODULE, IDL_CORBA_OBJECT, IDL_DOUBLE, IDL_EXTERNALIZABLE, IDL_FILE_EXTENSION, IDL_FLOAT, IDL_IDLENTITY, IDL_INT, IDL_JAVA_IO_MODULE, IDL_JAVA_LANG_MODULE, IDL_JAVA_LANG_OBJECT, IDL_JAVA_RMI_MODULE, IDL_JAVA_RMI_REMOTE, IDL_KEYWORDS, IDL_LONG, IDL_NAME_SEPARATOR, IDL_ORG_OMG_CORBA_MODULE, IDL_ORG_OMG_CORBA_PORTABLE_MODULE, IDL_REPOSITORY_ID_PREFIX, IDL_REPOSITORY_ID_VERSION, IDL_SEQUENCE, IDL_SEQUENCE_MODULE, IDL_SERIALIZABLE, IDL_SHORT, IDL_STRING, IDL_VOID, idLong, idOutputStream, idPOAServantType, idPortableUnknownException, idRemarshalException, idReplyHandler, idShort, idStubBase, idSystemException, idTieBase, idTieInterface, idValueBase, idVoid, INDENT_STEP, NAME_SEPARATOR, SERIAL_VERSION_UID, SOURCE_FILE_EXTENSION, STATUS_INVALID, STATUS_PENDING, STATUS_VALID, TAB_SIZE, TM_CLASS, TM_COMPOUND, TM_INNER, TM_INTERFACE, TM_MASK, TM_NON_CONFORMING, TM_PRIMITIVE, TM_SPECIAL_CLASS, TM_SPECIAL_INTERFACE, TYPE_ABSTRACT, TYPE_ALL, TYPE_ANY, TYPE_ARRAY, TYPE_BOOLEAN, TYPE_BYTE, TYPE_CHAR, TYPE_CORBA_OBJECT, TYPE_DOUBLE, TYPE_FLOAT, TYPE_IMPLEMENTATION, TYPE_INT, TYPE_JAVA_RMI_REMOTE, TYPE_LONG, TYPE_MASK, TYPE_NC_CLASS, TYPE_NC_INTERFACE, TYPE_NONE, TYPE_REMOTE, TYPE_SHORT, TYPE_STRING, TYPE_VALUE, TYPE_VOIDidRemote, idRemoteExceptionABSTRACT, ACCM_CLASS, ACCM_FIELD, ACCM_INNERCLASS, ACCM_MEMBER, ACCM_METHOD, ADD, AND, ARRAY, ARRAYACCESS, ASGADD, ASGBITAND, ASGBITOR, ASGBITXOR, ASGDIV, ASGLSHIFT, ASGMUL, ASGREM, ASGRSHIFT, ASGSUB, ASGURSHIFT, ASSIGN, ATT_ALL, ATT_ALLCLASSES, ATT_CODE, BITAND, BITNOT, BITOR, BITXOR, BOOLEAN, BOOLEANVAL, BREAK, BYTE, BYTEVAL, CASE, CAST, CATCH, CHAR, CHARVAL, CLASS, COLON, COMMA, COMMENT, COND, CONST, CONTINUE, CONVERT, CS_BINARY, CS_CHECKED, CS_COMPILED, CS_NOTFOUND, CS_PARSED, CS_SOURCE, CS_UNDECIDED, CS_UNDEFINED, CT_BLOCK, CT_BRANCH_FALSE, CT_BRANCH_TRUE, CT_CASE, CT_FIKT_METHOD, CT_FIKT_RET, CT_FIRST_KIND, CT_LAST_KIND, CT_METHOD, CT_SWITH_WO_DEF, DEC, DECLARATION, DEFAULT, DIV, DO, DOUBLE, DOUBLEVAL, ELSE, EQ, ERROR, EXPR, EXPRESSION, EXTENDS, F_COVDATA, F_COVERAGE, F_DEBUG_LINES, F_DEBUG_SOURCE, F_DEBUG_VARS, F_DEPENDENCIES, F_DEPRECATION, F_DUMP, F_ERRORSREPORTED, F_OPT, F_OPT_INTERCLASS, F_PRINT_DEPENDENCIES, F_STRICTDEFAULT, F_VERBOSE, F_VERSION12, F_WARNINGS, FALSE, FIELD, FINAL, FINALLY, FLOAT, FLOATVAL, FOR, GE, GOTO, GT, idAppend, idClass, idClassInit, idClone, idCode, idConstantValue, idCoverageTable, idDeprecated, idDocumentation, IDENT, idExceptions, idFinallyReturnValue, idGetClass, idInit, idInnerClasses, idJavaIoSerializable, idJavaLang, idJavaLangClass, idJavaLangCloneable, idJavaLangError, idJavaLangException, idJavaLangObject, idJavaLangRuntimeException, idJavaLangString, idJavaLangStringBuffer, idJavaLangThrowable, idLength, idLineNumberTable, idLocalVariableTable, idNew, idNull, idSourceFile, idStar, idSuper, idSynthetic, idThis, idToString, idTYPE, idValueOf, IF, IMPLEMENTS, IMPORT, INC, INLINEMETHOD, INLINENEWINSTANCE, INLINERETURN, INSTANCEOF, INT, INTERFACE, INTVAL, LBRACE, LE, LENGTH, LONG, LONGVAL, LPAREN, LSHIFT, LSQBRACKET, LT, M_ABSTRACT, M_ANONYMOUS, M_DEPRECATED, M_FINAL, M_INLINEABLE, M_INTERFACE, M_LOCAL, M_NATIVE, M_PRIVATE, M_PROTECTED, M_PUBLIC, M_STATIC, M_STRICTFP, M_SYNCHRONIZED, M_SYNTHETIC, M_TRANSIENT, M_VOLATILE, MAXFILESIZE, MAXLINENUMBER, METHOD, MM_CLASS, MM_FIELD, MM_MEMBER, MM_METHOD, MUL, NATIVE, NE, NEG, NEW, NEWARRAY, NEWFROMNAME, NEWINSTANCE, NOT, NULL, opNames, opPrecedence, OR, PACKAGE, paraDeprecated, POS, POSTDEC, POSTINC, PREDEC, prefixAccess, prefixArray, prefixClass, prefixLoc, prefixThis, prefixVal, PREINC, PRIVATE, PROTECTED, PUBLIC, QUESTIONMARK, RBRACE, REM, RETURN, RPAREN, RSHIFT, RSQBRACKET, SEMICOLON, SHORT, SHORTVAL, SIG_INNERCLASS, SIGC_INNERCLASS, STAT, STATIC, STRICTFP, STRINGVAL, SUB, SUPER, SWITCH, SYNCHRONIZED, TC_ARRAY, TC_BOOLEAN, TC_BYTE, TC_CHAR, TC_CLASS, TC_DOUBLE, TC_ERROR, TC_FLOAT, TC_INT, TC_LONG, TC_METHOD, TC_NULL, TC_SHORT, TC_VOID, THIS, THROW, THROWS, TM_ARRAY, TM_BOOLEAN, TM_BYTE, TM_CHAR, TM_DOUBLE, TM_ERROR, TM_FLOAT, TM_INT, TM_INT32, TM_INTEGER, TM_LONG, TM_METHOD, TM_NULL, TM_NUM32, TM_NUM64, TM_NUMBER, TM_REAL, TM_REFERENCE, TM_SHORT, TM_VOID, tracing, TRANSIENT, TRUE, TRY, TYPE, URSHIFT, VARDECLARATION, VOID, VOLATILE, WHEREOFFSETBITS, WHILEACC_ABSTRACT, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_TRANSIENT, ACC_VOLATILE, CONSTANT_CLASS, CONSTANT_DOUBLE, CONSTANT_FIELD, CONSTANT_FLOAT, CONSTANT_INTEGER, CONSTANT_INTERFACEMETHOD, CONSTANT_INVOKEDYNAMIC, CONSTANT_LONG, CONSTANT_METHOD, CONSTANT_METHODHANDLE, CONSTANT_METHODTYPE, CONSTANT_NAMEANDTYPE, CONSTANT_STRING, CONSTANT_UNICODE, CONSTANT_UTF8, JAVA_DEFAULT_MINOR_VERSION, JAVA_DEFAULT_VERSION, JAVA_MAGIC, JAVA_MAX_SUPPORTED_MINOR_VERSION, JAVA_MAX_SUPPORTED_VERSION, JAVA_MIN_SUPPORTED_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_invokedynamic, opc_invokeinterface, 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, opcLengths, opcNames, SIG_ARRAY, SIG_BOOLEAN, SIG_BYTE, SIG_CHAR, SIG_CLASS, SIG_DOUBLE, SIG_ENDCLASS, SIG_ENDMETHOD, SIG_FLOAT, SIG_INT, SIG_LONG, SIG_METHOD, SIG_PACKAGE, SIG_SHORT, SIG_VOID, SIGC_ARRAY, SIGC_BOOLEAN, SIGC_BYTE, SIGC_CHAR, SIGC_CLASS, SIGC_DOUBLE, SIGC_ENDCLASS, SIGC_ENDMETHOD, SIGC_FLOAT, SIGC_INT, SIGC_LONG, SIGC_METHOD, SIGC_PACKAGE, SIGC_SHORT, SIGC_VOID, T_BOOLEAN, T_BYTE, T_CHAR, T_CLASS, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT| Constructor and Description |
|---|
StubGenerator()
Default constructor for Main to use.
|
| Modifier and Type | Method and Description |
|---|---|
void |
catchObjectNotActive(IndentingWriter p) |
void |
catchServantNotActive(IndentingWriter p) |
void |
catchWrongPolicy(IndentingWriter p) |
void |
generate(BatchEnvironment env,
ClassDefinition cdef,
File destDir)
Overridden in order to set the standardPackage flag.
|
protected String |
getFileNameExtensionFor(Generator.OutputType outputType)
Return the file name extension for the given file name (e.g.
|
protected Generator.OutputType[] |
getOutputTypesFor(CompoundType topType,
HashSet alreadyChecked)
Return an array containing all the file names and types that need to be
generated for the given top-level type.
|
protected CompoundType |
getTopType(ClassDefinition cdef,
ContextStack stack)
Create and return a top-level type.
|
boolean |
parseArgs(String[] argv,
Main main)
Examine and consume command line arguments.
|
protected boolean |
parseNonConforming(ContextStack stack)
Return true if non-conforming types should be parsed.
|
protected boolean |
requireNewInstance()
Return true if a new instance should be created for each
class on the command line.
|
void |
write_tie__ids_method(IndentingWriter p) |
void |
write_tie_deactivate_method(IndentingWriter p) |
void |
write_tie_orb_method(IndentingWriter p) |
void |
write_tie_thisObject_method(IndentingWriter p,
Identifier idCorbaObject) |
protected void |
writeOutputFor(Generator.OutputType outputType,
HashSet alreadyChecked,
IndentingWriter writer)
Write the output for the given OutputFileName into the output stream.
|
protected void |
writeStub(Generator.OutputType outputType,
IndentingWriter p)
Write a stub for the specified type.
|
protected void |
writeTie(Generator.OutputType outputType,
IndentingWriter p)
Write the Tie for the remote class to a stream.
|
compileJavaSourceFile, generateOutputFiles, getFileFor, getOutputId, newInstance, requiresGenerationprotected boolean reverseIDs
protected boolean localStubs
protected boolean standardPackage
protected boolean useHash
protected String stubBaseClass
protected String tieBaseClass
protected HashSet namesInUse
protected Hashtable classesInUse
protected Hashtable imports
protected int importCount
protected String currentPackage
protected String currentClass
protected boolean castArray
protected Hashtable transactionalObjects
protected boolean POATie
protected boolean emitPermissionCheck
public void generate(BatchEnvironment env, ClassDefinition cdef, File destDir)
generate in interface Generatorgenerate in class Generatorenv - The compiler environmentcdef - The definition for the implementation class or interface from
which to generate outputdestDir - The directory for the root of the package hierarchy
for generated files. May be null.protected boolean requireNewInstance()
requireNewInstance in class Generatorprotected boolean parseNonConforming(ContextStack stack)
parseNonConforming in class Generatorstack - The context stack.protected CompoundType getTopType(ClassDefinition cdef, ContextStack stack)
getTopType in class Generatorcdef - The top-level class definition.stack - The context stack.public boolean parseArgs(String[] argv, Main main)
parseArgs in interface GeneratorparseArgs in class Generatorargv - The command line arguments. Ignore null
and unknown arguments. Set each consumed argument to null.main - Report any errors using the main.error() methods.protected Generator.OutputType[] getOutputTypesFor(CompoundType topType, HashSet alreadyChecked)
getOutputTypesFor in class GeneratortopType - The type returned by getTopType().alreadyChecked - A set of Types which have already been checked.
Intended to be passed to topType.collectMatching(filter,alreadyChecked).protected String getFileNameExtensionFor(Generator.OutputType outputType)
getFileNameExtensionFor in class GeneratoroutputType - One of the items returned by getOutputTypesFor(...)protected void writeOutputFor(Generator.OutputType outputType, HashSet alreadyChecked, IndentingWriter writer) throws IOException
writeOutputFor in class GeneratoroutputType - One of the items returned by getOutputTypesFor(...)alreadyChecked - A set of Types which have already been checked.
Intended to be passed to Type.collectMatching(filter,alreadyChecked).writer - The output stream.IOExceptionprotected void writeStub(Generator.OutputType outputType, IndentingWriter p) throws IOException
IOExceptionprotected void writeTie(Generator.OutputType outputType, IndentingWriter p) throws IOException
IOExceptionpublic void catchWrongPolicy(IndentingWriter p) throws IOException
IOExceptionpublic void catchServantNotActive(IndentingWriter p) throws IOException
IOExceptionpublic void catchObjectNotActive(IndentingWriter p) throws IOException
IOExceptionpublic void write_tie_thisObject_method(IndentingWriter p, Identifier idCorbaObject) throws IOException
IOExceptionpublic void write_tie_deactivate_method(IndentingWriter p) throws IOException
IOExceptionpublic void write_tie_orb_method(IndentingWriter p) throws IOException
IOExceptionpublic void write_tie__ids_method(IndentingWriter p) throws IOException
IOExceptionCopyright © 2017. All Rights Reserved.