static inline bool classof(const Type *T) {
return T->isDerivedType();
}
- static inline bool classof(const Value *V) {
- return isa<Type>(V) && classof(cast<Type>(V));
- }
};
static inline bool classof(const Type *T) {
return T->getTypeID() == FunctionTyID;
}
- static inline bool classof(const Value *V) {
- return isa<Type>(V) && classof(cast<Type>(V));
- }
};
T->getTypeID() == StructTyID ||
T->getTypeID() == PointerTyID;
}
- static inline bool classof(const Value *V) {
- return isa<Type>(V) && classof(cast<Type>(V));
- }
};
static inline bool classof(const Type *T) {
return T->getTypeID() == StructTyID;
}
- static inline bool classof(const Value *V) {
- return isa<Type>(V) && classof(cast<Type>(V));
- }
};
public:
inline const Type *getElementType() const { return ContainedTys[0]; }
+ virtual bool indexValid(const Value *V) const;
+
/// getTypeAtIndex - Given an index value into the type, return the type of
/// the element. For sequential types, there is only one subtype...
///
virtual const Type *getTypeAtIndex(const Value *V) const {
return ContainedTys[0];
}
- virtual bool indexValid(const Value *V) const {
- const Type *Ty = V->getType();
- switch (Ty->getTypeID()) {
- case Type::IntTyID:
- case Type::UIntTyID:
- case Type::LongTyID:
- case Type::ULongTyID:
- return true;
- default:
- return false;
- }
- }
// Methods for support type inquiry through isa, cast, and dyn_cast:
static inline bool classof(const SequentialType *T) { return true; }
return T->getTypeID() == ArrayTyID ||
T->getTypeID() == PointerTyID;
}
- static inline bool classof(const Value *V) {
- return isa<Type>(V) && classof(cast<Type>(V));
- }
};
static inline bool classof(const Type *T) {
return T->getTypeID() == ArrayTyID;
}
- static inline bool classof(const Value *V) {
- return isa<Type>(V) && classof(cast<Type>(V));
- }
};
static inline bool classof(const Type *T) {
return T->getTypeID() == PointerTyID;
}
- static inline bool classof(const Value *V) {
- return isa<Type>(V) && classof(cast<Type>(V));
- }
};
static inline bool classof(const Type *T) {
return T->getTypeID() == OpaqueTyID;
}
- static inline bool classof(const Value *V) {
- return isa<Type>(V) && classof(cast<Type>(V));
- }
};
} // End llvm namespace