59 virtual bool isUnit()
const;
UInt32 InstructionAddress
ScopeList children_
Child scopes.
int codeLabelCount(Address address) const
virtual void addGlobalDataLabel(const DataLabel &dataLabel, const Scope &owner)=0
Adds a data label and its owner to the global label bookkeeping.
virtual bool isProcedure() const
int dataLabelCount(Address address) const
bool containsDataLabel(const std::string &name) const
virtual bool isUnit() const
void setParent(Scope &scope)
std::vector< const CodeLabel * > CodeLabelList
List of code labels.
virtual void removeCodeLabels(InstructionAddress address)
virtual void addDataLabel(const DataLabel *dataLabel)
Scope * parent_
The smallest outer scope that contains this scope.
Scope(const Scope &)
Copying not allowed.
bool containsCodeLabel(const std::string &name) const
DataLabelList dataLabels_
Data labels contained by this scope.
const CodeLabel & codeLabel(const std::string &name) const
virtual Scope * copy() const =0
CodeLabelList codeLabels_
Code labels contained by this scope.
const DataLabel & dataLabel(const std::string &name) const
virtual void addGlobalCodeLabel(const CodeLabel &codeLabel, const Scope &owner)=0
Adds a code label and its owner to the global label bookkeeping.
virtual bool isGlobal() const
void addChild(const Scope &scope)
virtual bool isLocal() const
const Scope & child(int index) const
std::vector< const DataLabel * > DataLabelList
List of data labels.
std::vector< const Scope * > ScopeList
List for child scopes.
Scope & operator=(const Scope &)
Assignment not allowed.
virtual void addCodeLabel(const CodeLabel *codeLabel)