|
KiCad PCB EDA Suite
|
#include <pcbexpr_evaluator.h>
Public Member Functions | |
| PCBEXPR_UCODE () | |
| virtual | ~PCBEXPR_UCODE () |
| virtual std::unique_ptr< LIBEVAL::VAR_REF > | CreateVarRef (const wxString &aVar, const wxString &aField) override |
| virtual LIBEVAL::FUNC_CALL_REF | CreateFuncCall (const wxString &aName) override |
| bool | HasGeometryDependentFunctions () const |
| 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). | |
| VALUE * | Run (CONTEXT *ctx) |
| wxString | Dump () const |
Protected Attributes | |
| std::vector< UOP * > | m_ucode |
| bool | m_hasJumps = false |
Private Attributes | |
| bool | m_hasGeometryDependentFunctions = false |
Definition at line 49 of file pcbexpr_evaluator.h.
|
inline |
Definition at line 52 of file pcbexpr_evaluator.h.
|
inlinevirtual |
Definition at line 53 of file pcbexpr_evaluator.h.
|
inlineinherited |
Definition at line 483 of file libeval_compiler.h.
References m_ucode.
Referenced by LIBEVAL::COMPILER::generateUCode().
|
overridevirtual |
Reimplemented from LIBEVAL::UCODE.
Definition at line 576 of file pcbexpr_evaluator.cpp.
References PCBEXPR_BUILTIN_FUNCTIONS::Get(), PCBEXPR_BUILTIN_FUNCTIONS::Instance(), PCBEXPR_BUILTIN_FUNCTIONS::IsGeometryDependent(), and m_hasGeometryDependentFunctions.
|
overridevirtual |
Reimplemented from LIBEVAL::UCODE.
Definition at line 589 of file pcbexpr_evaluator.cpp.
References PROPERTY_MANAGER::GetAllClasses(), PROPERTY_MANAGER::GetProperty(), PROPERTY_BASE::HasChoices(), PROPERTY_MANAGER::Instance(), PROPERTY_MANAGER::IsOfType(), PARENT, TYPE_HASH, PROPERTY_BASE::TypeHash(), LIBEVAL::VT_NULL, LIBEVAL::VT_NUMERIC, LIBEVAL::VT_NUMERIC_DOUBLE, LIBEVAL::VT_PARSE_ERROR, LIBEVAL::VT_STRING, and LIBEVAL::VT_UNDEFINED.
|
inherited |
Definition at line 206 of file libeval_compiler.cpp.
References m_ucode.
Referenced by LIBEVAL::COMPILER::generateUCode().
|
inlineinherited |
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().
|
inline |
Definition at line 59 of file pcbexpr_evaluator.h.
References m_hasGeometryDependentFunctions.
Referenced by BOOST_AUTO_TEST_CASE().
|
inlineinherited |
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().
Definition at line 1420 of file libeval_compiler.cpp.
References m_hasJumps, m_ucode, next(), LIBEVAL::CONTEXT::Pop(), LIBEVAL::CONTEXT::SP(), LIBEVAL::CONTEXT::StoreValue(), and VALUE.
Referenced by PCBEXPR_EVALUATOR::Evaluate(), MULTICHANNEL_TOOL::findComponentsInRuleArea(), MULTICHANNEL_TOOL::findOtherItemsInRuleArea(), MULTICHANNEL_TOOL::findRoutingInRuleArea(), DIALOG_FIND_BY_PROPERTIES::selectMatchingFromQuery(), testEvalExpr(), and testEvalExpr().
|
private |
Definition at line 62 of file pcbexpr_evaluator.h.
Referenced by CreateFuncCall(), and HasGeometryDependentFunctions().
|
protectedinherited |
Definition at line 509 of file libeval_compiler.h.
Referenced by MarkHasJumps(), and Run().
|
protectedinherited |