我有一个java文件' Arithmetic.java',其中我有2个重写方法。
现在我想阅读这个文件,我需要打印所有方法签名行,并且必须将所有值放在一个数组中。
如果我找到相同的签名,那么我必须打印重写的方法找到。一旦我找到重写的方法,我必须将方法名称后缀为methodName_overridden1,methodName_overridden2等等......
直到现在我能够阅读这些行,能够读取方法名称。但是在将整个方法签名放入数组和后缀部分时,我无法继续。
请注意注释行//查找方法名称,方法返回类型
可能是我使用错误的方式。
任何帮助都很明显
我的代码在这里:
//Finds Method Name, Method Return Type
if(indexOfMethod >-1 && indexOfOpenBrace >-1){
//Finds Method signature Start
System.out.println("Print method line="+line.trim());
int methodLength=methodSignatures.length;
List<String> myList= new ArrayList<String>();
myList.add(line);
for (int i = 0; i < methodLength; i++) {
while(! (methodSignatures[i].equals(myList)))
{
methodSignatures[i]=methodName+"Override_1";
}
System.out.println("Signature:"+methodSignatures[i]);
}
//Finds Method signature End
String modified = line.substring(indexOfMethod, indexOfOpenBrace);
System.out.println("modified: "+modified);
String st[] = modified.split(" ");
methodName = st[st.length-1];
methodReturn=st[st.length-2];
System.out.println("methodName="+methodName);
System.out.println("methodReturn="+methodReturn);
//Get Method Parameter Types
paramLists=line.substring(indexOfOpenBrace+1, indexOfCloseBrace);
//System.out.println("Present Method Params are: " + paramLists);
methodParams=paramLists.split(",");
for (int i =0; i < methodParams.length ; i++){
methodParams[i]=methodParams[i].trim();
methodParams[i] = methodParams[i].substring(0, methodParams[i].indexOf(" "));
System.out.println("Splitted Method Parameter Types:" +methodParams[i]+":");
}
}
//Finds Project Code
if(line.contains(this.projectCode)){
System.out.println("Found Fix as:"+line);
if(classFound){
// create FixDetails object.
fixDetails = new FixDetails(packageName, className, methodName);
// sets all required params.
fixDetails.setmParams(methodParams);
fixDetails.setmReturnType(methodReturn);
fixDetails.setParamLists(paramLists);
//System.out.println("fixDetails in JAGTool: " + fixDetails);
testCaseGenerator.generateTest(fixDetails);
}
else{
System.out.println("Class not found yet. Probably import statement");
}
}
}//End Of While
提前致谢