diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-05-30 17:37:31 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-05-30 17:37:31 +0000 |
commit | ee2f195dd3e40f49698ca4dc2666ec09c770e80d (patch) | |
tree | 66fa9a69e5789356dfe844991e64bac9222f3a35 /include/llvm/TableGen/Record.h | |
parent | ab44ce3d598882e51a25eb82eb7ae6308de85ae6 (diff) |
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 { |