Class MethodGen
- java.lang.Object
-
- com.sun.tools.corba.ee.idl.toJavaPortable.MethodGen
-
- Direct Known Subclasses:
AttributeGen,MethodGen24
public class MethodGen extends java.lang.Object implements MethodGen
-
-
Field Summary
Fields Modifier and Type Field Description private static intATTRIBUTE_METHOD_PREFIX_LENGTHprivate static java.lang.StringFIVE_INDENTprivate static java.lang.StringFOUR_INDENTprotected booleanisAbstractprotected booleanlocalOptimizationprotected MethodEntrymprotected intmethodIndexprivate static java.lang.StringONE_INDENTprotected java.lang.StringrealNameprotected java.io.PrintWriterstreamprotected java.util.HashtablesymbolTableprivate static java.lang.StringTHREE_INDENTprivate static java.lang.StringTWO_INDENT
-
Constructor Summary
Constructors Constructor Description MethodGen()Public zero-argument constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddispatchSkeleton(java.util.Hashtable symbolTable, MethodEntry m, java.io.PrintWriter stream, int index)voidgenerate(java.util.Hashtable symbolTable, MethodEntry m, java.io.PrintWriter stream)Method generate() is not used in MethodGen.protected voidinterfaceMethod(java.util.Hashtable symbolTable, MethodEntry m, java.io.PrintWriter stream)protected booleanisValueInitializer()Determine whether method entry m is a valuetype initializer.protected voidlocalstub(java.util.Hashtable symbolTable, MethodEntry m, java.io.PrintWriter stream, int index, InterfaceEntry i)protected java.lang.StringpassType(int passType)protected voidserverMethodName(java.lang.String name)This is only used by AttributeGen.protected voidskeleton(java.util.Hashtable symbolTable, MethodEntry m, java.io.PrintWriter stream, int index)protected voidstub(java.lang.String className, boolean isAbstract, java.util.Hashtable symbolTable, MethodEntry m, java.io.PrintWriter stream, int index)protected voidwriteCreateReply(java.lang.String indent)protected voidwriteDispatchCall()private java.lang.StringwriteExtract(java.lang.String source, SymtabEntry type)private voidwriteExtract(java.lang.String indent, java.lang.String target, java.lang.String source, SymtabEntry type, java.io.PrintWriter stream)private java.lang.StringwriteInputStreamRead(java.lang.String source, SymtabEntry type)private voidwriteInsert(java.lang.String indent, java.lang.String target, java.lang.String source, SymtabEntry type, java.io.PrintWriter stream)protected voidwriteLocalStubBody(InterfaceEntry i)protected voidwriteMethodCall(java.lang.String indent)protected voidwriteMethodSignature()private voidwriteOutputStreamWrite(java.lang.String indent, java.lang.String oStream, java.lang.String name, SymtabEntry type, java.io.PrintWriter stream)protected voidwriteParmType(SymtabEntry parm, int passType)private voidwriteSkeletonBody()protected voidwriteStubBody(java.lang.String className)private voidwriteStubBodyForLocalInvocation(java.lang.String className, java.lang.String methodName)This method writes the else part of the stub method invocation to enable local invocation in case of collocation.private voidwriteType(java.lang.String indent, java.lang.String name, SymtabEntry type, java.io.PrintWriter stream)
-
-
-
Field Detail
-
ONE_INDENT
private static final java.lang.String ONE_INDENT
- See Also:
- Constant Field Values
-
TWO_INDENT
private static final java.lang.String TWO_INDENT
- See Also:
- Constant Field Values
-
THREE_INDENT
private static final java.lang.String THREE_INDENT
- See Also:
- Constant Field Values
-
FOUR_INDENT
private static final java.lang.String FOUR_INDENT
- See Also:
- Constant Field Values
-
FIVE_INDENT
private static final java.lang.String FIVE_INDENT
- See Also:
- Constant Field Values
-
ATTRIBUTE_METHOD_PREFIX_LENGTH
private static final int ATTRIBUTE_METHOD_PREFIX_LENGTH
- See Also:
- Constant Field Values
-
methodIndex
protected int methodIndex
-
realName
protected java.lang.String realName
-
symbolTable
protected java.util.Hashtable symbolTable
-
m
protected MethodEntry m
-
stream
protected java.io.PrintWriter stream
-
localOptimization
protected boolean localOptimization
-
isAbstract
protected boolean isAbstract
-
-
Method Detail
-
generate
public void generate(java.util.Hashtable symbolTable, MethodEntry m, java.io.PrintWriter stream)Method generate() is not used in MethodGen. They are replaced by the more granular interfaceMethod, stub, skeleton, dispatchSkeleton.
-
interfaceMethod
protected void interfaceMethod(java.util.Hashtable symbolTable, MethodEntry m, java.io.PrintWriter stream)
-
stub
protected void stub(java.lang.String className, boolean isAbstract, java.util.Hashtable symbolTable, MethodEntry m, java.io.PrintWriter stream, int index)
-
localstub
protected void localstub(java.util.Hashtable symbolTable, MethodEntry m, java.io.PrintWriter stream, int index, InterfaceEntry i)
-
skeleton
protected void skeleton(java.util.Hashtable symbolTable, MethodEntry m, java.io.PrintWriter stream, int index)
-
dispatchSkeleton
protected void dispatchSkeleton(java.util.Hashtable symbolTable, MethodEntry m, java.io.PrintWriter stream, int index)
-
isValueInitializer
protected boolean isValueInitializer()
Determine whether method entry m is a valuetype initializer.- Returns:
- true if is m is valuetype initializer, false otherwise.
-
writeMethodSignature
protected void writeMethodSignature()
-
writeParmType
protected void writeParmType(SymtabEntry parm, int passType)
-
writeDispatchCall
protected void writeDispatchCall()
-
writeStubBody
protected void writeStubBody(java.lang.String className)
-
writeStubBodyForLocalInvocation
private void writeStubBodyForLocalInvocation(java.lang.String className, java.lang.String methodName)This method writes the else part of the stub method invocation to enable local invocation in case of collocation. NOTE: This will only be invoked from writeStubBody.
-
writeLocalStubBody
protected void writeLocalStubBody(InterfaceEntry i)
-
writeInsert
private void writeInsert(java.lang.String indent, java.lang.String target, java.lang.String source, SymtabEntry type, java.io.PrintWriter stream)
-
writeType
private void writeType(java.lang.String indent, java.lang.String name, SymtabEntry type, java.io.PrintWriter stream)
-
writeExtract
private void writeExtract(java.lang.String indent, java.lang.String target, java.lang.String source, SymtabEntry type, java.io.PrintWriter stream)
-
writeExtract
private java.lang.String writeExtract(java.lang.String source, SymtabEntry type)
-
writeSkeletonBody
private void writeSkeletonBody()
-
passType
protected java.lang.String passType(int passType)
-
serverMethodName
protected void serverMethodName(java.lang.String name)
This is only used by AttributeGen. The java mapping says the names should be getXXX and setXXX, but CORBA says they should be _get_XXX and _set_XXX. this.name () will be getXXX. realName is set by AttributeGen to _get_XXX.
-
writeOutputStreamWrite
private void writeOutputStreamWrite(java.lang.String indent, java.lang.String oStream, java.lang.String name, SymtabEntry type, java.io.PrintWriter stream)
-
writeInputStreamRead
private java.lang.String writeInputStreamRead(java.lang.String source, SymtabEntry type)
-
writeMethodCall
protected void writeMethodCall(java.lang.String indent)
-
writeCreateReply
protected void writeCreateReply(java.lang.String indent)
-
-