isSigned/isUnsigned/isInteger methods do not need to be virtual

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14694 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2004-07-08 17:29:36 +00:00
parent c29af0084f
commit e1d6799661

View File

@ -94,8 +94,7 @@ private:
const Type *getForwardedTypeInternal() const; const Type *getForwardedTypeInternal() const;
protected: protected:
/// ctor is protected, so only subclasses can create Type objects... Type(const std::string& Name, TypeID id);
Type(const std::string& Name, TypeID id );
virtual ~Type() {} virtual ~Type() {}
@ -158,19 +157,24 @@ public:
/// true for SByteTy, ShortTy, IntTy, LongTy. Note that this is not true for /// true for SByteTy, ShortTy, IntTy, LongTy. Note that this is not true for
/// Float and Double. /// Float and Double.
/// ///
virtual bool isSigned() const { return 0; } bool isSigned() const {
return ID == SByteTyID || ID == ShortTyID ||
ID == IntTyID || ID == LongTyID;
}
/// isUnsigned - Return whether a numeric type is unsigned. This is not quite /// isUnsigned - Return whether a numeric type is unsigned. This is not quite
/// the complement of isSigned... nonnumeric types return false as they do /// the complement of isSigned... nonnumeric types return false as they do
/// with isSigned. This returns true for UByteTy, UShortTy, UIntTy, and /// with isSigned. This returns true for UByteTy, UShortTy, UIntTy, and
/// ULongTy /// ULongTy
/// ///
virtual bool isUnsigned() const { return 0; } bool isUnsigned() const {
return ID == UByteTyID || ID == UShortTyID ||
ID == UIntTyID || ID == ULongTyID;
}
/// isInteger - Equilivent to isSigned() || isUnsigned(), but with only a /// isInteger - Equilivant to isSigned() || isUnsigned()
/// single virtual function invocation.
/// ///
virtual bool isInteger() const { return 0; } bool isInteger() const { return ID >= UByteTyID && ID <= LongTyID; }
/// isIntegral - Returns true if this is an integral type, which is either /// isIntegral - Returns true if this is an integral type, which is either
/// BoolTy or one of the Integer types. /// BoolTy or one of the Integer types.