Project Alice
Loading...
Searching...
No Matches
fif::compiler_globals_layer Class Reference

#include <fif.hpp>

Inheritance diagram for fif::compiler_globals_layer:
Collaboration diagram for fif::compiler_globals_layer:

Public Member Functions

 compiler_globals_layer (opaque_compiler_data *p, environment &env)
 
virtual control_structure get_type () override
 
var_dataget_global_var (std::string const &name)
 
var_datacreate_global_var (std::string const &name, int32_t type)
 
let_dataget_global_let (std::string const &name)
 
let_datacreate_global_let (std::string const &name, int32_t type, int64_t data, LLVMValueRef expression)
 
- Public Member Functions inherited from fif::opaque_compiler_data
 opaque_compiler_data (opaque_compiler_data *parent)
 
virtual ~opaque_compiler_data ()=default
 
virtual control_structure get_type ()
 
virtual LLVMValueRef llvm_function ()
 
virtual LLVMBasicBlockRefllvm_block ()
 
virtual int32_t word_id ()
 
virtual int32_t instance_id ()
 
virtual std::vector< int32_t > * bytecode_compilation_progress ()
 
virtual ankerl::unordered_dense::map< uint64_t, typecheck_3_record > * typecheck_record ()
 
virtual state_stackworking_state ()
 
virtual void set_working_state (std::unique_ptr< state_stack > p)
 
virtual bool finish (environment &env)
 
virtual var_dataget_var (std::string const &name)
 
virtual let_dataget_let (std::string const &name)
 
virtual var_datacreate_var (std::string const &name, int32_t type)
 
virtual let_datacreate_let (std::string const &name, int32_t type, int64_t data, LLVMValueRef expression)
 
virtual std::vector< int32_t > * type_substitutions ()
 

Public Attributes

ankerl::unordered_dense::map< std::string, std::unique_ptr< var_data > > global_vars
 
ankerl::unordered_dense::map< std::string, std::unique_ptr< let_data > > global_lets
 
environmentenv
 

Additional Inherited Members

- Protected Attributes inherited from fif::opaque_compiler_data
opaque_compiler_dataparent = nullptr
 

Detailed Description

Definition at line 805 of file fif.hpp.

Constructor & Destructor Documentation

◆ compiler_globals_layer()

fif::compiler_globals_layer::compiler_globals_layer ( opaque_compiler_data p,
environment env 
)
inline

Definition at line 810 of file fif.hpp.

Member Function Documentation

◆ create_global_let()

let_data * fif::compiler_globals_layer::create_global_let ( std::string const &  name,
int32_t  type,
int64_t  data,
LLVMValueRef  expression 
)
inline

Definition at line 845 of file fif.hpp.

◆ create_global_var()

var_data * fif::compiler_globals_layer::create_global_var ( std::string const &  name,
int32_t  type 
)
inline

Definition at line 823 of file fif.hpp.

Here is the call graph for this function:

◆ get_global_let()

let_data * fif::compiler_globals_layer::get_global_let ( std::string const &  name)
inline

Definition at line 839 of file fif.hpp.

◆ get_global_var()

var_data * fif::compiler_globals_layer::get_global_var ( std::string const &  name)
inline

Definition at line 817 of file fif.hpp.

◆ get_type()

virtual control_structure fif::compiler_globals_layer::get_type ( )
inlineoverridevirtual

Reimplemented from fif::opaque_compiler_data.

Definition at line 813 of file fif.hpp.

Member Data Documentation

◆ env

environment& fif::compiler_globals_layer::env

Definition at line 809 of file fif.hpp.

◆ global_lets

ankerl::unordered_dense::map<std::string, std::unique_ptr<let_data> > fif::compiler_globals_layer::global_lets

Definition at line 808 of file fif.hpp.

◆ global_vars

ankerl::unordered_dense::map<std::string, std::unique_ptr<var_data> > fif::compiler_globals_layer::global_vars

Definition at line 807 of file fif.hpp.


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