From 74cb8d1f4f6d2d16d3733e171a95a1bd8b9f62f5 Mon Sep 17 00:00:00 2001 From: Kui LIU Date: Tue, 21 Nov 2017 16:30:46 +0100 Subject: [PATCH] Fix the StringOutOfBorderException. --- src/main/java/edu/lu/uni/serval/FixPatternParser/Parser.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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 d0b9a19..b93c023 100644 --- a/src/main/java/edu/lu/uni/serval/FixPatternParser/Parser.java +++ b/src/main/java/edu/lu/uni/serval/FixPatternParser/Parser.java @@ -284,7 +284,7 @@ public abstract class Parser implements ParserInterface { String editScripts = ""; String actionStr = actionSet.getActionString(); int index = actionStr.indexOf("@@"); - String singleEdit = actionStr.substring(0, index).replace(" ", ""); + String singleEdit = actionStr.substring(0, index); if (singleEdit.endsWith("Statement")) { singleEdit = singleEdit + " " + singleEdit.substring(4, singleEdit.indexOf("Statement")).toLowerCase(Locale.ENGLISH); @@ -312,7 +312,8 @@ public abstract class Parser implements ParserInterface { singleEdit = singleEdit.replace("SimpleName", "MethodName"); // "MethodName:" + method.getName().getFullyQualifiedName() + ":" + argumentsList.toString() String methodName = actionStr.substring(actionStr.indexOf("MethodName:") + 11); - methodName = methodName.substring(0, methodName.indexOf(":")); + int index1 = methodName.indexOf(":"); + methodName = methodName.substring(0, (index1 < 0 ? methodName.indexOf(" ") : index)); singleEdit += " " + methodName; } else if (actionStr.startsWith("ClassName")) { singleEdit = singleEdit.replace("SimpleName", "ClassName");