|
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 |