ROSE 0.11.145.290
|
Defect descriptor specialization for the default kind "any".
All other defect descriptors must inherit from this descritor. It provides a static method record
which should always be used to create a defect descriptor. This method collects all descriptors and return const references. Hence, all defect descriptors can be deleted by a call to clear.
#include <Rose/AST/Defect.h>
Public Types | |
using | self_t = defect_t< Kind::any > |
Public Member Functions | |
defect_t (Kind kind_) | |
virtual void | print (std::ostream &out) const =0 |
Static Public Member Functions | |
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) |
Public Attributes | |
Kind | kind |
Static Public Attributes | |
static std::set< self_t * > | all |
Set of all defects. | |
using Rose::AST::Defects::defect_t< Kind::any >::self_t = defect_t<Kind::any> |
|
inlinestatic |
|
inlinestatic |
|
static |
Kind Rose::AST::Defects::defect_t< Kind::any >::kind |