KiCad PCB EDA Suite
Loading...
Searching...
No Matches
LIBEVAL::UCODE Class Reference

#include <libeval_compiler.h>

Inheritance diagram for LIBEVAL::UCODE:
PCBEXPR_UCODE

Public Member Functions

 UCODE ()
 
virtual ~UCODE ()
 
 UCODE (const UCODE &)=delete
 
UCODEoperator= (const UCODE &)=delete
 
void AddOp (UOP *uop)
 
void MarkHasJumps ()
 Flag that this ucode contains short-circuit jumps, so Run() uses the jump-aware loop.
 
int GetSize () const
 Index of the next op to be added (used to backpatch short-circuit jump targets).
 
VALUERun (CONTEXT *ctx)
 
wxString Dump () const
 
virtual std::unique_ptr< VAR_REFCreateVarRef (const wxString &var, const wxString &field)
 
virtual FUNC_CALL_REF CreateFuncCall (const wxString &name)
 

Protected Attributes

std::vector< UOP * > m_ucode
 
bool m_hasJumps = false
 

Detailed Description

Definition at line 470 of file libeval_compiler.h.

Constructor & Destructor Documentation

◆ UCODE() [1/2]

LIBEVAL::UCODE::UCODE ( )
inline

Definition at line 473 of file libeval_compiler.h.

Referenced by operator=(), and UCODE().

◆ ~UCODE()

LIBEVAL::UCODE::~UCODE ( )
virtual

Definition at line 199 of file libeval_compiler.cpp.

References m_ucode.

◆ UCODE() [2/2]

LIBEVAL::UCODE::UCODE ( const UCODE & )
delete

References UCODE().

Member Function Documentation

◆ AddOp()

void LIBEVAL::UCODE::AddOp ( UOP * uop)
inline

Definition at line 483 of file libeval_compiler.h.

References m_ucode.

Referenced by LIBEVAL::COMPILER::generateUCode().

◆ CreateFuncCall()

virtual FUNC_CALL_REF LIBEVAL::UCODE::CreateFuncCall ( const wxString & name)
inlinevirtual

Reimplemented in PCBEXPR_UCODE.

Definition at line 502 of file libeval_compiler.h.

References name.

Referenced by LIBEVAL::COMPILER::generateUCode().

◆ CreateVarRef()

virtual std::unique_ptr< VAR_REF > LIBEVAL::UCODE::CreateVarRef ( const wxString & var,
const wxString & field )
inlinevirtual

Reimplemented in PCBEXPR_UCODE.

Definition at line 497 of file libeval_compiler.h.

Referenced by LIBEVAL::COMPILER::generateUCode().

◆ Dump()

wxString LIBEVAL::UCODE::Dump ( ) const

Definition at line 206 of file libeval_compiler.cpp.

References m_ucode.

Referenced by LIBEVAL::COMPILER::generateUCode().

◆ GetSize()

int LIBEVAL::UCODE::GetSize ( ) const
inline

Index of the next op to be added (used to backpatch short-circuit jump targets).

Definition at line 492 of file libeval_compiler.h.

References m_ucode.

Referenced by LIBEVAL::COMPILER::generateUCode().

◆ MarkHasJumps()

void LIBEVAL::UCODE::MarkHasJumps ( )
inline

Flag that this ucode contains short-circuit jumps, so Run() uses the jump-aware loop.

Definition at line 489 of file libeval_compiler.h.

References m_hasJumps.

Referenced by LIBEVAL::COMPILER::generateUCode().

◆ operator=()

UCODE & LIBEVAL::UCODE::operator= ( const UCODE & )
delete

References UCODE().

◆ Run()

Member Data Documentation

◆ m_hasJumps

bool LIBEVAL::UCODE::m_hasJumps = false
protected

Definition at line 509 of file libeval_compiler.h.

Referenced by MarkHasJumps(), and Run().

◆ m_ucode

std::vector<UOP*> LIBEVAL::UCODE::m_ucode
protected

Definition at line 508 of file libeval_compiler.h.

Referenced by AddOp(), Dump(), GetSize(), Run(), and ~UCODE().


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