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源碼。 –