Go to the documentation of this file.
9 #ifndef LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_DYNAMICTYPEINFO_H
10 #define LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_DYNAMICTYPEINFO_H
24 : DynTy(Ty), CanBeASubClass(CanBeSub) {}
39 return DynTy == RHS.DynTy && CanBeASubClass == RHS.CanBeASubClass;
44 ID.AddBoolean(CanBeASubClass);
55 #endif // LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_DYNAMICTYPEINFO_H
QualType getType() const
Returns the currently inferred upper bound on the runtime type.
bool operator==(const DynamicTypeInfo &RHS) const
Stores the currently inferred strictest bound on the runtime type of a region in a given state along ...
A (possibly-)qualified type.
bool isValid() const
Returns true if the dynamic type info is available.
void Profile(llvm::FoldingSetNodeID &ID) const
bool isNull() const
Return true if this QualType doesn't point to a type yet.
bool canBeASubClass() const
Returns false if the type information is precise (the type 'DynTy' is the only type in the lattice),...
DynamicTypeInfo(QualType Ty, bool CanBeSub=true)