diff options
author | David Greene <greened@obbligato.org> | 2011-10-19 13:02:29 +0000 |
---|---|---|
committer | David Greene <greened@obbligato.org> | 2011-10-19 13:02:29 +0000 |
commit | 96a9f78c4aa1bc188f3f7ee869bed44cb7a6ff0e (patch) | |
tree | 5baff4a16731b0c00c364b2d662b6ae7bb40bf38 /lib/TableGen | |
parent | d7f8941e77fef20dc147fe102a2024cc5ccef366 (diff) | |
download | external_llvm-96a9f78c4aa1bc188f3f7ee869bed44cb7a6ff0e.zip external_llvm-96a9f78c4aa1bc188f3f7ee869bed44cb7a6ff0e.tar.gz external_llvm-96a9f78c4aa1bc188f3f7ee869bed44cb7a6ff0e.tar.bz2 |
Add Value Accessors
Add accessors to get Record values by Init name. This lets us look up
Record values whose names are not yet fully resolved. More work
toward paste.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142496 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/TableGen')
-rw-r--r-- | lib/TableGen/Record.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/TableGen/Record.cpp b/lib/TableGen/Record.cpp index b7c51ca..06a41c9 100644 --- a/lib/TableGen/Record.cpp +++ b/lib/TableGen/Record.cpp @@ -1726,6 +1726,18 @@ void Record::setName(const std::string &Name) { setName(StringInit::get(Name)); } +const RecordVal *Record::getValue(Init *Name) const { + for (unsigned i = 0, e = Values.size(); i != e; ++i) + if (Values[i].getNameInit() == Name) return &Values[i]; + return 0; +} + +RecordVal *Record::getValue(Init *Name) { + for (unsigned i = 0, e = Values.size(); i != e; ++i) + if (Values[i].getNameInit() == Name) return &Values[i]; + return 0; +} + /// 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. |