Package com.sun.tools.corba.ee.idl
Class UnionEntry
- java.lang.Object
-
- com.sun.tools.corba.ee.idl.SymtabEntry
-
- com.sun.tools.corba.ee.idl.UnionEntry
-
public class UnionEntry extends SymtabEntry
This is the symbol table entry for unions.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Vector<UnionBranch>
_branches
A vector of UnionBranch's.private java.util.Vector<SymtabEntry>
_contained
private TypedefEntry
_defaultBranch
(package private) static UnionGen
unionGen
-
Fields inherited from class com.sun.tools.corba.ee.idl.SymtabEntry
includeStack, maxKey, setEmit
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
UnionEntry()
protected
UnionEntry(SymtabEntry that, IDLID clone)
protected
UnionEntry(UnionEntry that)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
addBranch(UnionBranch branch)
void
addContained(SymtabEntry entry)
java.util.Vector<UnionBranch>
branches()
This is a vector of UnionBranch's.java.lang.Object
clone()
This is a shallow copy clonejava.util.Vector<SymtabEntry>
contained()
This is a vector ofSymtabEntry
s.TypedefEntry
defaultBranch()
This TypedefEntry describes the type and name for the default branch.void
defaultBranch(TypedefEntry branch)
This TypedefEntry describes the type and name for the default branch.void
generate(java.util.Hashtable symbolTable, java.io.PrintWriter stream)
Invoke the union generator.Generator
generator()
Access the union generator.(package private) boolean
has(Expression label)
(package private) boolean
has(TypedefEntry typedef)
-
Methods inherited from class com.sun.tools.corba.ee.idl.SymtabEntry
comment, comment, container, container, dynamicVariable, dynamicVariable, emit, emit, enteringInclude, exitingInclude, fullName, getVariableKey, growVars, initDynamicVars, isReferencable, isReferencable, module, module, name, name, repositoryID, repositoryID, sourceFile, sourceFile, type, type, typeName, typeName
-
-
-
-
Field Detail
-
_branches
private java.util.Vector<UnionBranch> _branches
A vector of UnionBranch's.
-
_defaultBranch
private TypedefEntry _defaultBranch
-
_contained
private java.util.Vector<SymtabEntry> _contained
-
unionGen
static UnionGen unionGen
-
-
Constructor Detail
-
UnionEntry
protected UnionEntry()
-
UnionEntry
protected UnionEntry(UnionEntry that)
-
UnionEntry
protected UnionEntry(SymtabEntry that, IDLID clone)
-
-
Method Detail
-
clone
public java.lang.Object clone()
Description copied from class:SymtabEntry
This is a shallow copy clone- Overrides:
clone
in classSymtabEntry
-
generate
public void generate(java.util.Hashtable symbolTable, java.io.PrintWriter stream)
Invoke the union generator.- Overrides:
generate
in classSymtabEntry
- Parameters:
symbolTable
- the symbol table is a hash table whose key is a fully qualified type name and whose value is a SymtabEntry or a subclass of SymtabEntry.stream
- the stream to which the generator should sent its output.- See Also:
SymtabEntry
-
generator
public Generator generator()
Access the union generator.- Overrides:
generator
in classSymtabEntry
- Returns:
- an object which implements the UnionGen interface.
- See Also:
UnionGen
-
addBranch
void addBranch(UnionBranch branch)
-
branches
public java.util.Vector<UnionBranch> branches()
This is a vector of UnionBranch's.- Returns:
- a
Vector
ofUnionBranch
-
defaultBranch
public void defaultBranch(TypedefEntry branch)
This TypedefEntry describes the type and name for the default branch. Like the entries in the branches vector, only the type and name fields are pertinent.- Parameters:
branch
- theTypedefEntry
for the default
-
defaultBranch
public TypedefEntry defaultBranch()
This TypedefEntry describes the type and name for the default branch. Like the entries in the branches vector, only the type and name fields are pertinent.- Returns:
TypedefEntry
for the default
-
addContained
public void addContained(SymtabEntry entry)
-
contained
public java.util.Vector<SymtabEntry> contained()
This is a vector ofSymtabEntry
s. It itemizes any types which this union contains. For example:union A switch (long) { case 0: long x; case 1: Struct B { long a; long b; } y; }
Struct B is contained within union A.- Returns:
- a Vector of
SymtabEntry
s contained within
-
has
boolean has(Expression label)
-
has
boolean has(TypedefEntry typedef)
-
-