Lines Matching defs:symbol

41     /** Replaces the passed-in SymbolTable with a newly-created child symbol table. */
50 * Replaces the passed-in SymbolTable with its parent. If the child symbol table is otherwise
58 * If the input is a built-in symbol table, returns a new empty symbol table as a child of the
59 * input table. If the input is not a built-in symbol table, returns it as-is. Built-in symbol
73 * Looks up the requested symbol and returns it. If a function has overloads, an
74 * UnresolvedFunction symbol (pointing to all of the candidates) will be added to the symbol
80 * Creates a new name for a symbol which already exists; does not take ownership of Symbol*.
82 void addAlias(skstd::string_view name, const Symbol* symbol);
84 void addWithoutOwnership(const Symbol* symbol);
87 const T* add(std::unique_ptr<T> symbol) {
88 const T* ptr = symbol.get();
90 this->takeOwnershipOfSymbol(std::move(symbol));
95 const T* takeOwnershipOfSymbol(std::unique_ptr<T> symbol) {
96 const T* ptr = symbol.get();
97 fOwnedSymbols.push_back(std::move(symbol));
109 * Given type = `float` and arraySize = 5, creates the array type `float[5]` in the symbol
115 // Call fn for every symbol in the table. You may not mutate anything.
119 [&fn](const SymbolKey& key, const Symbol* symbol) { fn(key.fName, symbol); });
132 * Returns the built-in symbol table that this SymbolTable rests upon.
133 * If this symbol table is already a built-in, it will be returned as-is.
175 * While in scope, the passed-in symbol table is replaced with a child symbol table.