7 #ifndef OTAWA_PROG_SYMBOL_H
8 #define OTAWA_PROG_SYMBOL_H
59 #endif // OTAWA_SYMBOL_H
void setNoReturn(void)
Set the no-return property to this symbol.
Definition: prog_Symbol.cpp:154
Unknown symbol.
Definition: Symbol.h:25
Inst * findInst(void) const
If the symbol points to code memory, return the matching instruction.
Definition: prog_Symbol.cpp:112
elm::io::Output & operator<<(elm::io::Output &out, Address addr)
Definition: base.cpp:188
size_t _size
Definition: Symbol.h:49
address_t address(void) const
Get the address of the location referenced by this symbol.
Definition: Symbol.h:37
bool no_return
Definition: Symbol.h:50
kind_t _kind
Definition: Symbol.h:47
This class represents a file involved in the building of a process.
Definition: File.h:43
bool doesNotReturn(void) const
Test if it is a no returning function.
Definition: Symbol.h:40
t::uint32 size
Definition: base.h:46
ot::size size(void) const
Get the size of the item referenced by this symbol.
Definition: Symbol.h:38
kind_t
This type describes the kind of existing symbol.
Definition: Symbol.h:24
Symbol(File &file, String name, kind_t kind, address_t address, ot::size size=0)
Build a symbol.
Definition: prog_Symbol.cpp:58
The representation of an address in OTAWA.
Definition: base.h:54
Denotes a function symbol.
Definition: Symbol.h:26
sys::SystemOutStream & out
static Identifier< Symbol * > ID
This property is used to attach a symbol to an instruction.
Definition: Symbol.h:31
Denotes a label symbol.
Definition: Symbol.h:27
This class represents identifier with a typed associated value.
Definition: Identifier.h:51
This class represents assembly instruction of a piece of code.
Definition: Inst.h:62
kind_t kind(void) const
Get the kind of the symbol.
Definition: Symbol.h:35
This a list of properties.
Definition: PropList.h:63
File & file(void) const
Get the owner file of the given symbol.
Definition: Symbol.h:34
const String & name(void) const
Get the name of the symbol.
Definition: Symbol.h:36
File & _file
Definition: Symbol.h:45
void print(io::Output &out) const
Definition: prog_Symbol.cpp:118
address_t _address
Definition: Symbol.h:48
String _name
Definition: Symbol.h:46
A symbol is a name of a location in a program.
Definition: Symbol.h:21