From 96a9f78c4aa1bc188f3f7ee869bed44cb7a6ff0e Mon Sep 17 00:00:00 2001 From: David Greene Date: Wed, 19 Oct 2011 13:02:29 +0000 Subject: 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 --- lib/TableGen/Record.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'lib') 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. -- cgit v1.1