CodeSonar C++ API
[For improved navigation, enable JavaScript.]
Variables
cs_xform_query_result_decls.hpp File Reference

Go to the source code of this file.

Variables

static const xform_query_result IMPOSSIBLE
 The query evaluates to FALSE. More...
 
static const xform_query_result LHS_UNMODIFIED
 The query's lhs xform_expr had mode xform_expr_mode::POST_STRICT or xform_expr_mode::POST_DEREFS_PRE_STRICT, but the value of lhs was the same at the beginning and end of the transformation described by the step_xform. More...
 
static const xform_query_result OK
 The query could evaluate to either TRUE or FALSE: there is no reason to believe definitely one or the other. More...
 
static const xform_query_result REDUNDANT
 The query definitely evaluates to TRUE. More...
 
static const xform_query_result REDUNDANT_SUSPECT
 The query evaluates to TRUE, but is implied by preconditions that arise from: More...
 
static const xform_query_result RHS_UNMODIFIED
 The query's rhs xform_expr had mode xform_expr_mode::POST_STRICT or xform_expr_mode::POST_DEREFS_PRE_STRICT, but the value of rhs was the same at the beginning and end of the transformation described by the step_xform. More...
 

Variable Documentation

◆ IMPOSSIBLE

const xform_query_result IMPOSSIBLE
static

The query evaluates to FALSE.

There are two possible cases:

  • Case 1: the query evaluates to FALSE because of preconditions that arise from:
  • Case 2: the query evaluates to FALSE for any other reason.

We use the term "suspect" to describe case 1.

If some query Q has outcome xform_query_result::IMPOSSIBLE and you need to distinguish between the two cases, proceed as follows.

  1. Create a new query R that is the inverse of Q.
  2. Execute query R and look at the outcome.

◆ LHS_UNMODIFIED

const xform_query_result LHS_UNMODIFIED
static

The query's lhs xform_expr had mode xform_expr_mode::POST_STRICT or xform_expr_mode::POST_DEREFS_PRE_STRICT, but the value of lhs was the same at the beginning and end of the transformation described by the step_xform.

◆ OK

const xform_query_result OK
static

The query could evaluate to either TRUE or FALSE: there is no reason to believe definitely one or the other.

◆ REDUNDANT

const xform_query_result REDUNDANT
static

The query definitely evaluates to TRUE.

◆ REDUNDANT_SUSPECT

const xform_query_result REDUNDANT_SUSPECT
static

The query evaluates to TRUE, but is implied by preconditions that arise from:

◆ RHS_UNMODIFIED

const xform_query_result RHS_UNMODIFIED
static

The query's rhs xform_expr had mode xform_expr_mode::POST_STRICT or xform_expr_mode::POST_DEREFS_PRE_STRICT, but the value of rhs was the same at the beginning and end of the transformation described by the step_xform.