49 PathContext() : previousSymbol(
nullptr), lookupContext(
nullptr) {}
57 enum class SymbolKind {
66 void setDebug(
bool debug) { this->debug = debug; }
67 void pushNamespace(
SourceInfo info,
bool allowDuplicates);
68 void pushContainerType(IR::ID
id,
bool allowDuplicates);
69 void declareType(IR::ID
id);
70 void declareObject(IR::ID
id,
cstring type);
71 void markAsTemplate(IR::ID
id);
76 void declareTypes(
const IR::IndexedVector<IR::Type_Var> *typeVars);
77 void declareParameters(
const IR::IndexedVector<IR::Parameter> *params);
78 SymbolKind lookupIdentifier(
cstring identifier);
80 void startAbsolutePath();
81 void relativePathFromLastSymbol();