P4C
The P4 Compiler
P4::TypeInference Member List

This is the complete list of members for P4::TypeInference, including all inherited members.

actionCall(bool inActionList, const IR::MethodCallExpression *actionCall) (defined in P4::TypeInference)P4::TypeInferenceprotected
addSubstitutions(const TypeVariableSubstitution *tvs) (defined in P4::TypeInference)P4::TypeInferenceprotected
apply_visitor(const IR::Node *, const char *name=0) override (defined in P4::TypeInference)P4::TypeInferencevirtual
assignment(const IR::Node *errorPosition, const IR::Type *destType, const IR::Expression *sourceExpression)P4::TypeInferenceprotected
binaryArith(const IR::Operation_Binary *op) (defined in P4::TypeInference)P4::TypeInferenceprotected
binaryBool(const IR::Operation_Binary *op) (defined in P4::TypeInference)P4::TypeInferenceprotected
called_by (defined in Visitor)Visitor
canCastBetween(const IR::Type *dest, const IR::Type *src) const (defined in P4::TypeInference)P4::TypeInferenceprotected
canonicalize(const IR::Type *type)P4::TypeInferenceprotectedvirtual
canonicalizeFields(const IR::Type_StructLike *type, std::function< const IR::Type *(const IR::IndexedVector< IR::StructField > *)> constructor) (defined in P4::TypeInference)P4::TypeInferenceprotected
canonicalizeParameters(const IR::ParameterList *params) (defined in P4::TypeInference)P4::TypeInferenceprotectedvirtual
check_global(cstring) (defined in Visitor)Visitorinlinevirtual
checkAbstractMethods(const IR::Declaration_Instance *inst, const IR::Type_Extern *type) (defined in P4::TypeInference)P4::TypeInferenceprotected
checkArrays (defined in P4::TypeInference)P4::TypeInferenceprotected
checkExternConstructor(const IR::Node *errorPosition, const IR::Type_Extern *ext, const IR::Vector< IR::Argument > *arguments) (defined in P4::TypeInference)P4::TypeInferenceprotected
checkParameters(const IR::ParameterList *paramList, bool forbidModules=false, bool forbidPackage=false) const (defined in P4::TypeInference)P4::TypeInferenceprotected
checkUnderlyingEnumType(const IR::Type *enumType)P4::TypeInferenceprotected
clear_globals() (defined in Visitor)Visitorinlinevirtual
clone() const override (defined in P4::TypeInference)P4::TypeInferencevirtual
cloneWithFreshTypeVariables(const IR::IMayBeGenericType *type) (defined in P4::TypeInference)P4::TypeInferenceprotected
compare(const IR::Node *errorPosition, const IR::Type *ltype, const IR::Type *rtype, Comparison *compare) (defined in P4::TypeInference)P4::TypeInference
constantFold(const IR::Expression *expression) (defined in P4::TypeInference)P4::TypeInferenceprotected
containerInstantiation(const IR::Node *node, const IR::Vector< IR::Argument > *args, const IR::IContainer *container)P4::TypeInferenceprotected
containsActionEnum(const IR::Type *type) const (defined in P4::TypeInference)P4::TypeInferenceprotected
containsHeader(const IR::Type *canonType) (defined in P4::TypeInference)P4::TypeInferenceprotected
Context typedef (defined in Visitor)Visitor
currentActionListP4::TypeInferenceprotected
demangle(const char *) (defined in Visitor)Visitorstatic
done() const (defined in P4::TypeInference)P4::TypeInferenceprotected
dontForwardChildrenBeforePreorder (defined in Visitor)Visitorprotected
end_apply(const IR::Node *Node) override (defined in P4::TypeInference)P4::TypeInferencevirtual
end_apply() (defined in Visitor)Visitorvirtual
erase_global(cstring) (defined in Visitor)Visitorinlinevirtual
findContext(const Context *&c) const (defined in Visitor)Visitorinline
findContext() const (defined in Visitor)Visitorinline
findOrigCtxt(const Context *&c) const (defined in Visitor)Visitorinline
findOrigCtxt() const (defined in Visitor)Visitorinline
flow_clone() (defined in Visitor)Visitorinlinevirtual
flow_merge(Visitor &)Visitorinlinevirtual
flow_merge_global_from(cstring) (defined in Visitor)Visitorinlinevirtual
flow_merge_global_to(cstring)Visitorinlinevirtual
forbidModules (defined in P4::TypeInference)P4::TypeInferenceprotectedstatic
forbidPackages (defined in P4::TypeInference)P4::TypeInferenceprotectedstatic
getChildContext() const (defined in Visitor)Visitorinline
getChildrenVisited() const (defined in Visitor)Visitorinline
getContext() const (defined in Visitor)Visitorinline
getContextDepth() const (defined in Visitor)Visitorinline
getCurrentNode() constVisitorinline
getCurrentNode() const (defined in Visitor)Visitorinline
getOriginal() const (defined in Visitor)Visitorinline
getOriginal() const (defined in Visitor)Visitorinline
getParent() const (defined in Visitor)Visitorinline
getType(const IR::Node *element) const (defined in P4::TypeInference)P4::TypeInferenceprotected
getTypeType(const IR::Node *element) const (defined in P4::TypeInference)P4::TypeInferenceprotected
has_flow_joins() const (defined in Visitor)Visitorinlinevirtual
init_apply(const IR::Node *node) override (defined in P4::TypeInference)P4::TypeInferencevirtual
init_apply(const IR::Node *root, const Context *parent_context) (defined in Visitor)Visitor
init_join_flows(const IR::Node *) (defined in Visitor)Visitorinlineprotectedvirtual
internalName (defined in Visitor)Visitormutable
isCompileTimeConstant(const IR::Expression *expression) const (defined in P4::TypeInference)P4::TypeInferenceinlineprotected
isInContext(const IR::Node *n) const (defined in Visitor)Visitorinline
isLeftValue(const IR::Expression *expression) const (defined in P4::TypeInference)P4::TypeInferenceinlineprotected
join_flows(const IR::Node *)Visitorinlineprotectedvirtual
joinFlows (defined in Visitor)Visitorprotected
learn(const IR::Node *node, Visitor *caller) (defined in P4::TypeInference)P4::TypeInference
loop_revisit(const IR::Node *) (defined in Transform)Transforminlinevirtual
matchCase(const IR::SelectExpression *select, const IR::Type_BaseList *selectType, const IR::SelectCase *selectCase, const IR::Type *caseType) (defined in P4::TypeInference)P4::TypeInferenceprotected
name() const (defined in Visitor)Visitorinlinevirtual
onlyBitsOrBitStructs(const IR::Type *type) const (defined in P4::TypeInference)P4::TypeInferenceprotected
parallel_visit(IR::Vector< T > &v, const char *name=0) (defined in Visitor)Visitorinline
parallel_visit(const IR::Vector< T > &v, const char *name=0) (defined in Visitor)Visitorinline
parallel_visit(IR::Vector< T > &v, const char *name, int cidx) (defined in Visitor)Visitorinline
parallel_visit(const IR::Vector< T > &v, const char *name, int cidx) (defined in Visitor)Visitorinline
post_join_flows(const IR::Node *, const IR::Node *)Visitorinlineprotectedvirtual
postorder(IR::Declaration_MatchKind *decl) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Declaration_Variable *decl) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Declaration_Constant *constant) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::P4Control *cont) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::P4Parser *cont) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Method *method) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_Type *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_Table *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_Error *decl) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_InfInt *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_Method *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_Action *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_Name *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_Base *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_Var *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_Enum *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_Extern *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::StructField *field) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_Header *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_Stack *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_Struct *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_HeaderUnion *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_Typedef *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_Specialized *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_SpecializedCanonical *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_Tuple *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_P4List *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_List *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_Set *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_ArchBlock *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_Newtype *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_Package *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Type_ActionEnum *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::P4Table *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::P4Action *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::P4ValueSet *type) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Key *key) overrideP4::TypeInference
postorder(IR::Entry *e) overrideP4::TypeInference
postorder(IR::Dots *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Argument *arg) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::SerEnumMember *member) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Parameter *param) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Constant *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::BoolLiteral *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::StringLiteral *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Operation_Relation *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Concat *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::ArrayIndex *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::LAnd *expression) override (defined in P4::TypeInference)P4::TypeInferenceinline
postorder(IR::LOr *expression) override (defined in P4::TypeInference)P4::TypeInferenceinline
postorder(IR::Add *expression) override (defined in P4::TypeInference)P4::TypeInferenceinline
postorder(IR::Sub *expression) override (defined in P4::TypeInference)P4::TypeInferenceinline
postorder(IR::AddSat *expression) override (defined in P4::TypeInference)P4::TypeInferenceinline
postorder(IR::SubSat *expression) override (defined in P4::TypeInference)P4::TypeInferenceinline
postorder(IR::Mul *expression) override (defined in P4::TypeInference)P4::TypeInferenceinline
postorder(IR::Div *expression) override (defined in P4::TypeInference)P4::TypeInferenceinline
postorder(IR::Mod *expression) override (defined in P4::TypeInference)P4::TypeInferenceinline
postorder(IR::Shl *expression) override (defined in P4::TypeInference)P4::TypeInferenceinline
postorder(IR::Shr *expression) override (defined in P4::TypeInference)P4::TypeInferenceinline
postorder(IR::BXor *expression) override (defined in P4::TypeInference)P4::TypeInferenceinline
postorder(IR::BAnd *expression) override (defined in P4::TypeInference)P4::TypeInferenceinline
postorder(IR::BOr *expression) override (defined in P4::TypeInference)P4::TypeInferenceinline
postorder(IR::Mask *expression) override (defined in P4::TypeInference)P4::TypeInferenceinline
postorder(IR::Range *expression) override (defined in P4::TypeInference)P4::TypeInferenceinline
postorder(IR::LNot *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Neg *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::UPlus *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Cmpl *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Cast *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Mux *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Slice *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::PathExpression *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Member *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::TypeNameExpression *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::ListExpression *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::InvalidHeader *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::InvalidHeaderUnion *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Invalid *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::P4ListExpression *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::StructExpression *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::HeaderStackExpression *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::MethodCallExpression *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::ConstructorCallExpression *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::SelectExpression *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::DefaultExpression *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::This *expression) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::AttribLocal *local) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::ActionList *al) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::ReturnStatement *stat) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::IfStatement *stat) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::SwitchStatement *stat) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::AssignmentStatement *stat) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::ActionListElement *elem) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::KeyElement *elem) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Property *elem) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::SelectCase *elem) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Annotation *annotation) override (defined in P4::TypeInference)P4::TypeInference
postorder(IR::Node *n) (defined in P4::TypeInference)P4::TypeInferenceinline
postorder(IR::Node *n) (defined in Transform)Transforminlinevirtual
preorder(IR::Expression *expression) override (defined in P4::TypeInference)P4::TypeInferenceinline
preorder(IR::Type *type) override (defined in P4::TypeInference)P4::TypeInferenceinline
preorder(IR::Function *function) override (defined in P4::TypeInference)P4::TypeInference
preorder(IR::P4Program *program) override (defined in P4::TypeInference)P4::TypeInference
preorder(IR::Declaration_Instance *decl) override (defined in P4::TypeInference)P4::TypeInference
preorder(IR::EntriesList *el) overrideP4::TypeInference
preorder(IR::Type_SerEnum *type) override (defined in P4::TypeInference)P4::TypeInference
preorder(IR::Node *n) (defined in P4::TypeInference)P4::TypeInferenceinline
preorder(IR::Node *n) (defined in Transform)Transforminlinevirtual
print_context() const (defined in Visitor)Visitor
prune() (defined in Transform)Transforminline
pruneIfDone(const IR::Node *node) (defined in P4::TypeInference)P4::TypeInferenceinline
readOnly (defined in P4::TypeInference)P4::TypeInferenceprotected
revisit(const IR::Node *, const IR::Node *) (defined in Transform)Transforminlinevirtual
revisit_visited() (defined in Transform)Transform
setCalledBy(const Visitor *visitor) (defined in Visitor)Visitorinline
setCompileTimeConstant(const IR::Expression *expression) (defined in P4::TypeInference)P4::TypeInferenceinlineprotected
setLeftValue(const IR::Expression *expression) (defined in P4::TypeInference)P4::TypeInferenceinlineprotected
setName(const char *name) (defined in Visitor)Visitorinline
setType(const IR::Node *element, const IR::Type *type) (defined in P4::TypeInference)P4::TypeInferenceprotected
setTypeType(const IR::Type *type, bool learn=true) (defined in P4::TypeInference)P4::TypeInferenceprotectedvirtual
shift(const IR::Operation_Binary *op) (defined in P4::TypeInference)P4::TypeInferenceprotected
specialize(const IR::IMayBeGenericType *type, const IR::Vector< IR::Type > *arguments)P4::TypeInferencestatic
split_link (defined in Visitor)Visitor
split_link_mem (defined in Visitor)Visitor
transform_child(const IR::Node *child) (defined in Transform)Transforminlineprotected
TypeInference(ReferenceMap *refMap, TypeMap *typeMap, bool readOnly=false, bool checkArrays=true) (defined in P4::TypeInference)P4::TypeInference
typeSet(const IR::Operation_Binary *op) (defined in P4::TypeInference)P4::TypeInferenceprotected
unify(const IR::Node *errorPosition, const IR::Type *destType, const IR::Type *srcType, cstring errorFormat=nullptr, std::initializer_list< const IR::Node * > errorArgs={})P4::TypeInferenceinlineprotected
unifyBase(bool allowCasts, const IR::Node *errorPosition, const IR::Type *destType, const IR::Type *srcType, cstring errorFormat, std::initializer_list< const IR::Node * > errorArgs) (defined in P4::TypeInference)P4::TypeInferenceprotected
unifyCast(const IR::Node *errorPosition, const IR::Type *destType, const IR::Type *srcType, cstring errorFormat=nullptr, std::initializer_list< const IR::Node * > errorArgs={})P4::TypeInferenceinlineprotected
unsBinaryArith(const IR::Operation_Binary *op) (defined in P4::TypeInference)P4::TypeInferenceprotected
validateActionInitializer(const IR::Expression *actionCall)P4::TypeInferenceprotected
validateFields(const IR::Type *type, std::function< bool(const IR::Type *)> checker) constP4::TypeInferenceprotected
visit(const IR::Node *&n, const char *name=0) (defined in Visitor)Visitorinline
visit(const IR::Node *const &n, const char *name=0) (defined in Visitor)Visitorinline
visit(const IR::Node *&n, const char *name, int cidx) (defined in Visitor)Visitorinline
visit(const IR::Node *const &n, const char *name, int cidx) (defined in Visitor)Visitorinline
visit(IR::Node *&, const char *=0, int=0) (defined in Visitor)Visitorinline
visit(IR::Node &n, const char *name=0) (defined in Visitor)Visitorinline
visit(const IR::Node &n, const char *name=0) (defined in Visitor)Visitorinline
visit(IR::Node &n, const char *name, int cidx) (defined in Visitor)Visitorinline
visit(const IR::Node &n, const char *name, int cidx) (defined in Visitor)Visitorinline
visit_children(const IR::Node *, std::function< void()> fn) (defined in Visitor)Visitorinlineprotected
visit_in_progress(const IR::Node *) const (defined in Transform)Transform
visitAgain() const override (defined in Transform)Transformvirtual
visitDagOnce (defined in Visitor)Visitorprotected
visitOnce() const override (defined in Transform)Transformvirtual
Visitor() (defined in Visitor)Visitorinline
warn(const int kind, const char *format, const T *node, Args... args) (defined in Visitor)Visitorinline
warn(const int kind, const char *format, const T &node, Args... args)Visitorinline
warning_enabled(int warning_kind) constVisitorinline
warning_enabled(const Visitor *visitor, int warning_kind)Visitorstatic
~Visitor()=default (defined in Visitor)Visitorvirtual