Lattice Land Core Library
|
#include <diagnostics.hpp>
Public Types | |
using | allocator_type = battery::standard_allocator |
using | F = TFormula<allocator_type> |
using | this_type = IDiagnostics |
Public Member Functions | |
CUDA NI | IDiagnostics () |
template<class F2 > | |
CUDA NI | IDiagnostics (bool fatal, battery::string< allocator_type > ad_name, battery::string< allocator_type > description, const F2 &uninterpretable_formula, AType aty=UNTYPED) |
CUDA NI this_type & | add_suberror (IDiagnostics &&suberror) |
CUDA size_t | num_suberrors () const |
CUDA void | cut (size_t i) |
CUDA void | merge (bool succeeded, size_t i) |
CUDA NI void | print (int indent=0) const |
CUDA bool | is_fatal () const |
CUDA bool | has_warning () const |
IDiagnostics
is used in abstract domains to diagnose why a formula cannot be interpreted (error) or if it was interpreted by under- or over-approximation (warnings). If the abstract domain cannot interpret the formula, it must explain why. This is similar to compilation errors in compiler.
using lala::IDiagnostics::allocator_type = battery::standard_allocator |
using lala::IDiagnostics::F = TFormula<allocator_type> |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Deletes all suberrors between i
and n-1
.
|
inline |
This operator moves all suberrors[i..(n-1)]
as a suberror of suberrors[i-1]
. If only warnings are present, suberrors[i-1]
is converted into a warning. If succeeded
is true, then all suberrors are erased.
|
inline |
|
inline |
|
inline |