19#ifndef P4_SYMBOL_TABLE_H_ 
   20#define P4_SYMBOL_TABLE_H_ 
   25#include <unordered_map> 
   29#include "lib/cstring.h" 
   30#include "lib/source_file.h" 
   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);
 
   71    void markAsTemplate(
IR::ID id);  
 
   78    SymbolKind lookupIdentifier(
cstring identifier);
 
   80    void startAbsolutePath();
 
   81    void relativePathFromLastSymbol();
 
 
Definition symbol_table.cpp:30
 
Definition symbol_table.cpp:63
 
Definition symbol_table.h:39
 
Definition source_file.h:123