Add const variables

This commit is contained in:
2025-11-15 22:17:40 -06:00
parent 06e19150e8
commit 48e409f6d0
10 changed files with 380 additions and 9 deletions

View File

@@ -2,6 +2,27 @@
#include <iostream>
#include <sstream>
namespace Tesses::CrossLang {
void ThrowConstError(std::string key)
{
throw std::runtime_error("Cannot set \"" + key + "\" because it is a const");
}
void TEnvironment::DeclareConstVariable(std::string key, TObject value)
{
this->DeclareVariable(key,value);
this->consts.push_back(key);
}
bool TEnvironment::HasConstForDeclare(std::string key)
{
for(auto item : this->consts)
if(item == key)
return true;
return false;
}
bool TEnvironment::HasConstForSet(std::string key)
{
return HasConstForDeclare(key);
}
bool TRootEnvironment::TryFindClass(std::vector<std::string>& name, size_t& index)
{
for(size_t i = 0; i < this->classes.size(); i++)