P4C
The P4 Compiler
Loading...
Searching...
No Matches
P4::IR::IDeclaration Class Referenceabstract

The Declaration interface, representing objects with names. More...

#include <declaration.h>

Inheritance diagram for P4::IR::IDeclaration:
[legend]

Public Member Functions

virtual ID getName () const =0
 
' annotation.
Returns
the name by which the object should be referred to from the control plane. This is usually the same as externalName(), but any leading "." (which indicates that the name is global) is stripped out.
Parameters
replaceIf provided, a fallback name which is used if the object doesn't have an explicit '
virtual cstring externalName (cstring replace=cstring()) const
 
cstring controlPlaneName (cstring replace=cstring()) const
 
 DECLARE_TYPEINFO_WITH_TYPEID (IDeclaration, NodeKind::IDeclaration, INode)
 
- Public Member Functions inherited from P4::IR::INode
template<typename T >
std::enable_if_t<!has_static_type_name_v< T >, const T * > checkedTo () const
 
template<typename T >
std::enable_if_t< has_static_type_name_v< T >, const T * > checkedTo () const
 
 DECLARE_TYPEINFO_WITH_TYPEID (INode, NodeKind::INode)
 
virtual const NodegetNode () const =0
 
virtual NodegetNode ()=0
 
virtual cstring node_type_name () const =0
 
virtual void toJSON (JSONGenerator &) const =0
 
virtual void validate () const
 
- Public Member Functions inherited from P4::Util::IHasSourceInfo
virtual SourceInfo getSourceInfo () const =0
 
virtual cstring toString () const =0
 
- Public Member Functions inherited from P4::IHasDbPrint
virtual void dbprint (std::ostream &out) const =0
 
void print () const
 
- Public Member Functions inherited from P4::ICastable
template<typename T >
T & as ()
 Tries to convert the class to type T. A BUG occurs if the cast fails.
 
template<typename T >
const T & as () const
 Tries to convert the class to type T. A BUG occurs if the cast fails.
 
template<typename T >
T * checkedTo ()
 Performs a checked cast. A BUG occurs if the cast fails.
 
template<typename T >
const T * checkedTo () const
 Performs a checked cast. A BUG occurs if the cast fails.
 
- Public Member Functions inherited from P4::RTTI::Base
template<typename T >
bool is () const noexcept
 
virtual bool isA (TypeId typeId) const noexcept=0
 
template<typename T >
const T * to () const noexcept
 Same as to, but returns const pointer to T.
 
template<typename T >
T * to () noexcept
 
virtual TypeId typeId () const noexcept=0
 

Additional Inherited Members

- Protected Member Functions inherited from P4::RTTI::Base
virtual const void * toImpl (TypeId typeId) const noexcept=0
 

Detailed Description

The Declaration interface, representing objects with names.

Member Function Documentation

◆ getName()

virtual ID P4::IR::IDeclaration::getName ( ) const
pure virtual
Returns
the name of the declared object.