#include "src/sksl/ir/SkSLSymbolTable.h"
#include "src/sksl/SkSLContext.h"
#include "src/sksl/SkSLErrorReporter.h"
#include "src/sksl/SkSLPosition.h"
#include "src/sksl/SkSLProgramSettings.h"
#include "src/sksl/ir/SkSLExpression.h"
#include "src/sksl/ir/SkSLFunctionDeclaration.h"
#include "src/sksl/ir/SkSLType.h"
namespace SkSL {
std::unique_ptr<SymbolTable> SymbolTable::insertNewParent() { … }
bool SymbolTable::isType(std::string_view name) const { … }
bool SymbolTable::isBuiltinType(std::string_view name) const { … }
const Symbol* SymbolTable::findBuiltinSymbol(std::string_view name) const { … }
bool SymbolTable::wouldShadowSymbolsFrom(const SymbolTable* other) const { … }
Symbol* SymbolTable::lookup(const SymbolKey& key) const { … }
void SymbolTable::renameSymbol(const Context& context, Symbol* symbol, std::string_view newName) { … }
std::unique_ptr<Symbol> SymbolTable::removeSymbol(const Symbol* symbol) { … }
void SymbolTable::moveSymbolTo(SymbolTable* otherTable, Symbol* sym, const Context& context) { … }
const std::string* SymbolTable::takeOwnershipOfString(std::string str) { … }
void SymbolTable::addWithoutOwnership(const Context& context, Symbol* symbol) { … }
void SymbolTable::addWithoutOwnershipOrDie(Symbol* symbol) { … }
bool SymbolTable::addWithoutOwnership(Symbol* symbol) { … }
void SymbolTable::injectWithoutOwnership(Symbol* symbol) { … }
const Type* SymbolTable::addArrayDimension(const Context& context,
const Type* type,
int arraySize) { … }
std::unique_ptr<Expression> SymbolTable::instantiateSymbolRef(const Context& context,
std::string_view name,
Position pos) { … }
}