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.PrintWriter
stream
protected java.util.Hashtable
symbolTable
protected java.lang.String
typePackage
protected UnionEntry
u
protected boolean
unionIsEnum
protected SymtabEntry
utype
-
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.String
cast(Expression expr, SymtabEntry type)
protected void
closeStream()
private boolean
coversAll(UnionEntry u)
private java.lang.String
defaultDiscriminator(UnionEntry u)
void
generate(java.util.Hashtable symbolTable, UnionEntry u, java.io.PrintWriter s)
protected void
generateContainedTypes()
protected void
generateHelper()
protected void
generateHolder()
void
helperRead(java.lang.String entryName, SymtabEntry entry, java.io.PrintWriter stream)
int
helperType(int index, java.lang.String indent, TCOffsets tcoffsets, java.lang.String name, SymtabEntry entry, java.io.PrintWriter stream)
void
helperWrite(SymtabEntry entry, java.io.PrintWriter stream)
protected void
init()
Initialize members unique to this generator.protected void
openStream()
int
read(int index, java.lang.String indent, java.lang.String name, SymtabEntry entry, java.io.PrintWriter stream)
private int
readBoolean(java.lang.String disName, int index, java.lang.String indent, java.lang.String name, UnionEntry u, java.io.PrintWriter stream)
private int
readBranch(int index, java.lang.String indent, java.lang.String name, java.lang.String disName, TypedefEntry entry, java.io.PrintWriter stream)
private int
readNonBoolean(java.lang.String disName, int index, java.lang.String indent, java.lang.String name, UnionEntry u, java.io.PrintWriter stream)
private java.lang.String
safeName(UnionEntry u, java.lang.String name)
int
type(int index, java.lang.String indent, TCOffsets tcoffsets, java.lang.String name, SymtabEntry entry, java.io.PrintWriter stream)
private int
unionLabelSize(UnionEntry un)
private java.util.Vector
vectorizeLabels(java.util.Vector branchVector, boolean useIntsForEnums)
int
write(int index, java.lang.String indent, java.lang.String name, SymtabEntry entry, java.io.PrintWriter stream)
protected void
writeBody()
private int
writeBoolean(java.lang.String disName, int index, java.lang.String indent, java.lang.String name, UnionEntry u, java.io.PrintWriter stream)
private int
writeBranch(int index, java.lang.String indent, java.lang.String name, TypedefEntry entry, java.io.PrintWriter stream)
private void
writeBranchMethods(java.io.PrintWriter stream, UnionEntry u, UnionBranch branch, int i)
protected void
writeClosing()
protected void
writeHeading()
private int
writeNonBoolean(java.lang.String disName, int index, java.lang.String indent, java.lang.String name, UnionEntry u, java.io.PrintWriter stream)
private void
writeVerifyDefault()
-
-
-
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:
helperType
in 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:
type
in interfaceJavaGenerator
-
helperRead
public void helperRead(java.lang.String entryName, SymtabEntry entry, java.io.PrintWriter stream)
- Specified by:
helperRead
in interfaceJavaGenerator
-
helperWrite
public void helperWrite(SymtabEntry entry, java.io.PrintWriter stream)
- Specified by:
helperWrite
in interfaceJavaGenerator
-
read
public int read(int index, java.lang.String indent, java.lang.String name, SymtabEntry entry, java.io.PrintWriter stream)
- Specified by:
read
in 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:
write
in 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)
-
-