9#ifndef LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_APSINTTYPE_H 
   10#define LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_APSINTTYPE_H 
   12#include "llvm/ADT/APSInt.h" 
   25      : BitWidth(Width), IsUnsigned(
Unsigned) {}
 
 
   41    Value.setIsUnsigned(IsUnsigned);
 
 
   48  llvm::APSInt 
convert(
const llvm::APSInt &
Value) 
const LLVM_READONLY {
 
 
   56    return llvm::APSInt(BitWidth, IsUnsigned);
 
 
   61    return llvm::APSInt::getMinValue(BitWidth, IsUnsigned);
 
 
   66    return llvm::APSInt::getMaxValue(BitWidth, IsUnsigned);
 
 
   69  llvm::APSInt 
getValue(uint64_t RawValue) 
const LLVM_READONLY {
 
   70    return (llvm::APSInt(BitWidth, IsUnsigned) = RawValue);
 
 
   89                                  bool AllowMixedSign) 
const LLVM_READONLY;
 
   92    return BitWidth == 
Other.BitWidth && IsUnsigned == 
Other.IsUnsigned;
 
 
  100    return std::tie(BitWidth, IsUnsigned) <
 
 
 
llvm::APSInt getZeroValue() const LLVM_READONLY
Returns an all-zero value for this type.
RangeTestResultKind
Used to classify whether a value is representable using this type.
@ RTR_Within
Value is representable using this type.
@ RTR_Below
Value is less than the minimum representable value.
@ RTR_Above
Value is greater than the maximum representable value.
constexpr APSIntType(uint32_t Width, bool Unsigned)
uint32_t getBitWidth() const
bool operator<(const APSIntType &Other) const
Provide an ordering for finding a common conversion type.
RangeTestResultKind testInRange(const llvm::APSInt &Val, bool AllowMixedSign) const LLVM_READONLY
Tests whether a given value is losslessly representable using this type.
llvm::APSInt getMaxValue() const LLVM_READONLY
Returns the maximum value for this type.
void apply(llvm::APSInt &Value) const
Convert a given APSInt, in place, to match this type.
llvm::APSInt getMinValue() const LLVM_READONLY
Returns the minimum value for this type.
llvm::APSInt convert(const llvm::APSInt &Value) const LLVM_READONLY
Convert and return a new APSInt with the given value, but this type's bit width and signedness.
llvm::APSInt getValue(uint64_t RawValue) const LLVM_READONLY
bool operator==(const APSIntType &Other) const
APSIntType(const llvm::APSInt &Value)
The JSON file list parser is used to communicate input to InstallAPI.
@ Result
The result type of a method or function.
@ Other
Other implicit parameter.