LLVM 20.0.0git
|
Generic base class for SMT sorts. More...
#include "llvm/Support/SMTAPI.h"
Public Member Functions | |
SMTSort ()=default | |
virtual | ~SMTSort ()=default |
virtual bool | isBitvectorSort () const |
Returns true if the sort is a bitvector, calls isBitvectorSortImpl(). | |
virtual bool | isFloatSort () const |
Returns true if the sort is a floating-point, calls isFloatSortImpl(). | |
virtual bool | isBooleanSort () const |
Returns true if the sort is a boolean, calls isBooleanSortImpl(). | |
virtual unsigned | getBitvectorSortSize () const |
Returns the bitvector size, fails if the sort is not a bitvector Calls getBitvectorSortSizeImpl(). | |
virtual unsigned | getFloatSortSize () const |
Returns the floating-point size, fails if the sort is not a floating-point Calls getFloatSortSizeImpl(). | |
virtual void | Profile (llvm::FoldingSetNodeID &ID) const =0 |
bool | operator< (const SMTSort &Other) const |
virtual void | print (raw_ostream &OS) const =0 |
LLVM_DUMP_METHOD void | dump () const |
Protected Member Functions | |
virtual bool | equal_to (SMTSort const &other) const =0 |
Query the SMT solver and returns true if two sorts are equal (same kind and bit width). | |
virtual bool | isBitvectorSortImpl () const =0 |
Query the SMT solver and checks if a sort is bitvector. | |
virtual bool | isFloatSortImpl () const =0 |
Query the SMT solver and checks if a sort is floating-point. | |
virtual bool | isBooleanSortImpl () const =0 |
Query the SMT solver and checks if a sort is boolean. | |
virtual unsigned | getBitvectorSortSizeImpl () const =0 |
Query the SMT solver and returns the sort bit width. | |
virtual unsigned | getFloatSortSizeImpl () const =0 |
Query the SMT solver and returns the sort bit width. | |
Friends | |
bool | operator== (SMTSort const &LHS, SMTSort const &RHS) |
|
default |
|
virtualdefault |
LLVM_DUMP_METHOD void SMTSort::dump | ( | ) | const |
Definition at line 992 of file Z3Solver.cpp.
References llvm::errs(), and print().
Query the SMT solver and returns true if two sorts are equal (same kind and bit width).
This does not check if the two sorts are the same objects.
|
inlinevirtual |
Returns the bitvector size, fails if the sort is not a bitvector Calls getBitvectorSortSizeImpl().
Definition at line 42 of file SMTAPI.h.
References assert(), getBitvectorSortSizeImpl(), isBitvectorSort(), and Size.
|
protectedpure virtual |
Query the SMT solver and returns the sort bit width.
Referenced by getBitvectorSortSize().
|
inlinevirtual |
Returns the floating-point size, fails if the sort is not a floating-point Calls getFloatSortSizeImpl().
Definition at line 51 of file SMTAPI.h.
References assert(), getFloatSortSizeImpl(), isFloatSort(), and Size.
|
protectedpure virtual |
Query the SMT solver and returns the sort bit width.
Referenced by getFloatSortSize().
|
inlinevirtual |
Returns true if the sort is a bitvector, calls isBitvectorSortImpl().
Definition at line 32 of file SMTAPI.h.
References isBitvectorSortImpl().
Referenced by getBitvectorSortSize().
|
protectedpure virtual |
Query the SMT solver and checks if a sort is bitvector.
Referenced by isBitvectorSort().
|
inlinevirtual |
Returns true if the sort is a boolean, calls isBooleanSortImpl().
Definition at line 38 of file SMTAPI.h.
References isBooleanSortImpl().
|
protectedpure virtual |
Query the SMT solver and checks if a sort is boolean.
Referenced by isBooleanSort().
|
inlinevirtual |
Returns true if the sort is a floating-point, calls isFloatSortImpl().
Definition at line 35 of file SMTAPI.h.
References isFloatSortImpl().
Referenced by getFloatSortSize().
|
protectedpure virtual |
Query the SMT solver and checks if a sort is floating-point.
Referenced by isFloatSort().
Definition at line 60 of file SMTAPI.h.
References llvm::Other, and Profile.
|
pure virtual |
Referenced by dump().
|
pure virtual |