I am trying to get package name but i get an error
Error: incompatible types:NameExpr cannot be converted String
String packagePrefix = cu.getPackage().getName();
I tried to convert "getPackage().getName()" to string with toString() method following code:
String packagePrefix = cu.getPackage().getName().toString();
And i get following error:
Error:cannot find symbol:method.toString()
location:class NameExpr
Probably NameExpr class doesn't contain toString() method depending on this question:What does a "Cannot find symbol" compilation error mean? How can i fix this problem?
Edit: Full Code:
public static String parseClassname(File filename) throws Exception {
try (FileInputStream fin = new FileInputStream(filename)) {
CompilationUnit cu = JavaParser.parse(fin);
String packagePrefix = cu.getPackage().getName().toString();
if (!packagePrefix.isEmpty()) packagePrefix += ".";
for (TypeDeclaration type : cu.getTypes())
{
if (type instanceof ClassOrInterfaceDeclaration)
return packagePrefix + type.getName();
}
}
return null;
}