Gyoji Compiler
|
Return from a function without a value. More...
#include <operations.hpp>
Public Member Functions | |
virtual | ~OperationReturnVoid () |
Move along, nothing to see here. | |
![]() | |
Operation (OperationType _type, const Gyoji::context::SourceReference &_src_ref, size_t _result) | |
Operation (OperationType _type, const Gyoji::context::SourceReference &_src_ref, size_t _result, size_t _operand) | |
Operation (OperationType _type, const Gyoji::context::SourceReference &_src_ref, size_t _result, size_t _operand_a, size_t _operand_b) | |
Operation (OperationType _type, const Gyoji::context::SourceReference &_src_ref, size_t _result, size_t _operand_a, size_t _operand_b, size_t _operand_c) | |
virtual | ~Operation () |
Move along, nothing to see here. | |
void | dump (FILE *out) const |
OperationType | get_type () const |
Opcode of this operation. | |
const std::vector< size_t > & | get_operands () const |
Get the operands. | |
size_t | get_result () const |
Get the result of this operation. | |
bool | is_terminating () const |
Returns true if this is a terminating operation for a block. | |
const Gyoji::context::SourceReference & | get_source_ref () const |
Get the reference to the source which originated this operation. | |
Protected Member Functions | |
virtual std::string | get_description () const |
Produce a description of the operation. | |
![]() | |
void | add_operand (size_t operand) |
Add an operand. | |
Additional Inherited Members | |
![]() | |
enum | OperationType { OP_FUNCTION_CALL , OP_SYMBOL , OP_WIDEN_SIGNED , OP_WIDEN_UNSIGNED , OP_WIDEN_FLOAT , OP_ARRAY_INDEX , OP_DOT , OP_LOCAL_DECLARE , OP_LOCAL_UNDECLARE , OP_LOCAL_VARIABLE , OP_LITERAL_CHAR , OP_LITERAL_STRING , OP_LITERAL_INT , OP_LITERAL_FLOAT , OP_LITERAL_BOOL , OP_LITERAL_NULL , OP_ADDRESSOF , OP_DEREFERENCE , OP_NEGATE , OP_BITWISE_NOT , OP_LOGICAL_NOT , OP_SIZEOF_TYPE , OP_ADD , OP_SUBTRACT , OP_MULTIPLY , OP_DIVIDE , OP_MODULO , OP_LOGICAL_AND , OP_LOGICAL_OR , OP_BITWISE_AND , OP_BITWISE_OR , OP_BITWISE_XOR , OP_SHIFT_LEFT , OP_SHIFT_RIGHT , OP_COMPARE_LESS , OP_COMPARE_GREATER , OP_COMPARE_LESS_EQUAL , OP_COMPARE_GREATER_EQUAL , OP_COMPARE_NOT_EQUAL , OP_COMPARE_EQUAL , OP_ASSIGN , OP_JUMP_CONDITIONAL , OP_JUMP , OP_RETURN , OP_RETURN_VOID } |
Operations of the MIR virtual-machine. More... | |
Return from a function without a value.
This returns 'void' from a function (i.e. it returns control to the caller without supplying a return value to it.
|
virtual |
Move along, nothing to see here.
Move along, nothing to see here.
|
protectedvirtual |
Produce a description of the operation.
This method returns a full description of the operation including the return-value, operands, and any other ancilary information about the operation. This is a string that is constructed dynamically when needed and is used almost exclusively by the "dump" method to provide debuginng information.
Reimplemented from Gyoji::mir::Operation.