// Return a writable version of the variable 'name'. // // Return nullptr if 'name' is not found. This should mean // something is seriously wrong (e.g., compiler asking self for // built-in that doesn't exist). TVariable* TParseContextBase::getEditableVariable(const char* name) { bool builtIn; TSymbol* symbol = symbolTable.find(name, &builtIn); assert(symbol != nullptr); if (symbol == nullptr) return nullptr; if (builtIn) makeEditable(symbol); return symbol->getAsVariable(); }