Class UnionGen
- java.lang.Object
-
- com.sun.tools.corba.ee.idl.toJavaPortable.UnionGen
-
- All Implemented Interfaces:
Generator,JavaGenerator,UnionGen
public class UnionGen extends java.lang.Object implements UnionGen, JavaGenerator
-
-
Field Summary
Fields Modifier and Type Field Description protected java.io.PrintWriterstreamprotected java.util.HashtablesymbolTableprotected java.lang.StringtypePackageprotected UnionEntryuprotected booleanunionIsEnumprotected SymtabEntryutype
-
Constructor Summary
Constructors Constructor Description UnionGen()Public zero-argument constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.Stringcast(Expression expr, SymtabEntry type)protected voidcloseStream()private booleancoversAll(UnionEntry u)private java.lang.StringdefaultDiscriminator(UnionEntry u)voidgenerate(java.util.Hashtable symbolTable, UnionEntry u, java.io.PrintWriter s)protected voidgenerateContainedTypes()protected voidgenerateHelper()protected voidgenerateHolder()voidhelperRead(java.lang.String entryName, SymtabEntry entry, java.io.PrintWriter stream)inthelperType(int index, java.lang.String indent, TCOffsets tcoffsets, java.lang.String name, SymtabEntry entry, java.io.PrintWriter stream)voidhelperWrite(SymtabEntry entry, java.io.PrintWriter stream)protected voidinit()Initialize members unique to this generator.protected voidopenStream()intread(int index, java.lang.String indent, java.lang.String name, SymtabEntry entry, java.io.PrintWriter stream)private intreadBoolean(java.lang.String disName, int index, java.lang.String indent, java.lang.String name, UnionEntry u, java.io.PrintWriter stream)private intreadBranch(int index, java.lang.String indent, java.lang.String name, java.lang.String disName, TypedefEntry entry, java.io.PrintWriter stream)private intreadNonBoolean(java.lang.String disName, int index, java.lang.String indent, java.lang.String name, UnionEntry u, java.io.PrintWriter stream)private java.lang.StringsafeName(UnionEntry u, java.lang.String name)inttype(int index, java.lang.String indent, TCOffsets tcoffsets, java.lang.String name, SymtabEntry entry, java.io.PrintWriter stream)private intunionLabelSize(UnionEntry un)private java.util.VectorvectorizeLabels(java.util.Vector branchVector, boolean useIntsForEnums)intwrite(int index, java.lang.String indent, java.lang.String name, SymtabEntry entry, java.io.PrintWriter stream)protected voidwriteBody()private intwriteBoolean(java.lang.String disName, int index, java.lang.String indent, java.lang.String name, UnionEntry u, java.io.PrintWriter stream)private intwriteBranch(int index, java.lang.String indent, java.lang.String name, TypedefEntry entry, java.io.PrintWriter stream)private voidwriteBranchMethods(java.io.PrintWriter stream, UnionEntry u, UnionBranch branch, int i)protected voidwriteClosing()protected voidwriteHeading()private intwriteNonBoolean(java.lang.String disName, int index, java.lang.String indent, java.lang.String name, UnionEntry u, java.io.PrintWriter stream)private voidwriteVerifyDefault()
-
-
-
Field Detail
-
symbolTable
protected java.util.Hashtable symbolTable
-
u
protected UnionEntry u
-
stream
protected java.io.PrintWriter stream
-
utype
protected SymtabEntry utype
-
unionIsEnum
protected boolean unionIsEnum
-
typePackage
protected java.lang.String typePackage
-
-
Method Detail
-
generate
public void generate(java.util.Hashtable symbolTable, UnionEntry u, java.io.PrintWriter s)
-
init
protected void init()
Initialize members unique to this generator.
-
openStream
protected void openStream()
-
generateHelper
protected void generateHelper()
-
generateHolder
protected void generateHolder()
-
writeHeading
protected void writeHeading()
-
writeBody
protected void writeBody()
-
writeClosing
protected void writeClosing()
-
closeStream
protected void closeStream()
-
generateContainedTypes
protected void generateContainedTypes()
-
writeVerifyDefault
private void writeVerifyDefault()
-
defaultDiscriminator
private java.lang.String defaultDiscriminator(UnionEntry u)
-
vectorizeLabels
private java.util.Vector vectorizeLabels(java.util.Vector branchVector, boolean useIntsForEnums)
-
safeName
private java.lang.String safeName(UnionEntry u, java.lang.String name)
-
coversAll
private boolean coversAll(UnionEntry u)
-
writeBranchMethods
private void writeBranchMethods(java.io.PrintWriter stream, UnionEntry u, UnionBranch branch, int i)
-
unionLabelSize
private int unionLabelSize(UnionEntry un)
-
helperType
public int helperType(int index, java.lang.String indent, TCOffsets tcoffsets, java.lang.String name, SymtabEntry entry, java.io.PrintWriter stream)- Specified by:
helperTypein interfaceJavaGenerator
-
type
public int type(int index, java.lang.String indent, TCOffsets tcoffsets, java.lang.String name, SymtabEntry entry, java.io.PrintWriter stream)- Specified by:
typein interfaceJavaGenerator
-
helperRead
public void helperRead(java.lang.String entryName, SymtabEntry entry, java.io.PrintWriter stream)- Specified by:
helperReadin interfaceJavaGenerator
-
helperWrite
public void helperWrite(SymtabEntry entry, java.io.PrintWriter stream)
- Specified by:
helperWritein interfaceJavaGenerator
-
read
public int read(int index, java.lang.String indent, java.lang.String name, SymtabEntry entry, java.io.PrintWriter stream)- Specified by:
readin interfaceJavaGenerator
-
readBoolean
private int readBoolean(java.lang.String disName, int index, java.lang.String indent, java.lang.String name, UnionEntry u, java.io.PrintWriter stream)
-
readNonBoolean
private int readNonBoolean(java.lang.String disName, int index, java.lang.String indent, java.lang.String name, UnionEntry u, java.io.PrintWriter stream)
-
readBranch
private int readBranch(int index, java.lang.String indent, java.lang.String name, java.lang.String disName, TypedefEntry entry, java.io.PrintWriter stream)
-
write
public int write(int index, java.lang.String indent, java.lang.String name, SymtabEntry entry, java.io.PrintWriter stream)- Specified by:
writein interfaceJavaGenerator
-
writeBoolean
private int writeBoolean(java.lang.String disName, int index, java.lang.String indent, java.lang.String name, UnionEntry u, java.io.PrintWriter stream)
-
writeNonBoolean
private int writeNonBoolean(java.lang.String disName, int index, java.lang.String indent, java.lang.String name, UnionEntry u, java.io.PrintWriter stream)
-
writeBranch
private int writeBranch(int index, java.lang.String indent, java.lang.String name, TypedefEntry entry, java.io.PrintWriter stream)
-
cast
private java.lang.String cast(Expression expr, SymtabEntry type)
-
-