ast.newSimpleName() 方法有问题。
我无法创建“SomeJava.class”类型的 SimpleName。但该方法适用于“SWT.None”或“SomeJava.None”等名称。
这是代码:
MethodInvocation loggerInstance = ast.newMethodInvocation();
loggerInstance.setExpression(ast.newSimpleName("Logger"));
loggerInstance.setName(ast.newSimpleName("getLogger"));
String[] name1 = {className.replace(".java", ""),"None"};
String[] name2 = {className.replace(".java", ""), "class"};
loggerInstance.arguments().add(ast.newName(name1)); // This works
loggerInstance.arguments().add(ast.newName(name2)); // This doesn't
我是否应该为此使用除 SimpleName 之外的任何其他东西。提前致谢。
编辑:这是我要构造的语句:
Logger.getLogger(ClientTest.class);
在我的分析过程中,我发现使用“类”字面量时会出现问题。不知道如何克服这一点。
ast.newName("class");
ast.newSimpleName("class");