问题标签 [javaparser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
852 浏览

java - 如何使用 JavaParser 解析方法或任何其他有效表达式

JavaParser是一个java源代码解析工具。我阅读了文档,但发现它只能解析完整 java 类的源代码,例如:

但我只想解析其中的一部分,例如方法声明:

怎么做或者有可能吗?如果没有,是否有任何其他工具可以做到这一点?


更新

实际上我想解析java中的任何有效表达式,所以我可以用JavaParser轻松做到这一点:

0 投票
3 回答
5626 浏览

java - 使用 JavaParser 解析变量的正确方法是什么?

使用 JavaParser,我可以使用以下方法获取我的方法和字段的列表:

但我不知道如何获取我的变量列表。我只是想要一个来自 java 源的所有变量的列表,而不管范围如何。

0 投票
1 回答
1985 浏览

java - 使用 JavaParser 在类中计算方法声明 + 方法调用

我正在尝试编写 rfc 指标(类的响应),它计算方法声明 + 方法调用。

方法声明工作正常,但我在使用 JavaParser API 计算方法调用时遇到了问题。

这是我的代码:

测试.java

该代码的结果:

实际上,该代码检查方法调用,但在我的情况下,我不希望它计算像 System.out.println 这样的库方法调用(toString()),我希望它只计算toString()

如果您有更好的代码或其他 API 可以使用...欢迎任何帮助,在此先感谢您。

0 投票
1 回答
544 浏览

java - 谷歌 javaparser IfStmt 不计算结果

我正在使用 Google javaparser 解析 java 文件,当我尝试计算“If”语句时,似乎无法获得“else-if”语句的数量。

例如,我想解析以下代码:

我想获得圈复杂度,以便我需要计算“if”和“else-if”的数量。当我使用访问者模式时,我只能访问 API 中定义的“IfStmt”,代码如下:

没有办法获得“else-if”,但带有“IfStmt”的访问者模式将整个代码块视为一个“if”语句。所以,我希望数字是 4,但它是 2。

有人有什么想法吗?

0 投票
2 回答
692 浏览

javaparser - 在 Javaparser 中处理异常

由于令牌错误,我正在尝试处理 Javaparser 库产生的异常。我使用了以下代码。

但是,该异常从未被捕获,并且我从其他地方生成了一个不同的异常。我得到了这个例外:

线程“main”中的异常 japa.parser.TokenMgrError:第 1 行第 16 列的词法错误。遇到:“#”(35),之后:“”在 japa.parser.ASTParserTokenManager.getNextToken(ASTParserTokenManager.java:2247)在japa.parser.ASTParser.jj_ntk(ASTParser.java:9986) at japa.parser.ASTParser.ClassOrInterfaceBody(ASTParser.java:926) at japa.parser.ASTParser.ClassOrInterfaceDeclaration(ASTParser.java:604) at japa.parser.ASTParser .TypeDeclaration(ASTParser.java:524) at japa.parser.ASTParser.CompilationUnit(ASTParser.java:269) at japa.parser.JavaParser.parse(JavaParser.java:81) at japa.parser.JavaParser.parse(JavaParser. java:94) 在 misc.CompileTest.main(CompileTest.java:45)

任何想法,如何处理异常?提前致谢

0 投票
1 回答
245 浏览

java - 如何使用javaparser在java文件中显示带有签名的方法列表

我需要使用 javaparser 显示方法列表以及 java 类的签名。

我知道如何显示没有签名但没有签名的方法列表。任何人都可以提供一些示例来获取方法和签名。

0 投票
1 回答
232 浏览

java - 霍尔斯特德科学指标

我正在halstead Metrics使用java构建并且我正在使用javaparser库,我对如何在java导入文件中找到所有java保留字感到困惑,这些文件将被解析以找到运算符(n1)?

0 投票
2 回答
3102 浏览

java - 如何使用 javaparser 获取类级变量声明?

我只想获得类级别的变量声明。如何使用 javaparser 获取声明?

使用 javaparser 必须获取变量“浏览器”的详细信息,例如浏览器的类型是“关键字”

0 投票
8 回答
4678 浏览

java - 如何获取java类的完全限定名

我有一个像下面这样的课程。

Keyword是不同包中的一个类。我想在使用javaparserKeyword 解析类时获取类的完全限定名。Login

0 投票
1 回答
94 浏览

javaparser - 是否可以保留空格?

使用javaparser库:

有没有办法打印出编译单元并保留空格?

我在 compilerUnit 上尝试了 toString() 方法,但这会丢弃换行符。

看到每个 ASTNode 如何存储行号和列号信息,我只是错过了正确的方法吗?