From 824b60d03bb20e109d08219ce06c4ad39049cebb Mon Sep 17 00:00:00 2001 From: Kui LIU Date: Sat, 25 Nov 2017 00:46:28 +0100 Subject: [PATCH] Update. --- src/main/java/edu/lu/uni/serval/FixPatternParser/Parser.java | 4 ++++ .../edu/lu/uni/serval/gumtree/regroup/HunkActionFilter.java | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/edu/lu/uni/serval/FixPatternParser/Parser.java b/src/main/java/edu/lu/uni/serval/FixPatternParser/Parser.java index ae75253..132f305 100644 --- a/src/main/java/edu/lu/uni/serval/FixPatternParser/Parser.java +++ b/src/main/java/edu/lu/uni/serval/FixPatternParser/Parser.java @@ -364,6 +364,10 @@ public abstract class Parser implements ParserInterface { singleEdit.endsWith("New") || singleEdit.endsWith("WildcardType") || singleEdit.endsWith("SimpleType") || singleEdit.endsWith("QualifiedType") || singleEdit.endsWith("PrimitiveType") || singleEdit.endsWith("NameQualifiedType")) { singleEdit += " " + actionSet.getNode().getLabel(); + } else if (singleEdit.endsWith("SuperConstructorInvocation")) { + singleEdit += " super"; + } else if (singleEdit.endsWith("ConstructorInvocation")) { + singleEdit += " this"; } else if (singleEdit.endsWith("SimpleName")) { actionStr = actionStr.substring(index + 2); if (actionStr.startsWith("MethodName")) { diff --git a/src/main/java/edu/lu/uni/serval/gumtree/regroup/HunkActionFilter.java b/src/main/java/edu/lu/uni/serval/gumtree/regroup/HunkActionFilter.java index 47a36ac..8e60907 100644 --- a/src/main/java/edu/lu/uni/serval/gumtree/regroup/HunkActionFilter.java +++ b/src/main/java/edu/lu/uni/serval/gumtree/regroup/HunkActionFilter.java @@ -391,6 +391,8 @@ public class HunkActionFilter { int bugHunkEndLine = violation.getBugEndLineNum(); int fixHunkStartLine = violation.getFixStartLineNum(); int fixHunkEndLine = violation.getFixEndLineNum(); + int bugFixStartLineNum = violation.getBugFixStartLineNum(); + int bugFixEndLineNum = violation.getBugFixEndLineNum(); for (HierarchicalActionSet actionSet : actionSets) { int actionBugStartLine = actionSet.getBugStartLineNum(); @@ -412,7 +414,8 @@ public class HunkActionFilter { } // INS with MOV actions that are not identified in previous IF predicate, and pure INS actions - if (violation.getBugFixStartLineNum() >= actionFixEndLine && actionFixStartLine <= violation.getBugFixEndLineNum()) { + if (bugFixStartLineNum >= actionFixEndLine && actionFixStartLine <= bugFixEndLineNum && Math.abs(bugFixStartLineNum - actionFixStartLine) <= 3 + && Math.abs(bugFixEndLineNum - actionFixEndLine) <= 3) { violation.getActionSets().add(actionSet); } }