P4C
The P4 Compiler
P4::SpecializationMap Class Reference

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

Public Member Functions

void addSpecialization (const IR::ConstructorCallExpression *invocation, const IR::IContainer *container, const IR::Node *insertion)
 
void addSpecialization (const IR::Declaration_Instance *invocation, const IR::IContainer *container, const IR::Node *insertion)
 
void clear ()
 
cstring getName (const IR::Node *insertion) const
 
IR::Vector< IR::Node > * getSpecializations (const IR::Node *insertion) const
 

Public Attributes

ReferenceMaprefMap = nullptr
 
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 
)

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 
)

Add a specialization instance.

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