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, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitforEach, spliteratorpublic PECoffSymtab(PECoffObjectFile owner, String name)
public ElementImpl getImpl()
getImpl in class ObjectFile.Elementpublic byte[] getOrDecideContent(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided, byte[] contentHint)
ElementImplgetOrDecideContent in interface ElementImplpublic int getOrDecideSize(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided, int sizeHint)
ElementImplgetOrDecideSize in interface ElementImplpublic Iterable<BuildDependency> getDependencies(Map<ObjectFile.Element,LayoutDecisionMap> decisions)
ElementImplgetDependencies in interface ElementImplpublic boolean isLoadable()
ObjectFile.ElementisLoadable in interface ElementImplisLoadable in class ObjectFile.Elementpublic ObjectFile.Symbol newDefinedEntry(String name, ObjectFile.Section referencedSection, long referencedOffset, long size, boolean isGlobal, boolean isCode)
newDefinedEntry in interface SymbolTablepublic ObjectFile.Symbol newUndefinedEntry(String name, boolean isCode)
newUndefinedEntry in interface SymbolTablepublic 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 SymbolTablepublic int getSymbolCount()
public int getDirectiveSize()
public byte[] getDirectiveArray()
public int getOrDecideOffset(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided, int offsetHint)
ElementImplgetOrDecideOffset in interface ElementImplpublic int getOrDecideVaddr(Map<ObjectFile.Element,LayoutDecisionMap> alreadyDecided, int vaddrHint)
ElementImplElementImpl.isLoadable()).getOrDecideVaddr in interface ElementImplpublic LayoutDecisionMap getDecisions(LayoutDecisionMap copyingIn)
getDecisions in interface ElementImplgetDecisions in class ObjectFile.Element