ROSE
0.11.132.0
|
Specialization of the defect_t template for the case of an edge integrity defect.
#include <Rose/AST/Defect.h>
Public Types | |
enum | Reason { Reason::invalid, Reason::incompatible, Reason::unallocated } |
![]() | |
using | self_t = defect_t< Kind::any > |
Public Member Functions | |
defect_t (SgNode *source_, SgNode *target_, std::string label_, bool traversed_, bool container_, VariantT expected_, VariantT found_, Reason reason_) | |
virtual void | print (std::ostream &out) const |
![]() | |
defect_t (Kind kind_) | |
Public Attributes | |
SgNode * | source |
Pointer to the source node of the edge (always a valid pointer and node) | |
SgNode * | target |
Pointer to the target node of the edge. Either the pointer or the node are invalid. | |
std::string | label |
Label of this edge in the grammar. | |
bool | traversed |
Traversed edges forms the structure of the AST while the other one represent relations like types and symbols. | |
bool | container |
If the edge have multiplicity (like a node with a std::vector<SgExpression*>) | |
VariantT | expected |
The expected variant for target (like V_SgExpression) | |
VariantT | found |
The actual variant of target if the pointer is valid (obtained by finding the pointer in the memory pool) | |
enum Rose::AST::Defects::defect_t< Kind::integrity_edges >::Reason | reason |
![]() | |
Kind | kind |
Static Public Attributes | |
static constexpr Kind | __kind = Kind::integrity_edges |
Needed to create defects from the typename instead of the kind. | |
![]() | |
static std::set< self_t * > | all |
Set of all defects. | |
Additional Inherited Members | |
![]() | |
template<Kind k, typename... Args> | |
static defect_t< k > const & | record (Args...args) |
Call new for the specific kind of defect, forwards all argument to the constructor. Add pointer to all. | |
template<typename DefectT , typename... Args> | |
static DefectT const & | record (Args...args) |
Call new for the specific defect type, forwards all argument to the constructor (requires the specialization to declare __kind) | |
static void | clear () |
Delete all stored defect and clear the container. | |
static void | display (std::ostream &out) |
|
strong |