|
hoshi-lang dev
Yet another programming language
|
#include <IR.h>
Public Member Functions | |
| Builder ()=default | |
| Builder & | setName (const yoi::wstr &name) |
| Builder & | setImplStructIndex (std::tuple< IRValueType::valueType, yoi::indexT, yoi::indexT > implStructIndex) |
| Builder & | setImplInterfaceIndex (const std::pair< yoi::indexT, yoi::indexT > &implInterfaceIndex) |
| Builder & | addVirtualMethod (const yoi::wstr &methodName, const std::shared_ptr< IRValueType > &methodType) |
| std::shared_ptr< IRInterfaceImplementationDefinition > | yield () |
Public Attributes | |
| yoi::wstr | name |
| std::tuple< IRValueType::valueType, yoi::indexT, yoi::indexT > | implStructIndex |
| std::pair< yoi::indexT, yoi::indexT > | implInterfaceIndex |
| yoi::vec< std::shared_ptr< IRValueType > > | virtualMethods |
| std::map< yoi::wstr, yoi::indexT > | virtualMethodIndexMap |
|
default |
| IRInterfaceImplementationDefinition::Builder & addVirtualMethod | ( | const yoi::wstr & | methodName, |
| const std::shared_ptr< IRValueType > & | methodType | ||
| ) |
Definition at line 564 of file IR.cpp.
Referenced by visitor::createCallableImplementationForLambda(), visitor::specializeInterfaceImplementation(), and visitor::visit().

| IRInterfaceImplementationDefinition::Builder & setImplInterfaceIndex | ( | const std::pair< yoi::indexT, yoi::indexT > & | implInterfaceIndex | ) |
Definition at line 558 of file IR.cpp.
Referenced by visitor::createCallableImplementationForLambda(), visitor::specializeInterfaceImplementation(), and visitor::visit().

| IRInterfaceImplementationDefinition::Builder & setImplStructIndex | ( | std::tuple< IRValueType::valueType, yoi::indexT, yoi::indexT > | implStructIndex | ) |
Definition at line 552 of file IR.cpp.
Referenced by visitor::createCallableImplementationForLambda(), visitor::specializeInterfaceImplementation(), and visitor::visit().

| IRInterfaceImplementationDefinition::Builder & setName | ( | const yoi::wstr & | name | ) |
Definition at line 546 of file IR.cpp.
References IRFunctionDefinition::name.
Referenced by visitor::specializeInterfaceImplementation(), and visitor::visit().

| std::shared_ptr< IRInterfaceImplementationDefinition > yield | ( | ) |
Definition at line 570 of file IR.cpp.
References IRFunctionDefinition::name.
Referenced by visitor::createCallableImplementationForLambda(), visitor::specializeInterfaceImplementation(), and visitor::visit().

| std::pair<yoi::indexT, yoi::indexT> implInterfaceIndex |
| std::tuple<IRValueType::valueType, yoi::indexT, yoi::indexT> implStructIndex |
| std::map<yoi::wstr, yoi::indexT> virtualMethodIndexMap |
| yoi::vec<std::shared_ptr<IRValueType> > virtualMethods |