P4C
The P4 Compiler
Loading...
Searching...
No Matches
P4::SpecializationMap Class Reference

Maintains a map from invocation to a SpecializationInfo object. More...

#include <specialize.h>

Public Member Functions

void addSpecialization (const IR::ConstructorCallExpression *invocation, const IR::IContainer *container, const IR::Node *insertion, DeclarationLookup *declLookup, NameGenerator *nameGen)
 
void addSpecialization (const IR::Declaration_Instance *invocation, const IR::IContainer *container, const IR::Node *insertion, DeclarationLookup *declLookup, NameGenerator *nameGen)
 
void clear ()
 
cstring getName (const IR::Node *insertion) const
 
IR::Vector< IR::Node > * getSpecializations (const IR::Node *insertion, const Visitor::Context *ctxt) const
 

Public Attributes

TypeMaptypeMap = nullptr
 

Detailed Description

Maintains a map from invocation to a SpecializationInfo object.

Member Function Documentation

◆ addSpecialization() [1/2]

void P4::SpecializationMap::addSpecialization ( const IR::ConstructorCallExpression * invocation,
const IR::IContainer * container,
const IR::Node * insertion,
DeclarationLookup * declLookup,
NameGenerator * nameGen )

Add a specialization instance.

Parameters
invocationThe constructor invocation.
containerThe object (eg. parser or control) being specialized.
insertionWhere the specialization should be inserted.

◆ addSpecialization() [2/2]

void P4::SpecializationMap::addSpecialization ( const IR::Declaration_Instance * invocation,
const IR::IContainer * container,
const IR::Node * insertion,
DeclarationLookup * declLookup,
NameGenerator * nameGen )

Add a specialization instance.

Parameters
invocationThe constructor invocation.
containerThe object (eg. parser or control) being specialized.
insertionWhere the specialization should be inserted.

The documentation for this class was generated from the following files: