![]() |
P4C
The P4 Compiler
|
Base class for location sets that contain fields. More...
#include <def_use.h>
Public Member Functions | |
void | createField (cstring name, StorageLocation *field) |
void | dbprint (std::ostream &out) const override |
DECLARE_TYPEINFO (WithFieldsLocation, StorageLocation) | |
IterValues< hvec_map< cstring, const StorageLocation * >::const_iterator > | fields () const |
void | replaceField (cstring field, StorageLocation *replacement) |
![]() | |
StorageLocation (const IR::Type *type, cstring name) | |
virtual void | addLastIndexField (LocationSet *result) const =0 |
virtual void | addValidBits (LocationSet *result) const =0 |
DECLARE_TYPEINFO (StorageLocation) | |
const LocationSet * | getLastIndexField () const |
const LocationSet * | getValidBits () const |
const LocationSet * | removeHeaders () const |
virtual void | removeHeaders (LocationSet *result) const =0 |
cstring | toString () const |
![]() | |
void | print () const |
![]() | |
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 |
Protected Member Functions | |
WithFieldsLocation (const IR::Type *type, cstring name) | |
![]() | |
virtual const void * | toImpl (TypeId typeId) const noexcept=0 |
Protected Attributes | |
hvec_map< cstring, const StorageLocation * > | fieldLocations |
Friends | |
class | StorageFactory |
Additional Inherited Members | |
![]() | |
unsigned | id |
const cstring | name |
const IR::Type * | type |
Base class for location sets that contain fields.
|
inlineoverridevirtual |
Reimplemented from P4::StorageLocation.