NewLang Project
Yet another programm language
Loading...
Searching...
No Matches
newlang::GlobalObjects Class Reference

#include <types.h>

Inheritance diagram for newlang::GlobalObjects:

Public Types

typedef std::pair< std::string, VariablePairPairType
 

Public Member Functions

bool RegisterObject (bool only_new, const std::string_view name, TermPtr term, Variable var)
 

 
VariablePairFindObject (const std::string_view name)
 
size_t size ()
 
bool AppendModule (ModulePtr module)
 
std::string Dump (const std::string_view filter="", const char delim=';')
 

Public Attributes

ModulePtr m_curr_module
 
std::map< std::string, ModulePtrm_modules
 

Detailed Description

Definition at line 207 of file types.h.

Member Typedef Documentation

◆ PairType

typedef std::pair<std::string, VariablePair> newlang::GlobalObjects::PairType

Definition at line 214 of file types.h.

Member Function Documentation

◆ RegisterObject()

bool GlobalObjects::RegisterObject ( bool only_new,
const std::string_view name,
TermPtr term,
Variable var )

Регистрирует глобальный объект

Parameters
only_new- Признак создания нового объекта (использован оператор '::=')
name- Имя объекта
term- Термин в исходном коде (может не быть, если модуль скомпилирован или оптимизирован)
var- Скомпилированный объект (может не быть, если идет анализ AST)
Returns

Definition at line 239 of file types.cpp.

References ASSERT, newlang::Term::CheckTermEq(), newlang::Variable::is_undefined(), LOG_LEVEL_INFO, NL_MESSAGE, newlang::VariablePair::term, and newlang::VariablePair::var.

Referenced by newlang::NameLookupStack::AddName(), newlang::Context::EvalLeftVars_(), newlang::RunTime::RegisterBuildinFunc(), newlang::RunTime::RegisterBuildinType(), and newlang::RunTime::RegisterSystemFunc().

◆ FindObject()

VariablePair * GlobalObjects::FindObject ( const std::string_view name)

◆ size()

size_t newlang::GlobalObjects::size ( )
inline

Definition at line 229 of file types.h.

◆ AppendModule()

bool newlang::GlobalObjects::AppendModule ( ModulePtr module)

◆ Dump()

std::string GlobalObjects::Dump ( const std::string_view filter = "",
const char delim = ';' )

Definition at line 314 of file types.cpp.

References newlang::StringMatcher::MatchesName(), and result.

Referenced by newlang::AstAnalysis::LookupName().

Member Data Documentation

◆ m_curr_module

ModulePtr newlang::GlobalObjects::m_curr_module

Definition at line 210 of file types.h.

◆ m_modules

std::map<std::string, ModulePtr> newlang::GlobalObjects::m_modules

Definition at line 211 of file types.h.


The documentation for this class was generated from the following files: