Fix the problem of traveling AST edit scripts.

This commit is contained in:
Kui LIU
2017-08-12 14:45:22 +02:00
parent 9bff704965
commit 70c38e361b
2 changed files with 14 additions and 4 deletions
@@ -199,7 +199,13 @@ public abstract class Parser implements ParserInterface {
int bugS = set.getStartPosition();
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());
String actionStr = set.getActionString();
@@ -227,11 +227,15 @@ public class FixedViolationHunkParser extends FixedViolationParser {
for (HierarchicalActionSet subActionSet : actionSet.getSubActions()) {
int bugS = subActionSet.getStartPosition();
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;
} else {
editScripts += getActionString(subActionSet, bugEndPosition, fixEndPosition, startStr + "---");
}
editScripts += getActionString(subActionSet, bugEndPosition, fixEndPosition, startStr + "---");
}