mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-03 19:02:35 +00:00
Add a setName method to Record.
llvm-svn: 22911
This commit is contained in:
parent
36f99a1374
commit
1344e9cf9c
@ -589,6 +589,18 @@ void RecordVal::print(std::ostream &OS, bool PrintSem) const {
|
||||
if (PrintSem) OS << ";\n";
|
||||
}
|
||||
|
||||
void Record::setName(const std::string &Name) {
|
||||
if (Records.getDef(getName()) == this) {
|
||||
Records.removeDef(getName());
|
||||
this->Name = Name;
|
||||
Records.addDef(this);
|
||||
} else {
|
||||
Records.removeClass(getName());
|
||||
this->Name = Name;
|
||||
Records.addClass(this);
|
||||
}
|
||||
}
|
||||
|
||||
/// resolveReferencesTo - If anything in this record refers to RV, replace the
|
||||
/// reference to RV with the RHS of RV. If RV is null, we resolve all possible
|
||||
/// references.
|
||||
|
@ -898,6 +898,7 @@ public:
|
||||
~Record() {}
|
||||
|
||||
const std::string &getName() const { return Name; }
|
||||
void setName(const std::string &Name); // Also updates RecordKeeper.
|
||||
const std::vector<std::string> &getTemplateArgs() const {
|
||||
return TemplateArgs;
|
||||
}
|
||||
@ -1058,6 +1059,19 @@ public:
|
||||
Defs.insert(std::make_pair(R->getName(), R));
|
||||
}
|
||||
|
||||
/// removeClass - Remove, but do not delete, the specified record.
|
||||
///
|
||||
void removeClass(const std::string &Name) {
|
||||
assert(Classes.count(Name) && "Class does not exist!");
|
||||
Classes.erase(Name);
|
||||
}
|
||||
/// removeDef - Remove, but do not delete, the specified record.
|
||||
///
|
||||
void removeDef(const std::string &Name) {
|
||||
assert(Defs.count(Name) && "Def does not exist!");
|
||||
Defs.erase(Name);
|
||||
}
|
||||
|
||||
//===--------------------------------------------------------------------===//
|
||||
// High-level helper methods, useful for tablegen backends...
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user