如何使用JDT搜索引擎在currentWorksheet.Cells["C2"].Value = 5;
currentWorksheet.Cells["C3"].Value = 15;
currentWorksheet.Cells["C4"].Formula = "SUM(C2:C3)";
currentWorksheet.Cells["D2"].Value = 15;
currentWorksheet.Cells["D3"].Value = 25;
currentWorksheet.Cells["D4"].Formula = "SUM(D2:D3)";
//Calculate the formulas and the overwrite them with their values
currentWorksheet.Cells.Calculate();
foreach (var cell in currentWorksheet.Cells.Where(cell => cell.Formula != null))
cell.Value = cell.Value;
中找到TypeDeclaration
?
我想使用某个类的包和名称(例如IProject
)来查找特定"my.package.ClassName"
中的TypeDeclaration
。
我知道我可以使用Java AST和AST访问者来比较当前包和节点名称,但我更喜欢使用字符串搜索。
答案 0 :(得分:1)
如果您已经拥有该课程的合格名称并拥有一个项目,则无需使用该搜索引擎。
第1步:获取代表您项目的IJavaProject
实例:
IJavaProject jProj = JavaCore.create(proj);
第2步:找到代表您班级的IType
:
IType type = jProj.findType(fullyQualifiedname);
第3步:获取包含编译单元:
ICompilationUnit cu = type.getCompilationUnit();
第4步:将其传递给ASTParser
TypeDeclaration
CompilationUnit
(作为astParser.setSource(cu);
的一部分):
ASTParser
(假设您已经拥有maxSize
,知道如何调用解析并检查生成的AST)。