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

#include <fif.hpp>

Inheritance diagram for fif::locals_holder:
Collaboration diagram for fif::locals_holder:

Public Member Functions

 locals_holder (opaque_compiler_data *p, environment &env)
 
virtual var_dataget_var (std::string const &name) override
 
virtual var_datacreate_var (std::string const &name, int32_t type) override
 
virtual let_dataget_let (std::string const &name) override
 
virtual let_datacreate_let (std::string const &name, int32_t type, int64_t data, LLVMValueRef expression) override
 
void release_locals ()
 
- 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 > > vars
 
ankerl::unordered_dense::map< std::string, std::unique_ptr< let_data > > lets
 
environmentenv
 
const bool llvm_mode
 

Additional Inherited Members

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

Detailed Description

Definition at line 2603 of file fif.hpp.

Constructor & Destructor Documentation

◆ locals_holder()

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

Definition at line 2610 of file fif.hpp.

Member Function Documentation

◆ create_let()

virtual let_data * fif::locals_holder::create_let ( std::string const &  name,
int32_t  type,
int64_t  data,
LLVMValueRef  expression 
)
inlineoverridevirtual

Reimplemented from fif::opaque_compiler_data.

Definition at line 2641 of file fif.hpp.

◆ create_var()

virtual var_data * fif::locals_holder::create_var ( std::string const &  name,
int32_t  type 
)
inlineoverridevirtual

Reimplemented from fif::opaque_compiler_data.

Definition at line 2619 of file fif.hpp.

Here is the call graph for this function:

◆ get_let()

virtual let_data * fif::locals_holder::get_let ( std::string const &  name)
inlineoverridevirtual

Reimplemented from fif::opaque_compiler_data.

Definition at line 2635 of file fif.hpp.

Here is the call graph for this function:

◆ get_var()

virtual var_data * fif::locals_holder::get_var ( std::string const &  name)
inlineoverridevirtual

Reimplemented from fif::opaque_compiler_data.

Definition at line 2613 of file fif.hpp.

Here is the call graph for this function:

◆ release_locals()

void fif::locals_holder::release_locals ( )
inline

Definition at line 2658 of file fif.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ env

environment& fif::locals_holder::env

Definition at line 2607 of file fif.hpp.

◆ lets

ankerl::unordered_dense::map<std::string, std::unique_ptr<let_data> > fif::locals_holder::lets

Definition at line 2606 of file fif.hpp.

◆ llvm_mode

const bool fif::locals_holder::llvm_mode

Definition at line 2608 of file fif.hpp.

◆ vars

ankerl::unordered_dense::map<std::string, std::unique_ptr<var_data> > fif::locals_holder::vars

Definition at line 2605 of file fif.hpp.


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