frysk.debuginfo
Class TypeFactory

java.lang.Object
  extended by frysk.debuginfo.TypeFactory

public class TypeFactory
extends Object


Field Summary
private  ByteOrder byteorder
           
private  HashMap dieHash
           
protected static Log fine
           
protected static Log finest
           
 
Constructor Summary
TypeFactory(ISA isa)
           
 
Method Summary
private  void addMembers(DwarfDie classDie, CompositeType classType)
           
private  void dumpDie(String s, DwarfDie die)
           
 ArrayType getArrayType(DwarfDie dieType, DwarfDie subrange)
           
private  int getByteSize(DwarfDie die)
           
 ClassType getClassType(DwarfDie classDie, String name)
           
 CompositeType getGccStructOrClassType(DwarfDie classDie, String name)
           
 InterfaceType getInterfaceType(DwarfDie classDie, String name)
           
 Value getSubprogramValue(DwarfDie varDie)
           
 Type getType(DwarfDie typeDie)
           
 UnionType getUnionType(DwarfDie classDie, String name)
           
private  boolean hasArtificialParameter(DwarfDie die)
          Return true of the given die represents a subprogram or inlined subroutine
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fine

protected static Log fine

finest

protected static Log finest

byteorder

private final ByteOrder byteorder

dieHash

private final HashMap dieHash
Constructor Detail

TypeFactory

public TypeFactory(ISA isa)
Method Detail

getByteSize

private int getByteSize(DwarfDie die)

dumpDie

private void dumpDie(String s,
                     DwarfDie die)

getArrayType

public ArrayType getArrayType(DwarfDie dieType,
                              DwarfDie subrange)
Parameters:
dieType - An array die
subrange - Die for the array's first index
Returns:
ArrayType for the array

addMembers

private void addMembers(DwarfDie classDie,
                        CompositeType classType)

getGccStructOrClassType

public CompositeType getGccStructOrClassType(DwarfDie classDie,
                                             String name)
Parameters:
classDie - A struct die
name - Name of the struct
Returns:
GccStructOrClassType for the struct

getClassType

public ClassType getClassType(DwarfDie classDie,
                              String name)
Parameters:
classDie - A class die
name - Name of the class
Returns:
ClassType for the class.

getInterfaceType

public InterfaceType getInterfaceType(DwarfDie classDie,
                                      String name)

hasArtificialParameter

private boolean hasArtificialParameter(DwarfDie die)
Return true of the given die represents a subprogram or inlined subroutine

Parameters:
die -
Returns:

getUnionType

public UnionType getUnionType(DwarfDie classDie,
                              String name)

getSubprogramValue

public Value getSubprogramValue(DwarfDie varDie)
Parameters:
varDie - The die for a symbol corresponding to a function
Returns:
The value of a subprogram die

getType

public Type getType(DwarfDie typeDie)
Parameters:
varDie - This symbol's die
Returns:
a frysk.type for this varDie