bug #I6JF0K 迭代&循环组件在SWITCH语境中无法获取迭代对象和下标的问题

This commit is contained in:
everywhere.z
2023-03-06 17:33:12 +08:00
parent a8bb1603a3
commit 308a671794
2 changed files with 20 additions and 4 deletions

View File

@@ -32,9 +32,13 @@ public abstract class LoopCondition extends Condition {
((Condition) executableItem).getExecutableList().forEach(executable -> setLoopIndex(executable, index));
setLoopIndex(((IfCondition) executableItem).getTrueCaseExecutableItem(), index);
setLoopIndex(((IfCondition) executableItem).getFalseCaseExecutableItem(), index);
}else if(executableItem instanceof SwitchCondition){
}else if(executableItem instanceof SwitchCondition) {
((Condition) executableItem).getExecutableList().forEach(executable -> setLoopIndex(executable, index));
((SwitchCondition)executableItem).getTargetList().forEach(executable -> setLoopIndex(executable, index));
((SwitchCondition) executableItem).getTargetList().forEach(executable -> setLoopIndex(executable, index));
}else if(executableItem instanceof ThenCondition) {
((Condition)executableItem).getExecutableList().forEach(executable -> setLoopIndex(executable, index));
((ThenCondition) executableItem).getPreConditionList().forEach(executable -> setLoopIndex(executable, index));
((ThenCondition) executableItem).getFinallyConditionList().forEach(executable -> setLoopIndex(executable, index));
}else if(executableItem instanceof Condition){
((Condition)executableItem).getExecutableList().forEach(executable -> setLoopIndex(executable, index));
}else if(executableItem instanceof Node){
@@ -49,9 +53,13 @@ public abstract class LoopCondition extends Condition {
((Condition) executableItem).getExecutableList().forEach(executable -> setCurrLoopObject(executable, obj));
setCurrLoopObject(((IfCondition) executableItem).getTrueCaseExecutableItem(), obj);
setCurrLoopObject(((IfCondition) executableItem).getFalseCaseExecutableItem(), obj);
}else if(executableItem instanceof SwitchCondition){
}else if(executableItem instanceof SwitchCondition) {
((Condition) executableItem).getExecutableList().forEach(executable -> setCurrLoopObject(executable, obj));
((SwitchCondition)executableItem).getTargetList().forEach(executable -> setCurrLoopObject(executable, obj));
((SwitchCondition) executableItem).getTargetList().forEach(executable -> setCurrLoopObject(executable, obj));
}else if(executableItem instanceof ThenCondition) {
((Condition)executableItem).getExecutableList().forEach(executable -> setCurrLoopObject(executable, obj));
((ThenCondition) executableItem).getPreConditionList().forEach(executable -> setCurrLoopObject(executable, obj));
((ThenCondition) executableItem).getFinallyConditionList().forEach(executable -> setCurrLoopObject(executable, obj));
}else if(executableItem instanceof Condition){
((Condition)executableItem).getExecutableList().forEach(executable -> setCurrLoopObject(executable, obj));
}else if(executableItem instanceof Node){

View File

@@ -81,4 +81,12 @@ public class ThenCondition extends Condition {
super.addExecutable(executable);
}
}
public List<PreCondition> getPreConditionList() {
return preConditionList;
}
public List<FinallyCondition> getFinallyConditionList() {
return finallyConditionList;
}
}