public class PECoffSymtab extends ObjectFile.Element implements SymbolTable
Modifier and Type | Class and Description |
---|---|
static class |
PECoffSymtab.PseudoSection |
Constructor and Description |
---|
PECoffSymtab(PECoffObjectFile owner,
String name)
PECoffSymtab Element encompases the Symbol table array and the String table.
|
Modifier and Type | Method and Description |
---|---|
LayoutDecisionMap |
getDecisions(LayoutDecisionMap copyingIn) |
Iterable<BuildDependency> |
getDependencies(Map<ObjectFile.Element,LayoutDecisionMap> decisions)
Implementing this method allows to declare dependencies to other Sections (i.e.
|
byte[] |
getDirectiveArray() |
int |
getDirectiveSize() |
ElementImpl |
getImpl() |
com.oracle.objectfile.pecoff.PECoffSymtab.Entry |
getNullEntry() |
byte[] |
getOrDecideContent(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided,
byte[] contentHint)
Implement this method to deliver the content of the section.
|
int |
getOrDecideOffset(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided,
int offsetHint)
Implement this method to provide the offset this section should be placed at.
|
int |
getOrDecideSize(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided,
int sizeHint)
Implement this method to provide the size of this section.
|
int |
getOrDecideVaddr(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided,
int vaddrHint)
Implement this method to provide the virtual address of this section.
|
com.oracle.objectfile.pecoff.PECoffSymtab.Entry |
getSymbol(String name) |
int |
getSymbolCount() |
int |
indexOf(ObjectFile.Symbol sym) |
boolean |
isLoadable()
Returns whether or not this section will be mapped into memory.
|
Iterator<ObjectFile.Symbol> |
iterator() |
ObjectFile.Symbol |
newDefinedEntry(String name,
ObjectFile.Section referencedSection,
long referencedOffset,
long size,
boolean isGlobal,
boolean isCode) |
ObjectFile.Symbol |
newUndefinedEntry(String name,
boolean isCode) |
getAlignment, getElement, getElementName, getMemSize, getName, getOwner, isReferenceable, setElement, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
forEach, spliterator
public PECoffSymtab(PECoffObjectFile owner, String name)
public ElementImpl getImpl()
getImpl
in class ObjectFile.Element
public byte[] getOrDecideContent(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided, byte[] contentHint)
ElementImpl
getOrDecideContent
in interface ElementImpl
public int getOrDecideSize(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided, int sizeHint)
ElementImpl
getOrDecideSize
in interface ElementImpl
public Iterable<BuildDependency> getDependencies(Map<ObjectFile.Element,LayoutDecisionMap> decisions)
ElementImpl
getDependencies
in interface ElementImpl
public boolean isLoadable()
ObjectFile.Element
isLoadable
in interface ElementImpl
isLoadable
in class ObjectFile.Element
public ObjectFile.Symbol newDefinedEntry(String name, ObjectFile.Section referencedSection, long referencedOffset, long size, boolean isGlobal, boolean isCode)
newDefinedEntry
in interface SymbolTable
public ObjectFile.Symbol newUndefinedEntry(String name, boolean isCode)
newUndefinedEntry
in interface SymbolTable
public com.oracle.objectfile.pecoff.PECoffSymtab.Entry getNullEntry()
public int indexOf(ObjectFile.Symbol sym)
public Iterator<ObjectFile.Symbol> iterator()
iterator
in interface Iterable<ObjectFile.Symbol>
public com.oracle.objectfile.pecoff.PECoffSymtab.Entry getSymbol(String name)
getSymbol
in interface SymbolTable
public int getSymbolCount()
public int getDirectiveSize()
public byte[] getDirectiveArray()
public int getOrDecideOffset(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided, int offsetHint)
ElementImpl
getOrDecideOffset
in interface ElementImpl
public int getOrDecideVaddr(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided, int vaddrHint)
ElementImpl
ElementImpl.isLoadable()
).getOrDecideVaddr
in interface ElementImpl
public LayoutDecisionMap getDecisions(LayoutDecisionMap copyingIn)
getDecisions
in interface ElementImpl
getDecisions
in class ObjectFile.Element