Lines Matching refs:SymbolTable
30 class SymbolTable {
32 SymbolTable(const Context& context, bool builtin)
36 SymbolTable(std::shared_ptr<SymbolTable> parent, bool builtin)
41 /** Replaces the passed-in SymbolTable with a newly-created child symbol table. */
42 static void Push(std::shared_ptr<SymbolTable>* table) {
45 static void Push(std::shared_ptr<SymbolTable>* table, bool isBuiltin) {
46 *table = std::make_shared<SymbolTable>(*table, isBuiltin);
50 * Replaces the passed-in SymbolTable with its parent. If the child symbol table is otherwise
53 static void Pop(std::shared_ptr<SymbolTable>* table) {
62 static std::shared_ptr<SymbolTable> WrapIfBuiltin(std::shared_ptr<SymbolTable> symbolTable) {
69 return std::make_shared<SymbolTable>(std::move(symbolTable), /*builtin=*/false);
126 /** Returns true if this is a built-in SymbolTable. */
132 * Returns the built-in symbol table that this SymbolTable rests upon.
135 SkSL::SymbolTable* builtinParent() {
141 std::shared_ptr<SymbolTable> fParent;
161 const Symbol* lookup(SymbolTable* writableSymbolTable, const SymbolKey& key);
179 AutoSymbolTable(std::shared_ptr<SymbolTable>* s)
182 SymbolTable::Push(fSymbolTable);
186 SymbolTable::Pop(fSymbolTable);
190 std::shared_ptr<SymbolTable>* fSymbolTable;
191 SkDEBUGCODE(SymbolTable* fPrevious;)