|
hoshi-lang dev
Yet another programming language
|
#include <IR.h>

Public Member Functions | |
| Builder ()=default | |
| Builder & | setName (const yoi::wstr &name) |
| Builder & | addArgument (const yoi::wstr &argumentName, const std::shared_ptr< IRValueType > &argumentType) |
| Builder & | setReturnType (const std::shared_ptr< IRValueType > &returnType) |
| Builder & | setDebugInfo (const IRDebugInfo &debugInfo) |
| Builder & | addAttr (FunctionAttrs attr) |
| std::shared_ptr< IRFunctionDefinition > | yield () |
Public Attributes | |
| yoi::wstr | name |
| yoi::vec< std::pair< yoi::wstr, std::shared_ptr< IRValueType > > > | argumentTypes |
| std::shared_ptr< IRValueType > | returnType |
| std::set< FunctionAttrs > | attrs |
| IRDebugInfo | debugInfo |
|
default |
| IRFunctionDefinition::Builder & addArgument | ( | const yoi::wstr & | argumentName, |
| const std::shared_ptr< IRValueType > & | argumentType | ||
| ) |
Definition at line 590 of file IR.cpp.
References IRFunctionDefinition::argumentTypes.
Referenced by visitor::createCallableImplementationForFunction(), visitor::createLambdaUnnamedStruct(), visitor::getGeneratorContext(), visitor::specializeFunctionTemplate(), visitor::specializeInterfaceImplementation(), visitor::specializeInterfaceTemplate(), visitor::specializeStructMethodDeclaration(), visitor::specializeStructMethodTemplate(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), and visitor::visit().

| IRFunctionDefinition::Builder & addAttr | ( | FunctionAttrs | attr | ) |
Definition at line 1271 of file IR.cpp.
References IRFunctionDefinition::attrs.
Referenced by visitor::createCallableImplementationForFunction(), visitor::createLambdaUnnamedStruct(), visitor::getGeneratorContext(), visitor::specializeInterfaceTemplate(), visitor::specializeStructMethodDeclaration(), visitor::visit(), visitor::visit(), visitor::visit(), and visitor::visit().

| IRFunctionDefinition::Builder & setDebugInfo | ( | const IRDebugInfo & | debugInfo | ) |
Definition at line 1211 of file IR.cpp.
References IRFunctionDefinition::Builder::debugInfo.
Referenced by visitor::createCallableImplementationForFunction(), IRLinker::createEntryFunction(), visitor::createLambdaUnnamedStruct(), visitor::getGeneratorContext(), visitor::specializeFunctionTemplate(), visitor::specializeInterfaceImplementation(), visitor::specializeInterfaceTemplate(), visitor::specializeStructMethodDeclaration(), visitor::specializeStructMethodTemplate(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), and visitor::visit().

| IRFunctionDefinition::Builder & setName | ( | const yoi::wstr & | name | ) |
Definition at line 541 of file IR.cpp.
References IRFunctionDefinition::Builder::name.
Referenced by visitor::createCallableImplementationForFunction(), IRLinker::createEntryFunction(), visitor::createLambdaUnnamedStruct(), visitor::getGeneratorContext(), visitor::specializeFunctionTemplate(), visitor::specializeInterfaceImplementation(), visitor::specializeInterfaceTemplate(), visitor::specializeStructMethodDeclaration(), visitor::specializeStructMethodTemplate(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), and visitor::visit().

| IRFunctionDefinition::Builder & setReturnType | ( | const std::shared_ptr< IRValueType > & | returnType | ) |
Definition at line 596 of file IR.cpp.
References IRFunctionDefinition::returnType.
Referenced by visitor::createCallableImplementationForFunction(), IRLinker::createEntryFunction(), visitor::createLambdaUnnamedStruct(), visitor::getGeneratorContext(), visitor::specializeFunctionTemplate(), visitor::specializeInterfaceImplementation(), visitor::specializeInterfaceTemplate(), visitor::specializeStructMethodDeclaration(), visitor::specializeStructMethodTemplate(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), and visitor::visit().

| std::shared_ptr< IRFunctionDefinition > yield | ( | ) |
Definition at line 601 of file IR.cpp.
References IRFunctionDefinition::argumentTypes, IRFunctionDefinition::attrs, IRFunctionDefinition::debugInfo, yoi::managedPtr(), IRFunctionDefinition::name, and IRFunctionDefinition::returnType.
Referenced by visitor::createCallableImplementationForFunction(), visitor::createLambdaUnnamedStruct(), visitor::specializeFunctionTemplate(), visitor::specializeInterfaceImplementation(), visitor::specializeInterfaceTemplate(), visitor::specializeStructMethodDeclaration(), visitor::specializeStructMethodTemplate(), visitor::visit(), visitor::visit(), visitor::visit(), visitor::visit(), and visitor::visit().


| yoi::vec<std::pair<yoi::wstr, std::shared_ptr<IRValueType> > > argumentTypes |
Definition at line 504 of file IR.h.
Referenced by visitor::createCallableImplementationForFunction().
| std::set<FunctionAttrs> attrs |
Definition at line 506 of file IR.h.
Referenced by visitor::createLambdaUnnamedStruct(), visitor::specializeInterfaceImplementation(), visitor::specializeStructMethodDeclaration(), visitor::specializeStructMethodTemplate(), visitor::visit(), visitor::visit(), visitor::visit(), and visitor::visit().
| IRDebugInfo debugInfo |
Definition at line 507 of file IR.h.
Referenced by IRFunctionDefinition::Builder::setDebugInfo().
| yoi::wstr name |
Definition at line 503 of file IR.h.
Referenced by IRFunctionDefinition::Builder::setName(), visitor::specializeStructMethodTemplate(), and visitor::visit().
| std::shared_ptr<IRValueType> returnType |