clang
10.0.0git
|
RangeSet contains a set of ranges. More...
#include "clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h"
Public Types | |
typedef PrimRangeSet::Factory | Factory |
typedef PrimRangeSet::iterator | iterator |
Public Member Functions | |
RangeSet (PrimRangeSet RS) | |
RangeSet | addRange (Factory &F, const RangeSet &RS) |
Create a new set with all ranges of this set and RS. More... | |
iterator | begin () const |
iterator | end () const |
bool | isEmpty () const |
RangeSet (Factory &F, const llvm::APSInt &from, const llvm::APSInt &to) | |
Construct a new RangeSet representing '{ [from, to] }'. More... | |
void | Profile (llvm::FoldingSetNodeID &ID) const |
Profile - Generates a hash profile of this RangeSet for use by FoldingSet. More... | |
const llvm::APSInt * | getConcreteValue () const |
getConcreteValue - If a symbol is contrained to equal a specific integer constant then this method returns that value. More... | |
RangeSet | Intersect (BasicValueFactory &BV, Factory &F, llvm::APSInt Lower, llvm::APSInt Upper) const |
RangeSet | Intersect (BasicValueFactory &BV, Factory &F, const RangeSet &Other) const |
RangeSet | Negate (BasicValueFactory &BV, Factory &F) const |
void | print (raw_ostream &os) const |
bool | operator== (const RangeSet &other) const |
RangeSet contains a set of ranges.
If the set is empty, then there the value of a symbol is overly constrained and there are no possible values for that symbol.
Definition at line 63 of file RangedConstraintManager.h.
typedef PrimRangeSet::Factory clang::ento::RangeSet::Factory |
Definition at line 69 of file RangedConstraintManager.h.
typedef PrimRangeSet::iterator clang::ento::RangeSet::iterator |
Definition at line 70 of file RangedConstraintManager.h.
|
inline |
Definition at line 72 of file RangedConstraintManager.h.
Referenced by applyBitwiseConstraints(), and print().
|
inline |
Construct a new RangeSet representing '{ [from, to] }'.
Definition at line 89 of file RangedConstraintManager.h.
Create a new set with all ranges of this set and RS.
Possible intersections are not checked here.
Definition at line 76 of file RangedConstraintManager.h.
References clang::transformer::range().
|
inline |
Definition at line 83 of file RangedConstraintManager.h.
Referenced by Intersect(), Negate(), and print().
|
inline |
Definition at line 84 of file RangedConstraintManager.h.
Referenced by Intersect(), Negate(), and print().
|
inline |
getConcreteValue - If a symbol is contrained to equal a specific integer constant then this method returns that value.
Otherwise, it returns NULL.
Definition at line 99 of file RangedConstraintManager.h.
References print().
Referenced by clang::ento::CreateRangeConstraintManager().
RangeSet RangeSet::Intersect | ( | BasicValueFactory & | BV, |
Factory & | F, | ||
llvm::APSInt | Lower, | ||
llvm::APSInt | Upper | ||
) | const |
Definition at line 156 of file RangeConstraintManager.cpp.
References begin(), end(), clang::ento::BasicValueFactory::getMaxValue(), and clang::ento::BasicValueFactory::getMinValue().
Referenced by clang::ento::CreateRangeConstraintManager(), and Intersect().
RangeSet RangeSet::Intersect | ( | BasicValueFactory & | BV, |
Factory & | F, | ||
const RangeSet & | Other | ||
) | const |
Definition at line 179 of file RangeConstraintManager.cpp.
References begin(), end(), and Intersect().
|
inline |
Definition at line 86 of file RangedConstraintManager.h.
Referenced by clang::ento::CreateRangeConstraintManager().
RangeSet RangeSet::Negate | ( | BasicValueFactory & | BV, |
Factory & | F | ||
) | const |
Definition at line 196 of file RangeConstraintManager.cpp.
References begin(), end(), clang::ento::BasicValueFactory::getMaxValue(), and clang::ento::BasicValueFactory::getMinValue().
Definition at line 122 of file RangedConstraintManager.h.
void RangeSet::print | ( | raw_ostream & | os | ) | const |
Definition at line 225 of file RangeConstraintManager.cpp.
|
inline |
Profile - Generates a hash profile of this RangeSet for use by FoldingSet.
Definition at line 94 of file RangedConstraintManager.h.