coins.alias
Class AliasFactory

java.lang.Object
  extended bycoins.alias.AliasFactory

class AliasFactory
extends java.lang.Object

Factory class.


Field Summary
 HirRoot hirRoot
          The HirRoot object shared by every module in the program.
 
Constructor Summary
(package private) AliasFactory(HirRoot pHirRoot)
          Creates a new instance of the factory class.
 
Method Summary
(package private)  AliasGroup aliasGroup()
          Creates a new instance of AliasGroup with the default initial capacity and default load factor, which is 0.75.
(package private)  Tag mallocTag(HIR pmallocInvocationNode)
          Creates a new instance of Tag that corresponds to the area allocated by the specified malloc invocation node.
(package private)  MyExpId myExpId(HIR pHIR)
          Creates a new instance of MyExpId.
(package private)  MyExpIdAssigner myExpIdAssigner(SubpDefinition pSubpDef)
          Creates a new instance of MyExpIdAssigner that assigns MyExpIds to the nodes contained in the specified SubpDefinition object.
(package private)  Tag otherTag()
          Creates a new instance of Tag that correponds to the Tag.STO_OTHER storage class.
(package private)  Tag tag(MyExpId pMyExpId, boolean pIsAnchored, int pKind, int pStorageClass)
          Creates a new instance of Tag that corresponds to the specified MyExpId object.
(package private)  TagTreeBuilder tagTreeBuilder(SubpDefinition pSubpDef, MyExpId[] pMyExpIds, boolean pIsOptimistic)
          Creates a new instance of TagTreeBuilder that assigns Tags to the MyExpId objects in the specified argument (pMyExpIds) and builds the tree relation between those Tags.
(package private)  TagVector tagVector(int pBitCount)
          Creates a new instance of TagVector with the specified length.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

hirRoot

public final HirRoot hirRoot
The HirRoot object shared by every module in the program.

Constructor Detail

AliasFactory

AliasFactory(HirRoot pHirRoot)
Creates a new instance of the factory class.

Parameters:
pHirRoot - HirRoot object shared by every module in the program.
Method Detail

myExpId

MyExpId myExpId(HIR pHIR)
Creates a new instance of MyExpId.

Parameters:
pHIR - HIR node the generated MyExpId object corresponds to.
Returns:
new instance of MyExpId that correpsonds to the specified arguement.

otherTag

Tag otherTag()
Creates a new instance of Tag that correponds to the Tag.STO_OTHER storage class.

Returns:
a new instance of Tag that corresponds to the Tag.STO_OTHER storage class.
See Also:
Tag

tag

Tag tag(MyExpId pMyExpId,
        boolean pIsAnchored,
        int pKind,
        int pStorageClass)
Creates a new instance of Tag that corresponds to the specified MyExpId object.

Parameters:
pMyExpId - MyExpId object the generated Tag corresponds to.
pIsAnchored - specifies whether the generated Tag is anchored (corresponds to some limited area in current frame/static area).
pKind - kind of the generated tag.
pStorageClass - storage class of the generated tag.
Returns:
new instance of Tag with the attributes specified by the arguments.
See Also:
Tag

mallocTag

Tag mallocTag(HIR pmallocInvocationNode)
Creates a new instance of Tag that corresponds to the area allocated by the specified malloc invocation node.

Parameters:
pmallocInvocationNode - malloc invocation node the generated tag corresponds to.
Returns:
new instance of Tag that corresponds to the specified malloc invocation.

myExpIdAssigner

MyExpIdAssigner myExpIdAssigner(SubpDefinition pSubpDef)
Creates a new instance of MyExpIdAssigner that assigns MyExpIds to the nodes contained in the specified SubpDefinition object.

Parameters:
pSubpDef - SubpDefinition object the generated MyExpIdAssigner object is resposible for.
Returns:
new instance of MyExpIdAssigner that is responsible for the specified argument.

tagTreeBuilder

TagTreeBuilder tagTreeBuilder(SubpDefinition pSubpDef,
                              MyExpId[] pMyExpIds,
                              boolean pIsOptimistic)
Creates a new instance of TagTreeBuilder that assigns Tags to the MyExpId objects in the specified argument (pMyExpIds) and builds the tree relation between those Tags.

Parameters:
pSubpDef - SubpDefinition object the generated TagTreeBuilder object is responsible for.
pMyExpIds - array of MyExpId objects where the index of the array corresponds to the index of the HIR node each MyExpId object corresponds to.
pIsOptimistic - determines the set of assumptions about aliasing.
Returns:
new instance of TagTreeBuilder.
See Also:
AliasAnalHir1.AliasAnalHir1(boolean, HirRoot)

tagVector

TagVector tagVector(int pBitCount)
Creates a new instance of TagVector with the specified length.

Parameters:
pBitCount - length of the TagVector.
Returns:
new instance of TagVector with the specified length.

aliasGroup

AliasGroup aliasGroup()
Creates a new instance of AliasGroup with the default initial capacity and default load factor, which is 0.75.

Returns:
new instance of AliasGroup.
See Also:
HashSet.HashSet()