Fix the problem of traveling AST edit scripts.
This commit is contained in:
@@ -199,7 +199,13 @@ public abstract class Parser implements ParserInterface {
|
|||||||
int bugS = set.getStartPosition();
|
int bugS = set.getStartPosition();
|
||||||
int fixS = set.getFixStartLineNum();
|
int fixS = set.getFixStartLineNum();
|
||||||
|
|
||||||
if (bugS > bugEndPosition || fixS > fixEndPosition) continue;
|
if (set.getActionString().startsWith("INS")) {
|
||||||
|
if (fixS > fixEndPosition) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} else if (!set.getActionString().startsWith("MOV") && bugS > bugEndPosition) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
subSets.addAll(set.getSubActions());
|
subSets.addAll(set.getSubActions());
|
||||||
String actionStr = set.getActionString();
|
String actionStr = set.getActionString();
|
||||||
|
|||||||
+7
-3
@@ -227,11 +227,15 @@ public class FixedViolationHunkParser extends FixedViolationParser {
|
|||||||
for (HierarchicalActionSet subActionSet : actionSet.getSubActions()) {
|
for (HierarchicalActionSet subActionSet : actionSet.getSubActions()) {
|
||||||
int bugS = subActionSet.getStartPosition();
|
int bugS = subActionSet.getStartPosition();
|
||||||
int fixS = subActionSet.getFixStartLineNum();
|
int fixS = subActionSet.getFixStartLineNum();
|
||||||
if (bugS > bugEndPosition || fixS > fixEndPosition) {
|
|
||||||
|
if (subActionSet.getActionString().startsWith("INS")) {
|
||||||
|
if (fixS > fixEndPosition) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} else if (!subActionSet.getActionString().startsWith("MOV") && bugS > bugEndPosition) {
|
||||||
continue;
|
continue;
|
||||||
} else {
|
|
||||||
editScripts += getActionString(subActionSet, bugEndPosition, fixEndPosition, startStr + "---");
|
|
||||||
}
|
}
|
||||||
|
editScripts += getActionString(subActionSet, bugEndPosition, fixEndPosition, startStr + "---");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user