P4C
The P4 Compiler
IR::INode Class Referenceabstract
Inheritance diagram for IR::INode:
Util::IHasSourceInfo IHasDbPrint IR::IDeclaration IR::Node IR::NameMap< T, MAP, COMP, ALLOC > IR::NodeMap< KEY, VALUE, MAP, COMP, ALLOC > IR::VectorBase IR::Vector< T > IR::Vector< IR::Declaration > IR::Vector< IR::Expression > IR::Vector< IR::Type > IR::IndexedVector< IR::Node > IR::IndexedVector< IR::StatOrDecl > IR::IndexedVector< T > IR::IndexedVector< IR::Declaration >

Public Member Functions

template<typename T >
const T & as () const
 
virtual void dbprint (std::ostream &out) const =0
 
virtual const NodegetNode () const =0
 
virtual NodegetNode ()=0
 
template<typename T >
bool is () const
 
virtual cstring node_type_name () const =0
 
template<typename T >
const T * to () const
 
virtual void toJSON (JSONGenerator &) const =0
 
virtual cstring toString () const =0
 
virtual void validate () const
 
- Public Member Functions inherited from Util::IHasSourceInfo
virtual SourceInfo getSourceInfo () const =0
 
- Public Member Functions inherited from IHasDbPrint
void print () const