Add MultiMacroRefCondtition

This commit is contained in:
WarmUpTill
2022-08-21 03:41:11 +02:00
committed by WarmUpTill
parent 7480e793b8
commit face0f7f3c
3 changed files with 19 additions and 0 deletions

View File

@@ -153,3 +153,10 @@ void MacroRefCondition::ResolveMacroRef()
{
_macro.UpdateRef();
}
void MultiMacroRefCondtition::ResolveMacroRef()
{
for (auto &m : _macros) {
m.UpdateRef();
}
}

View File

@@ -86,3 +86,10 @@ public:
void ResolveMacroRef();
MacroRef _macro;
};
class MultiMacroRefCondtition : public MacroCondition {
public:
MultiMacroRefCondtition(Macro *m) : MacroCondition(m) {}
void ResolveMacroRef();
std::vector<MacroRef> _macros;
};

View File

@@ -409,6 +409,11 @@ void Macro::ResolveMacroRef()
if (ref) {
ref->ResolveMacroRef();
}
MultiMacroRefCondtition *ref2 =
dynamic_cast<MultiMacroRefCondtition *>(c.get());
if (ref2) {
ref2->ResolveMacroRef();
}
}
for (auto &a : _actions) {
MacroRefAction *ref = dynamic_cast<MacroRefAction *>(a.get());