首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏xiaoxi666的专栏

    IDEA插件:快速删除Java代码中的注释

    原理 这个第三方库叫做JavaParser。它可以分析Java源码,并生成语法分析树(AST),其中注释也属于AST中的节点。 因此核心思路即为: JavaParser解析源码并得到AST。 我这里使用maven管理项目,首先引入JavaParser依赖: <dependencies> <dependency> <groupId>com.github.javaparser ; import com.github.javaparser.ParseResult; import com.github.javaparser.ParserConfiguration; import com.github.javaparser.ast.CompilationUnit; import com.github.javaparser.ast.Node; import com.github.javaparser.ast.comments.BlockComment javaParser = createJavaParser(); ParseResult<CompilationUnit> result = javaParser.parse(content

    3.6K00发布于 2021-02-17
  • 来自专栏京东技术

    代码手术刀—自定义你的代码重构工具

    这里使用github上开源的工具javaParser来对类进行解析、代码提取、删除以及内容新增,javaParser会在下一章节进行介绍。 JavaParser是什么? JavaParser 是一个开源的 Java 源代码分析工具,它提供了一系列简单的API来解析、修改和生成 Java 代码。 这里附上JavaParser的相关链接: 官网:https://javaparser.org/ github:https://github.com/javaparser/javaparser wiki: https://github.com/javaparser/javaparser.wiki.git javadoc:https://www.javadoc.io/doc/com.github.javaparser 上面的一些组件是javaParser中比较核心且常用的部分,当然javaParser还提供了一些便捷的工具类以及用法,这些内容笔者也没有接触过,有需要的读者可以自行翻阅文档。

    61310编辑于 2024-04-11
  • 来自专栏xiaoxi666的专栏

    IDEA插件:快速删除Java代码中的注释

    我这里使用maven管理项目,首先引入JavaParser依赖: <dependencies> <dependency> <groupId>com.github.javaparser ; import com.github.javaparser.ParseResult; import com.github.javaparser.ParserConfiguration; import com.github.javaparser.ast.CompilationUnit; import com.github.javaparser.ast.Node; import com.github.javaparser.ast.comments.BlockComment ; import com.github.javaparser.ast.comments.Comment; import com.github.javaparser.ast.comments.LineComment javaParser = createJavaParser(); ParseResult<CompilationUnit> result = javaParser.parse(content

    3K30发布于 2021-02-25
  • 来自专栏Kevinello的技术小站

    浅尝antlr4

    import JavaParser from pprint import pformat class AstProcessor: def __init__(self, logging, def enterPackageDeclaration(self, ctx: JavaParser.PackageDeclarationContext): self.ast_info[' def enterMethodDeclaration(self, ctx: JavaParser.MethodDeclarationContext): print("Start line def exitMethodDeclaration(self, ctx: JavaParser.MethodDeclarationContext): c1 = ctx.getChild( def enterMethodCall(self, ctx: JavaParser.MethodCallContext): line_number = str(ctx.start.line

    2.3K21编辑于 2022-08-19
  • 来自专栏安全预演

    编写Java自动化代码审计工具

    开发扫描工具 为了实现扫描工具,我们将使用JavaParser库来解析Java代码,并使用正则表达式和语法分析来检测漏洞。 首先,我们需要添加JavaParser的依赖: <dependency> <groupId>com.github.javaparser</groupId> <artifactId>javaparser-core <version>3.15.5</version> </dependency> 然后,我们将编写一个名为 Scanner 的类,用于扫描Java代码并检测漏洞: import com.github.javaparser.StaticJavaParser ; import com.github.javaparser.ast.CompilationUnit; import com.github.javaparser.ast.body.MethodDeclaration } } return vulnerabilities; } } 在这个类中,我们定义了一个名为 scan 的方法,该方法接受Java源代码作为参数,然后使用JavaParser

    1.8K110编辑于 2023-02-16
  • Java程序员的“终局”之战?从代码生成到自主决策,亲手打造“自我编程”Agent

    它拥有“双手”(JGit)、“手术刀”(JavaParser)和“大脑”(LLM),它在实时地、动态地、自主地与我们的代码库进行交互。 推送 git.push().setRemote("origin").call(); } 手指 2: 代码手术刀 (JavaParser) 工具:com.github.javaparser:javaparser-core import com.github.javaparser.StaticJavaParser; import com.github.javaparser.ast.CompilationUnit; import com.github.javaparser.ast.body.MethodDeclaration; import com.github.javaparser.ast.stmt.BlockStmt; [Print] 行动 (第1轮): Agent (JavaParser): 使用LLM返回的字符串替换UserService中的旧方法体。

    43910编辑于 2025-11-17
  • 来自专栏OneCode 低代码

    OneCode 双引擎:携手代码大模型,重塑代码开发科技新范式

    示例代码:使用 JavaParser 进行源码解析收起javaimport com.github.javaparser.JavaParser;import com.github.javaparser.ast.CompilationUnit ;import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration;import java.io.File;import java.io.IOException 读取源码文件 File file = new File("src/main/java/Example.java"); CompilationUnit cu = JavaParser.parse

    56110编辑于 2025-02-16
  • 来自专栏OneCode 低代码

    OneCode 丐版 AICode插件:免费开启高效代码之旅

    引入 GitHub JavaParser:实现 Java 源码模型转换对于 Java 开发者来说,代码结构的理解和转换是一项常见的任务。 OneCode 丐版 AI 插件引入了 GitHub JavaParser,这是一个开源的 Java 解析器,它可以将 Java 源代码解析成抽象语法树(AST),并对其进行操作和转换。 在插件中,JavaParser 发挥着重要的作用。当开发者需要对 Java 代码进行重构、优化或者进行代码模型转换时,插件会利用 JavaParser 对代码进行解析和分析。

    27410编辑于 2025-02-26
  • 全栈内容搜索

    可以使用ANTLR或JavaParser等开源库来解析源代码,并提取出类、方法、变量和注释等信息。 4. 索引数据库内容 将数据库表的数据进行索引,并将索引结果存储到搜索引擎中。 Elasticsearch官方网站:https://www.elastic.co/ JSoup官方网站:https://jsoup.org/ ANTLR官方网站:https://www.antlr.org/ JavaParser 官方网站:https://javaparser.org/

    15910编辑于 2025-08-29
  • 来自专栏吴涛的专栏

    代码自动生成在重构中的一次探索

    JavaSymbolResolver介绍 JavaSymbolResolver是一个用于Java语法语义解析的库,其实现基础是JavaParser库。 JavaSymbolResolver的这些强大的符号解析能力要基于JavaParser的语法解析。 图 8 例如,有如下代码: package com.github.javaparser; import java.time.LocalDateTime; public class TimePrinter 前面我们已经说过,JavaSymbolResolver是建立在JavaParser上的,JavaSymbolResolver借助JavaParser的AST树,便可实现其符号解析。 另外,本文还对注解解析,JavaSymbolResolver及JavaParser的基础知识进行了讲解。

    3.4K10发布于 2017-10-25
  • 来自专栏向治洪

    android 自定义Lint

    请使用Ln,避免使用System.out.println"); return true; } JavaParser.ResolvedNode resolve = context.resolve(node); if (resolve instanceof JavaParser.ResolvedMethod) { JavaParser.ResolvedMethod method = (JavaParser.ResolvedMethod) resolve; // 方法所在的类校验 JavaParser.ResolvedClass containingClass = method.getContainingClass(

    1.6K100发布于 2018-02-06
  • 来自专栏采云轩

    Lombok技术揭秘 _ 自动生成带代码的幕后机制

    有兴趣可以学习 JavaParser 源码, 了解将 Java 源代码解析生成成一个抽象语法树( AST ),这个树形结构表示了代码的 语法结构包括类、方法、变量、语句等等过程。 github地址:https://github.com/javaparser/javaparser. 参考文献 Lombok 官网地址: https://projectlombok.org JavaParser 源码地址: https://github.com/javaparser/javaparser

    1.5K30编辑于 2023-09-26
  • 来自专栏潇涧技术专栏

    Lint Tool Analysis (2)

    perform type attribution for multiple units in a single pass) * @return a new {@link JavaParser }, or null if this client does not * support Java analysis */ @Nullable public abstract JavaParser javaParser = mClient.getJavaParser(project); if (javaParser == null) { mClient.log(null, , contexts); } //访问java文件,进行lint检查 private void visitJavaFiles(@NonNull List<Detector> checks, JavaParser javaParser, List<JavaContext> contexts) { // Temporary: we still have some builtin checks

    2.6K20发布于 2018-08-01
  • 来自专栏QAPM-腾讯客户端性能分析

    能“理解代码”的缺陷分配服务之技术内核

    generates: public interface JavaListener extends ParseTreeListener<Token> { void enterClassDeclaration(JavaParser.ClassDeclarationContext ctx); void exitClassDeclaration(JavaParser.ClassDeclarationContext ctx); void enterMethodDeclaration (JavaParser.MethodDeclarationContext ctx); ... } where there is an enter and exit method for each rule

    1.5K41发布于 2021-02-10
  • 来自专栏KIWI的碎碎念

    【qdox】Java 代码解析利器 QDox

    发现手写还是很难的,找了一圈发现了两个不错的工具可以使用,一个是 javaparser[1],另一个是 qdox[2] 。 个人感觉 javaparser 强大一些,更新与维护也比较勤,但是相对来说上手难一点,从他的使用文档独立成书在买,可见一斑,而 qdox 比较小巧,上手很快,功能也满足大部分需求,最终还是选择了 qdox image.png Reference [1] javaparser: https://github.com/javaparser/javaparser [2] qdox: https://github.com

    1.7K10发布于 2020-04-08
  • 来自专栏原创

    教你如何用AST语法树对代码“动手脚”

    推荐操作AST类库链接 https://github.com/Netflix-Skunkworks/rewrite   https://github.com/Javaparser/Javaparser

    3.1K60发布于 2018-03-21
  • 来自专栏codelang

    一次有趣的 Kotlin 语法解析实践

    最后贴一下源码链接:https://github.com/MRwangqi/kotlinParse[6] Reference [1]javaparse: https://github.com/javaparser /javaparser [2]kotlin-parser: https://github.com/sarahBuisson/kotlin-parser [3]kastree: https://github.com

    1.2K30编辑于 2022-04-19
  • 来自专栏prepared

    AI 编程:可视化 Java 项目

    2)通过 JavaParser 工具 可以通过 JavaParser 工具,扫描整个 Java 项目代码。找到所有的对外入口。

    93810编辑于 2023-12-14
  • 来自专栏啄木鸟软件测试

    精准测试及其工具(连载3)

    图31修改pom.xml文件 修改<systemPath></systemPath>的路径分别为客户端下client/MQ下JAVAParser-2.0.jar、jeromq-0.5.2.jar和transmittable-thread-local

    87410发布于 2019-12-12
  • 来自专栏京东技术

    浅析“代码可视化”

    现成的源码分析工具有Antlr/javaparser/soot等。下面以javaparser工具为例简要说明生成流程: 步骤一:导入需要分析项目的源码和依赖包,并使用工具解析 图 9.

    1.1K10编辑于 2024-01-26
领券