Lines Matching defs:const
32 SymbolTable(const Context& context, bool builtin)
77 const Symbol* operator[](skstd::string_view name);
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();
95 const T* takeOwnershipOfSymbol(std::unique_ptr<T> symbol) {
96 const T* ptr = symbol.get();
102 const T* takeOwnershipOfIRNode(std::unique_ptr<T> node) {
103 const T* ptr = node.get();
113 const Type* addArrayDimension(const Type* type, int arraySize);
117 void foreach(Fn&& fn) const {
119 [&fn](const SymbolKey& key, const Symbol* symbol) { fn(key.fName, symbol); });
127 bool isBuiltin() const {
139 const String* takeOwnershipOfString(String n);
143 std::vector<std::unique_ptr<const Symbol>> fOwnedSymbols;
150 bool operator==(const SymbolKey& that) const { return fName == that.fName; }
151 bool operator!=(const SymbolKey& that) const { return fName != that.fName; }
153 uint32_t operator()(const SymbolKey& key) const { return key.fHash; }
161 const Symbol* lookup(SymbolTable* writableSymbolTable, const SymbolKey& key);
163 static std::vector<const FunctionDeclaration*> GetFunctions(const Symbol& s);
168 SkTHashMap<SymbolKey, const Symbol*, SymbolKey::Hash> fSymbols;
169 const Context& fContext;