![]() |
P4C
The P4 Compiler
|
#include <methodInstance.h>
Public Member Functions | |
DECLARE_TYPEINFO (ExternFunction, ExternCall) | |
![]() | |
DECLARE_TYPEINFO (ExternCall, MethodInstance) | |
![]() | |
DECLARE_TYPEINFO (MethodInstance, InstanceBase) | |
const IR::ParameterList * | getActualParameters () const |
const IR::ParameterList * | getOriginalParameters () const |
virtual bool | isApply () const |
![]() | |
DECLARE_TYPEINFO (InstanceBase) | |
![]() | |
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. | |
![]() | |
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 |
Friends | |
class | MethodInstance |
Additional Inherited Members | |
![]() | |
static MethodInstance * | resolve (const IR::MethodCallExpression *mce, const DeclarationLookup *refMap, const Visitor::Context *ctxt=nullptr) |
static MethodInstance * | resolve (const IR::MethodCallExpression *mce, const DeclarationLookup *refMap, TypeMap *typeMap, bool useExpressionType=false, const Visitor::Context *ctxt=nullptr, bool incomplete=false) |
static MethodInstance * | resolve (const IR::MethodCallExpression *mce, const DeclarationLookup *refMap, TypeMap *typeMap, const Visitor::Context *ctxt, bool incomplete=false) |
static MethodInstance * | resolve (const IR::MethodCallStatement *mcs, const DeclarationLookup *refMap, const Visitor::Context *ctxt=nullptr) |
static MethodInstance * | resolve (const IR::MethodCallStatement *mcs, const DeclarationLookup *refMap, TypeMap *typeMap, const Visitor::Context *ctxt=nullptr) |
![]() | |
const IR::Method * | method |
![]() | |
const IR::Type_MethodBase * | actualMethodType |
const IR::MethodCallExpression * | expr |
const IR::IDeclaration * | object |
const IR::Type_MethodBase * | originalMethodType |
![]() | |
ParameterSubstitution | substitution |
For each callee parameter the corresponding argument. | |
TypeVariableSubstitution | typeSubstitution |
![]() | |
ExternCall (const IR::MethodCallExpression *expr, const IR::IDeclaration *decl, const IR::Method *method, const IR::Type_Method *originalMethodType, const IR::Type_Method *actualMethodType, bool incomplete) | |
![]() | |
MethodInstance (const IR::MethodCallExpression *mce, const IR::IDeclaration *decl, const IR::Type_MethodBase *originalMethodType, const IR::Type_MethodBase *actualMethodType) | |
void | bindParameters () |
![]() | |
![]() | |
virtual const void * | toImpl (TypeId typeId) const noexcept=0 |
Represents the call of an extern function