gov.llnl.babel.symbols

Class Package

Implemented Interfaces:
Comparable, Attributes, Comparable, IMetadata

public class Package
extends Symbol

The Package class describes a sidl package naming scope. Along with the standard sidl identifier, metadata, and comment, it contains a list of included symbols and their symbol type.

Field Summary

Fields inherited from class gov.llnl.babel.symbols.Symbol

CLASS, ENUM, INTERFACE, PACKAGE, SCOPE, STRUCT, d_context, s_type

Fields inherited from class gov.llnl.babel.symbols.SymbolID

SCOPE

Fields inherited from class gov.llnl.babel.symbols.ASTNode

d_frozen

Constructor Summary

Package(SymbolID id, Comment comment, Context context)
Create a new Package with the specified symbol identifier and comment.
Package(SymbolID id, Comment comment, Metadata metadata, Context context)
Create a new Package with the specified symbol identifier, comment, and metadata.

Method Summary

void
addSymbol(SymbolID id, int type)
Add a symbol to the list of local references for this package.
void
freeze()
Set
getAllSymbolReferences()
Set
getBasicArrayRefs()
Return an empty set.
boolean
getFinal()
Return true if and only if a package is final.
Collection
getOrderedSymbolReferences()
Return the symbols referenced by this package in an ordered Collection of objects.
String
getScopedName(String name)
Convert the specified short name into a fully qualified name within this package scope.
Set
getSymbolReferences()
Return the symbols referenced by this package as a Set of objects.
Map
getSymbols()
Return the set of symbols referenced by this package.
void
setFinal(boolean isFinal)

Methods inherited from class gov.llnl.babel.symbols.Symbol

addMetadata, freeze, getAllSymbolReferences, getAttribute, getAttributes, getBasicArrayRefs, getComment, getDepth, getMetadata, getSymbolID, getSymbolReferences, getSymbolType, getSymbolTypeString, getUserSpecified, hasAttribute, isClass, isInterface, isPackage, isStruct, minimumDepth, removeAttribute, setAttribute, setAttribute, setComment, setUserSpecified

Methods inherited from class gov.llnl.babel.symbols.SymbolID

compareTo, equals, fromXML, getFullName, getShortName, getShortName, getSymbolName, getVersion, hashCode, setFromXML

Methods inherited from class gov.llnl.babel.symbols.ASTNode

checkFrozen, clone, freeze, protectCollection, protectList, protectMap, protectSet

Constructor Details

Package

public Package(SymbolID id,
               Comment comment,
               Context context)
Create a new Package with the specified symbol identifier and comment.

Package

public Package(SymbolID id,
               Comment comment,
               Metadata metadata,
               Context context)
Create a new Package with the specified symbol identifier, comment, and metadata.

Method Details

addSymbol

public void addSymbol(SymbolID id,
                      int type)
Add a symbol to the list of local references for this package. Note that a single symbol may be added multiple times to the hash table. The version of the symbol added to this package will be the same version as the package itself. The argument must be a fully qualified name.

freeze

public void freeze()
Overrides:
freeze in interface Symbol

getAllSymbolReferences

public Set getAllSymbolReferences()
Overrides:
getAllSymbolReferences in interface Symbol

getBasicArrayRefs

public Set getBasicArrayRefs()
Return an empty set.
Overrides:
getBasicArrayRefs in interface Symbol

getFinal

public boolean getFinal()
Return true if and only if a package is final. If a package is final, it is non-reentrant; a non-final package is reentrant.

getOrderedSymbolReferences

public Collection getOrderedSymbolReferences()
Return the symbols referenced by this package in an ordered Collection of objects.

getScopedName

public String getScopedName(String name)
Convert the specified short name into a fully qualified name within this package scope.

getSymbolReferences

public Set getSymbolReferences()
Return the symbols referenced by this package as a Set of objects.
Overrides:
getSymbolReferences in interface Symbol

getSymbols

public Map getSymbols()
Return the set of symbols referenced by this package. The key in the Map is a SymbolID and the value is its type in integer form as defined in Symbol.

setFinal

public void setFinal(boolean isFinal)