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 int
ATTRIBUTE_METHOD_PREFIX_LENGTH
private static java.lang.String
FIVE_INDENT
private static java.lang.String
FOUR_INDENT
protected boolean
isAbstract
protected boolean
localOptimization
protected MethodEntry
m
protected int
methodIndex
private static java.lang.String
ONE_INDENT
protected java.lang.String
realName
protected java.io.PrintWriter
stream
protected java.util.Hashtable
symbolTable
private static java.lang.String
THREE_INDENT
private static java.lang.String
TWO_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 void
dispatchSkeleton(java.util.Hashtable symbolTable, MethodEntry m, java.io.PrintWriter stream, int index)
void
generate(java.util.Hashtable symbolTable, MethodEntry m, java.io.PrintWriter stream)
Method generate() is not used in MethodGen.protected void
interfaceMethod(java.util.Hashtable symbolTable, MethodEntry m, java.io.PrintWriter stream)
protected boolean
isValueInitializer()
Determine whether method entry m is a valuetype initializer.protected void
localstub(java.util.Hashtable symbolTable, MethodEntry m, java.io.PrintWriter stream, int index, InterfaceEntry i)
protected java.lang.String
passType(int passType)
protected void
serverMethodName(java.lang.String name)
This is only used by AttributeGen.protected void
skeleton(java.util.Hashtable symbolTable, MethodEntry m, java.io.PrintWriter stream, int index)
protected void
stub(java.lang.String className, boolean isAbstract, java.util.Hashtable symbolTable, MethodEntry m, java.io.PrintWriter stream, int index)
protected void
writeCreateReply(java.lang.String indent)
protected void
writeDispatchCall()
private java.lang.String
writeExtract(java.lang.String source, SymtabEntry type)
private void
writeExtract(java.lang.String indent, java.lang.String target, java.lang.String source, SymtabEntry type, java.io.PrintWriter stream)
private java.lang.String
writeInputStreamRead(java.lang.String source, SymtabEntry type)
private void
writeInsert(java.lang.String indent, java.lang.String target, java.lang.String source, SymtabEntry type, java.io.PrintWriter stream)
protected void
writeLocalStubBody(InterfaceEntry i)
protected void
writeMethodCall(java.lang.String indent)
protected void
writeMethodSignature()
private void
writeOutputStreamWrite(java.lang.String indent, java.lang.String oStream, java.lang.String name, SymtabEntry type, java.io.PrintWriter stream)
protected void
writeParmType(SymtabEntry parm, int passType)
private void
writeSkeletonBody()
protected void
writeStubBody(java.lang.String className)
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.private void
writeType(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)
-
-