Thorin 1.9.0
The Higher ORder INtermediate representation
Loading...
Searching...
No Matches
thorin::ast::Module Class Reference

#include <thorin/ast/ast.h>

Inheritance diagram for thorin::ast::Module:
[legend]

Public Member Functions

 Module (Loc loc, Ptrs< Import > &&imports, Ptrs< ValDecl > &&decls)
 
const auto & implicit_imports () const
 
const auto & imports () const
 
const auto & decls () const
 
void add_implicit_imports (Ptrs< Import > &&imports) const
 
void compile (AST &) const
 
void bind (AST &) const
 
void bind (Scopes &) const
 
void emit (AST &) const
 
void emit (Emitter &) const
 
std::ostream & stream (Tab &, std::ostream &) const override
 
- Public Member Functions inherited from thorin::ast::Node
Loc loc () const
 
void dump () const
 

Additional Inherited Members

- Protected Member Functions inherited from thorin::ast::Node
 Node (Loc loc)
 
virtual ~Node ()
 

Detailed Description

Definition at line 934 of file ast.h.

Constructor & Destructor Documentation

◆ Module()

thorin::ast::Module::Module ( Loc  loc,
Ptrs< Import > &&  imports,
Ptrs< ValDecl > &&  decls 
)
inline

Definition at line 936 of file ast.h.

Member Function Documentation

◆ add_implicit_imports()

void thorin::ast::Module::add_implicit_imports ( Ptrs< Import > &&  imports) const
inline

Definition at line 945 of file ast.h.

References imports().

◆ bind() [1/2]

void thorin::ast::Module::bind ( AST ast) const

Definition at line 77 of file bind.cpp.

References bind().

Referenced by bind(), thorin::ast::Import::bind(), and compile().

◆ bind() [2/2]

void thorin::ast::Module::bind ( Scopes s) const

Definition at line 82 of file bind.cpp.

References decls(), implicit_imports(), and imports().

◆ compile()

void thorin::ast::Module::compile ( AST ast) const

◆ decls()

const auto & thorin::ast::Module::decls ( ) const
inline

Definition at line 943 of file ast.h.

Referenced by bind(), emit(), and stream().

◆ emit() [1/2]

void thorin::ast::Module::emit ( AST ast) const

Definition at line 35 of file emit.cpp.

References emit().

Referenced by compile(), emit(), and thorin::ast::Import::emit().

◆ emit() [2/2]

void thorin::ast::Module::emit ( Emitter e) const

Definition at line 40 of file emit.cpp.

References decls(), implicit_imports(), imports(), and thorin::ast::Node::loc().

◆ implicit_imports()

const auto & thorin::ast::Module::implicit_imports ( ) const
inline

Definition at line 941 of file ast.h.

Referenced by bind(), and emit().

◆ imports()

const auto & thorin::ast::Module::imports ( ) const
inline

Definition at line 942 of file ast.h.

Referenced by add_implicit_imports(), bind(), emit(), and stream().

◆ stream()

std::ostream & thorin::ast::Module::stream ( Tab tab,
std::ostream &  os 
) const
overridevirtual

Implements thorin::ast::Node.

Definition at line 43 of file stream.cpp.

References decls(), imports(), and thorin::Tab::println().


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