diff options
Diffstat (limited to 'include/llvm/TableGen/Record.h')
-rw-r--r-- | include/llvm/TableGen/Record.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/include/llvm/TableGen/Record.h b/include/llvm/TableGen/Record.h index d14a56cb87e0..437f68b24e57 100644 --- a/include/llvm/TableGen/Record.h +++ b/include/llvm/TableGen/Record.h @@ -1189,6 +1189,9 @@ public: return Init ? Init->getValue() : StringRef(); } + ArrayRef<Init *> getArgs() const { + return makeArrayRef(getTrailingObjects<Init *>(), NumArgs); + } ArrayRef<StringInit *> getArgNames() const { return makeArrayRef(getTrailingObjects<StringInit *>(), NumArgNames); } @@ -1200,19 +1203,16 @@ public: typedef SmallVectorImpl<Init*>::const_iterator const_arg_iterator; typedef SmallVectorImpl<StringInit*>::const_iterator const_name_iterator; - inline const_arg_iterator arg_begin() const { return getTrailingObjects<Init *>(); } - inline const_arg_iterator arg_end () const { return arg_begin() + NumArgs; } - inline iterator_range<const_arg_iterator> args() const { - return llvm::make_range(arg_begin(), arg_end()); - } + inline const_arg_iterator arg_begin() const { return getArgs().begin(); } + inline const_arg_iterator arg_end () const { return getArgs().end(); } - inline size_t arg_size () const { return NumArgs; } + inline size_t arg_size () const { return NumArgs; } inline bool arg_empty() const { return NumArgs == 0; } - inline const_name_iterator name_begin() const { return getTrailingObjects<StringInit *>(); } - inline const_name_iterator name_end () const { return name_begin() + NumArgNames; } + inline const_name_iterator name_begin() const { return getArgNames().begin();} + inline const_name_iterator name_end () const { return getArgNames().end(); } - inline size_t name_size () const { return NumArgNames; } + inline size_t name_size () const { return NumArgNames; } inline bool name_empty() const { return NumArgNames == 0; } Init *getBit(unsigned Bit) const override { |