diff options
Diffstat (limited to 'include/llvm/DerivedTypes.h')
-rw-r--r-- | include/llvm/DerivedTypes.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/include/llvm/DerivedTypes.h b/include/llvm/DerivedTypes.h index d20085e..4537400 100644 --- a/include/llvm/DerivedTypes.h +++ b/include/llvm/DerivedTypes.h @@ -197,7 +197,9 @@ public: /// the element. /// virtual const Type *getTypeAtIndex(const Value *V) const = 0; + virtual const Type *getTypeAtIndex(unsigned Idx) const = 0; virtual bool indexValid(const Value *V) const = 0; + virtual bool indexValid(unsigned Idx) const = 0; // Methods for support type inquiry through isa, cast, and dyn_cast: static inline bool classof(const CompositeType *) { return true; } @@ -245,8 +247,10 @@ public: /// getTypeAtIndex - Given an index value into the type, return the type of /// the element. For a structure type, this must be a constant value... /// - virtual const Type *getTypeAtIndex(const Value *V) const ; + virtual const Type *getTypeAtIndex(const Value *V) const; + virtual const Type *getTypeAtIndex(unsigned Idx) const; virtual bool indexValid(const Value *V) const; + virtual bool indexValid(unsigned Idx) const; // Implement the AbstractTypeUser interface. virtual void refineAbstractType(const DerivedType *OldTy, const Type *NewTy); @@ -288,6 +292,9 @@ public: inline const Type *getElementType() const { return ContainedTys[0]; } virtual bool indexValid(const Value *V) const; + virtual bool indexValid(unsigned Idx) const { + return true; + } /// getTypeAtIndex - Given an index value into the type, return the type of /// the element. For sequential types, there is only one subtype... @@ -295,6 +302,9 @@ public: virtual const Type *getTypeAtIndex(const Value *) const { return ContainedTys[0]; } + virtual const Type *getTypeAtIndex(unsigned Idx) const { + return ContainedTys[0]; + } // Methods for support type inquiry through isa, cast, and dyn_cast: static inline bool classof(const SequentialType *) { return true; } |