使用Eclipse的Ast解析java源代码~~~~ - rwl6813021 - Jav...
来源:百度文库 编辑:神马文学网 时间:2024/04/25 17:54:49
使用Eclipse的Ast解析java源代码~~~~
Eclipse的Ast包可以对.java的源码文件进行分析,得到其中的变量,函数等等属性,对于制作代码生成器来说是一个比较好的选择。以下是我的部分测试代码,供大家参考:
引用
String content = "";
try {
content = FileUtil.read("F:/RWL_SPACE/work/eclipse_plugin_ws/dddd/src/com/test/Test.java");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//创建解析器
ASTParser parsert = ASTParser.newParser(AST.JLS2);
//设定解析器的源代码字符
parsert.setSource(content.toCharArray());
//使用解析器进行解析并返回AST上下文结果(CompilationUnit为根节点)
CompilationUnit result = (CompilationUnit) parsert.createAST(null);
//获取类型
List types = result.types();
//取得类型声明
TypeDeclaration typeDec = (TypeDeclaration) types.get(0);
//##############获取源代码结构信息#################
//引用import
List importList = result.imports();
//取得包名
PackageDeclaration packetDec = result.getPackage();
//取得类名
String className = typeDec.getName().toString();
//取得函数(Method)声明列表
MethodDeclaration methodDec[] = typeDec.getMethods();
//取得函数(Field)声明列表
FieldDeclaration fieldDec[] = typeDec.getFields();
//输出包名
System.out.println("包:");
System.out.println(packetDec.getName());
//输出引用import
System.out.println("引用import:");
for(Object obj : importList) {
ImportDeclaration importDec = (ImportDeclaration)obj;
System.out.println(importDec.getName());
}
//输出类名
System.out.println("类:");
System.out.println(className);
//循环输出函数名称
System.out.println("函数:");
for(MethodDeclaration method : methodDec) {
System.out.println(method.getName());
}
//循环输出变量
System.out.println("变量:");
for(FieldDeclaration fieldDecEle : fieldDec) {
//public static
for(Object modifiObj : fieldDecEle.modifiers()) {
Modifier modify = (Modifier)modifiObj;
System.out.print(modify+"-");
}
System.out.println(fieldDecEle.getType());
for(Object obj : fieldDecEle.fragments()) {
VariableDeclarationFragment frag = (VariableDeclarationFragment)obj;
System.out.println("[FIELD_NAME:]"+frag.getName());
}
}
使用Eclipse的Ast解析java源代码~~~~ - rwl6813021 - Jav...
Java技术:Eclipse的使用技巧详解
使用Eclipse调试Java程序代码 - AJava
使用Maven管理Eclipse Java项目
在eclipse下使用java调用weka
解析Java对象的equals()和hashCode()的使用
最后完善的JAVA WEB服务器源代码
Eclipse如何查看源代码
Together for Eclipse的使用
关于Eclipse的使用技巧
关于Eclipse的使用技巧
Eclipse常用快捷键的使用
Eclipse中的debug的使用
中文分词源代码(JAVA)解析 - 我爱搜索引擎技术(52SE)
用户化JAXB绑定生成Java源代码的简单尝试
eclipse使用
Eclipse入门: Eclipse的使用简介及插件开发
Eclipse入门: Eclipse的使用简介及插件开发
Eclipse使用方面的一些经验总结
在 Eclipse 中运行带参数的 Java 程序
JAVA基础:eclipse.ini中各个参数的作用(2009
Matrix - 与 Java 共舞 - 教程-在Eclipse中使用Hibernate
Matrix - 与 Java 共舞 - 教程-在Eclipse中使用Hibernate
java 正则表达式的使用