1
我使用eclipse JDT & AST创建java源文件。有些情况下,生成的源文件正在实施或扩展某些东西。eclipse jdt自动方法存根生成
是否可以在实际创建它们之前自动添加方法存根?如通过JDT调用此“添加未实现的方法”快速修复。
我知道我可以通过这些API自己添加它们,但我想调整。
我使用eclipse JDT & AST创建java源文件。有些情况下,生成的源文件正在实施或扩展某些东西。eclipse jdt自动方法存根生成
是否可以在实际创建它们之前自动添加方法存根?如通过JDT调用此“添加未实现的方法”快速修复。
我知道我可以通过这些API自己添加它们,但我想调整。
我在几个小时后找到了解决方案;代码大致是这样的。也有在此包中许多好的代码操作类“org.eclipse.jdt.internal.corext.codemanipulation。*”
ICompilationUnit createCompilationUnit = getItSomeHow();
RefactoringASTParser parser1 = new RefactoringASTParser(AST.JLS3);
CompilationUnit unit = parser1.parse(createCompilationUnit, true);
AbstractTypeDeclaration declaration = (AbstractTypeDeclaration) ASTNodes.getParent(
NodeFinder.perform(unit, createCompilationUnit.getTypes()[0].getNameRange()),
AbstractTypeDeclaration.class);
ITypeBinding binding = declaration.resolveBinding();
IMethodBinding[] overridableMethods = StubUtility2.getOverridableMethods(unit.getAST(), binding, false);
AddUnimplementedMethodsOperation op = new AddUnimplementedMethodsOperation(unit, binding,
null/* overridableMethods */, -1, true, true, true);
要运行上面的代码,应该添加下面的指令:'op.run(new NullProgressMonitor());' – Zakaria
你可以看一下速战速决的执行情况,并做同样的事情在你的代码。 –
没有免费发射呵呵:)我挖了自己。谢谢,我应该习惯于检查eclipse源码。 –