hoshi-lang dev
Yet another programming language
Loading...
Searching...
No Matches
IROperand Class Reference

#include <IR.h>

Collaboration diagram for IROperand:

Classes

union  operandValue
 

Public Types

enum class  operandType {
  unknown = 0 , integer , decimal , boolean ,
  character , stringLiteral , codeBlock , index ,
  shortInt , unsignedInt , localVar , globalVar ,
  externVar , FINAL
}
 

Public Member Functions

 IROperand ()
 
 IROperand (operandType type, operandValue value)
 
 IROperand (operandType type, std::shared_ptr< IRValueType > lvalueType)
 
std::shared_ptr< IRValueTypegetLvalueType ()
 
yoi::wstr to_string () const
 

Public Attributes

enum yoi::IROperand::operandType type
 
union yoi::IROperand::operandValue value
 
std::shared_ptr< IRValueTypelvalueType
 

Static Public Attributes

static enum_range< operandTypeIROperandTypeEnumRange
 

Detailed Description

Definition at line 200 of file IR.h.

Member Enumeration Documentation

◆ operandType

enum class operandType
strong
Enumerator
unknown 
integer 
decimal 
boolean 
character 
stringLiteral 
codeBlock 
index 
shortInt 
unsignedInt 
localVar 
globalVar 
externVar 
FINAL 

Definition at line 202 of file IR.h.

Constructor & Destructor Documentation

◆ IROperand() [1/3]

IROperand ( )

Definition at line 31 of file IR.cpp.

◆ IROperand() [2/3]

Definition at line 33 of file IR.cpp.

◆ IROperand() [3/3]

IROperand ( IROperand::operandType  type,
std::shared_ptr< IRValueType lvalueType 
)

Definition at line 35 of file IR.cpp.

Member Function Documentation

◆ getLvalueType()

std::shared_ptr< IRValueType > getLvalueType ( )

Definition at line 37 of file IR.cpp.

References IROperand::lvalueType.

◆ to_string()

Member Data Documentation

◆ IROperandTypeEnumRange

enum_range<operandType> IROperandTypeEnumRange
static

Definition at line 223 of file IR.h.

◆ lvalueType

std::shared_ptr<IRValueType> lvalueType

Definition at line 251 of file IR.h.

Referenced by IROperand::getLvalueType().

◆ type

◆ value


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