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

#include <fif.hpp>

Inheritance diagram for fif::opaque_compiler_data:
Collaboration diagram for fif::opaque_compiler_data:

Public Member Functions

 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 ()
 

Protected Attributes

opaque_compiler_dataparent = nullptr
 

Detailed Description

Definition at line 641 of file fif.hpp.

Constructor & Destructor Documentation

◆ opaque_compiler_data()

fif::opaque_compiler_data::opaque_compiler_data ( opaque_compiler_data parent)
inline

Definition at line 645 of file fif.hpp.

◆ ~opaque_compiler_data()

virtual fif::opaque_compiler_data::~opaque_compiler_data ( )
virtualdefault

Member Function Documentation

◆ bytecode_compilation_progress()

virtual std::vector< int32_t > * fif::opaque_compiler_data::bytecode_compilation_progress ( )
inlinevirtual

Reimplemented in fif::function_scope.

Definition at line 663 of file fif.hpp.

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

◆ create_let()

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

Reimplemented in fif::locals_holder, fif::mode_switch_scope, and fif::outer_interpreter.

Definition at line 688 of file fif.hpp.

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

◆ create_var()

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

Reimplemented in fif::locals_holder, fif::mode_switch_scope, and fif::outer_interpreter.

Definition at line 685 of file fif.hpp.

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

◆ finish()

virtual bool fif::opaque_compiler_data::finish ( environment env)
inlinevirtual

◆ get_let()

virtual let_data * fif::opaque_compiler_data::get_let ( std::string const &  name)
inlinevirtual

Reimplemented in fif::locals_holder, fif::mode_switch_scope, and fif::outer_interpreter.

Definition at line 682 of file fif.hpp.

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

◆ get_type()

◆ get_var()

virtual var_data * fif::opaque_compiler_data::get_var ( std::string const &  name)
inlinevirtual

Reimplemented in fif::locals_holder, fif::mode_switch_scope, and fif::outer_interpreter.

Definition at line 679 of file fif.hpp.

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

◆ instance_id()

virtual int32_t fif::opaque_compiler_data::instance_id ( )
inlinevirtual

Reimplemented in fif::function_scope.

Definition at line 660 of file fif.hpp.

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

◆ llvm_block()

virtual LLVMBasicBlockRef * fif::opaque_compiler_data::llvm_block ( )
inlinevirtual

Reimplemented in fif::function_scope.

Definition at line 654 of file fif.hpp.

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

◆ llvm_function()

virtual LLVMValueRef fif::opaque_compiler_data::llvm_function ( )
inlinevirtual

Reimplemented in fif::function_scope.

Definition at line 651 of file fif.hpp.

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

◆ set_working_state()

virtual void fif::opaque_compiler_data::set_working_state ( std::unique_ptr< state_stack p)
inlinevirtual

Reimplemented in fif::function_scope, fif::mode_switch_scope, fif::outer_interpreter, fif::conditional_scope, fif::while_loop_scope, and fif::do_loop_scope.

Definition at line 672 of file fif.hpp.

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

◆ type_substitutions()

virtual std::vector< int32_t > * fif::opaque_compiler_data::type_substitutions ( )
inlinevirtual

Reimplemented in fif::function_scope.

Definition at line 691 of file fif.hpp.

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

◆ typecheck_record()

virtual ankerl::unordered_dense::map< uint64_t, typecheck_3_record > * fif::opaque_compiler_data::typecheck_record ( )
inlinevirtual

Reimplemented in fif::function_scope, fif::mode_switch_scope, and fif::typecheck3_record_holder.

Definition at line 666 of file fif.hpp.

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

◆ word_id()

virtual int32_t fif::opaque_compiler_data::word_id ( )
inlinevirtual

Reimplemented in fif::function_scope.

Definition at line 657 of file fif.hpp.

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

◆ working_state()

virtual state_stack * fif::opaque_compiler_data::working_state ( )
inlinevirtual

Reimplemented in fif::function_scope, fif::mode_switch_scope, fif::outer_interpreter, fif::conditional_scope, fif::while_loop_scope, and fif::do_loop_scope.

Definition at line 669 of file fif.hpp.

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

Member Data Documentation

◆ parent

opaque_compiler_data* fif::opaque_compiler_data::parent = nullptr
protected

Definition at line 643 of file fif.hpp.


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