/// SymbolValues - Bindings of symbols to values.
//
// FIXME: Is there a good reason to not just put this in the MCSymbol?
- DenseMap<MCSymbol*, MCValue> SymbolValues;
+ DenseMap<const MCSymbol*, MCValue> SymbolValues;
/// Allocator - Allocator object used for creating machine code objects.
///
/// LookupSymbol - Get the symbol for @param Name, or null.
MCSymbol *LookupSymbol(const StringRef &Name) const;
- /// ClearSymbolValue - Erase a value binding for @param Symbol, if one
- /// exists.
- void ClearSymbolValue(MCSymbol *Symbol);
+ /// ClearSymbolValue - Erase a value binding for @arg Symbol, if one exists.
+ void ClearSymbolValue(const MCSymbol *Symbol);
- /// SetSymbolValue - Set the value binding for @param Symbol to @param
- /// Value.
- void SetSymbolValue(MCSymbol *Symbol, const MCValue &Value);
+ /// SetSymbolValue - Set the value binding for @arg Symbol to @arg Value.
+ void SetSymbolValue(const MCSymbol *Symbol, const MCValue &Value);
- /// GetSymbolValue - Return the current value for @param Symbol, or null if
+ /// GetSymbolValue - Return the current value for @arg Symbol, or null if
/// none exists.
- const MCValue *GetSymbolValue(MCSymbol *Symbol) const;
+ const MCValue *GetSymbolValue(const MCSymbol *Symbol) const;
void *Allocate(unsigned Size, unsigned Align = 8) {
return Allocator.Allocate(Size, Align);
return Symbols.lookup(Name);
}
-void MCContext::ClearSymbolValue(MCSymbol *Sym) {
+void MCContext::ClearSymbolValue(const MCSymbol *Sym) {
SymbolValues.erase(Sym);
}
-void MCContext::SetSymbolValue(MCSymbol *Sym, const MCValue &Value) {
+void MCContext::SetSymbolValue(const MCSymbol *Sym, const MCValue &Value) {
SymbolValues[Sym] = Value;
}
-const MCValue *MCContext::GetSymbolValue(MCSymbol *Sym) const {
- DenseMap<MCSymbol*, MCValue>::iterator it = SymbolValues.find(Sym);
+const MCValue *MCContext::GetSymbolValue(const MCSymbol *Sym) const {
+ DenseMap<const MCSymbol*, MCValue>::iterator it = SymbolValues.find(Sym);
if (it == SymbolValues.end())
return 0;