|
KiCad PCB EDA Suite
|
#include <pcbexpr_evaluator.h>
Classes | |
| struct | MATCHED_PROPERTY |
Public Member Functions | |
| PCBEXPR_VAR_REF (int aItemIndex) | |
| ~PCBEXPR_VAR_REF () override=default | |
| void | SetType (LIBEVAL::VAR_TYPE_T type) |
| LIBEVAL::VAR_TYPE_T | GetType () const override |
| void | AddAllowedClass (TYPE_ID aTypeHash, PROPERTY_BASE *aProperty, PCBEXPR_PROPERTY_KIND aKind) |
| void | SetNavigation (std::vector< PCBEXPR_NAV_STEP > aNavigation) |
| LIBEVAL::VALUE * | GetValue (LIBEVAL::CONTEXT *aCtx) override |
| BOARD_ITEM * | GetObject (const LIBEVAL::CONTEXT *aCtx) const |
Static Public Member Functions | |
| static PCBEXPR_PROPERTY_KIND | ClassifyProperty (const PROPERTY_BASE *aProperty) |
| static LIBEVAL::VAR_TYPE_T | ExpressionType (PCBEXPR_PROPERTY_KIND aKind) |
Private Attributes | |
| std::unordered_map< TYPE_ID, MATCHED_PROPERTY > | m_matchingTypes |
| int | m_itemIndex |
| LIBEVAL::VAR_TYPE_T | m_type |
| std::vector< PCBEXPR_NAV_STEP > | m_navigation |
Definition at line 133 of file pcbexpr_evaluator.h.
|
inline |
Definition at line 136 of file pcbexpr_evaluator.h.
References m_itemIndex, and m_type.
Referenced by PCBEXPR_COMPONENT_CLASS_REF::PCBEXPR_COMPONENT_CLASS_REF(), PCBEXPR_NETCLASS_REF::PCBEXPR_NETCLASS_REF(), PCBEXPR_NETNAME_REF::PCBEXPR_NETNAME_REF(), and PCBEXPR_TYPE_REF::PCBEXPR_TYPE_REF().
|
overridedefault |
|
inline |
Definition at line 150 of file pcbexpr_evaluator.h.
References m_matchingTypes.
|
static |
Definition at line 406 of file pcbexpr_evaluator.cpp.
References ANGLE, BOOL, COLOR, DOUBLE, ENUM, PROPERTY_BASE::HasChoices(), INT, LONG_LONG, OPTIONAL_DOUBLE, OPTIONAL_INT, STRING, TYPE_HASH, PROPERTY_BASE::TypeHash(), UNSIGNED, and UNSUPPORTED.
Referenced by BOOST_AUTO_TEST_CASE(), and PCBEXPR_UCODE::CreateVarRef().
|
static |
Definition at line 437 of file pcbexpr_evaluator.cpp.
References ANGLE, BOOL, COLOR, DOUBLE, ENUM, INT, LONG_LONG, OPTIONAL_DOUBLE, OPTIONAL_INT, STRING, UNSIGNED, UNSUPPORTED, LIBEVAL::VT_NUMERIC, LIBEVAL::VT_NUMERIC_DOUBLE, LIBEVAL::VT_PARSE_ERROR, and LIBEVAL::VT_STRING.
Referenced by BOOST_AUTO_TEST_CASE(), and PCBEXPR_UCODE::CreateVarRef().
| BOARD_ITEM * PCBEXPR_VAR_REF::GetObject | ( | const LIBEVAL::CONTEXT * | aCtx | ) | const |
Definition at line 43 of file pcbexpr_evaluator.cpp.
References PCBEXPR_CONTEXT::GetItem(), BOARD_ITEM::GetParent(), m_itemIndex, m_navigation, and PARENT.
Referenced by enclosedByAreaFunc(), existsOnLayerFunc(), fromToFunc(), getFieldFunc(), PCBEXPR_COMPONENT_CLASS_REF::GetValue(), PCBEXPR_NETCLASS_REF::GetValue(), PCBEXPR_NETNAME_REF::GetValue(), PCBEXPR_TYPE_REF::GetValue(), GetValue(), hasComponentClassFunc(), hasExactNetclassFunc(), hasNetChainFunc(), hasNetclassFunc(), inDiffPairFunc(), inNetChainClassFunc(), inNetChainFunc(), intersectsAreaFunc(), intersectsBackCourtyardFunc(), intersectsCourtyardFunc(), intersectsFrontCourtyardFunc(), isBlindBuriedViaFunc(), isBlindVia(), isBuriedVia(), isMicroVia(), isPlatedFunc(), memberOfFootprintFunc(), memberOfGroupFunc(), memberOfSheetFunc(), and memberOfSheetOrChildrenFunc().
|
inlineoverridevirtual |
|
overridevirtual |
Implements LIBEVAL::VAR_REF.
Definition at line 462 of file pcbexpr_evaluator.cpp.
References ANGLE, EDA_ANGLE::AsDegrees(), BOOL, COLOR, DOUBLE, EDA_UNIT_UTILS::UI::DoubleValueFromString(), ENUM, INSPECTABLE::Get(), PCBEXPR_CONTEXT::GetBoard(), PCBEXPR_CONTEXT::GetLayer(), BOARD::GetLayerID(), GetObject(), BOARD_ITEM::GetParentFootprint(), PROPERTY_MANAGER::Instance(), INT, LONG_LONG, m_itemIndex, m_matchingTypes, m_type, LIBEVAL::VALUE::MakeNullValue(), OPTIONAL_DOUBLE, OPTIONAL_INT, pcbIUScale, STRING, KIGFX::COLOR4D::ToCSSString(), TYPE_HASH, UNSIGNED, UNSUPPORTED, and LIBEVAL::VT_NULL.
|
inline |
Definition at line 157 of file pcbexpr_evaluator.h.
References m_navigation.
|
inline |
Definition at line 147 of file pcbexpr_evaluator.h.
References m_type.
Referenced by PCBEXPR_COMPONENT_CLASS_REF::PCBEXPR_COMPONENT_CLASS_REF(), PCBEXPR_NETCLASS_REF::PCBEXPR_NETCLASS_REF(), PCBEXPR_NETNAME_REF::PCBEXPR_NETNAME_REF(), and PCBEXPR_TYPE_REF::PCBEXPR_TYPE_REF().
|
private |
Definition at line 174 of file pcbexpr_evaluator.h.
Referenced by GetObject(), GetValue(), and PCBEXPR_VAR_REF().
|
private |
Definition at line 173 of file pcbexpr_evaluator.h.
Referenced by AddAllowedClass(), and GetValue().
|
private |
Definition at line 176 of file pcbexpr_evaluator.h.
Referenced by GetObject(), and SetNavigation().
|
private |
Definition at line 175 of file pcbexpr_evaluator.h.
Referenced by GetType(), GetValue(), PCBEXPR_VAR_REF(), and SetType().