Mana
mana::LocalAddressResolver Class Referencefinal

#include <LocalAddressResolver.h>

Inheritance diagram for mana::LocalAddressResolver:
mana::Noncopyable

Public Types

enum class  JumpChainStatus : uint8_t {
  Switch , While , Do , For ,
  Loop , Lock
}
 

Public Member Functions

 LocalAddressResolver (const std::shared_ptr< CodeBuffer > &codeBuffer)
 
 ~LocalAddressResolver ()=default
 
void OpenChain (const JumpChainStatus status)
 ジャンプブロックの開始 More...
 
int32_t Break (const int32_t newPc)
 breakの設定 More...
 
int32_t Continue (const int32_t newPc)
 continueの設定 More...
 
void CloseContinueOnly ()
 continueジャンプブロックの終了 More...
 
void CloseChain ()
 ジャンプブロックの終了 More...
 
void OpenSwitchBlock (const std::shared_ptr< TypeDescriptor > &type)
 switchブロックの開始 More...
 
void RegistSwitchCase (const std::shared_ptr< SyntaxNode > &node)
 caseの登録 More...
 
void RegistSwitchDefault ()
 defaultの登録 More...
 
void ResolveSwitchBlock (const std::shared_ptr< CodeGenerator > &codeGenerator)
 switchブロックをバイナリーコードに変換 More...
 
void CloseSwitchBlock (void)
 switchブロックの終了 More...
 

Member Enumeration Documentation

◆ JumpChainStatus

Enumerator
Switch 
While 
Do 
For 
Loop 
Lock 

Constructor & Destructor Documentation

◆ LocalAddressResolver()

mana::LocalAddressResolver::LocalAddressResolver ( const std::shared_ptr< CodeBuffer > &  codeBuffer)
explicit

◆ ~LocalAddressResolver()

mana::LocalAddressResolver::~LocalAddressResolver ( )
default

Member Function Documentation

◆ Break()

int32_t mana::LocalAddressResolver::Break ( const int32_t  newPc)

breakの設定

◆ CloseChain()

void mana::LocalAddressResolver::CloseChain ( void  )

ジャンプブロックの終了

◆ CloseContinueOnly()

void mana::LocalAddressResolver::CloseContinueOnly ( void  )

continueジャンプブロックの終了

◆ CloseSwitchBlock()

void mana::LocalAddressResolver::CloseSwitchBlock ( void  )

switchブロックの終了

◆ Continue()

int32_t mana::LocalAddressResolver::Continue ( const int32_t  newPc)

continueの設定

◆ OpenChain()

void mana::LocalAddressResolver::OpenChain ( const JumpChainStatus  status)

ジャンプブロックの開始

◆ OpenSwitchBlock()

void mana::LocalAddressResolver::OpenSwitchBlock ( const std::shared_ptr< TypeDescriptor > &  type)

switchブロックの開始

◆ RegistSwitchCase()

void mana::LocalAddressResolver::RegistSwitchCase ( const std::shared_ptr< SyntaxNode > &  node)

caseの登録

◆ RegistSwitchDefault()

void mana::LocalAddressResolver::RegistSwitchDefault ( void  )

defaultの登録

◆ ResolveSwitchBlock()

void mana::LocalAddressResolver::ResolveSwitchBlock ( const std::shared_ptr< CodeGenerator > &  codeGenerator)

switchブロックをバイナリーコードに変換


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