SuperAPI AI 工具集

generate-classes

编程与开发

查看项目

更新于 10-16 07:43

技能介绍

用途

generate-classes 用于从 DSL 脚本生成字节码类,并导出 .class 文件供检查。它运行 v2 编译器(ANTLR4 + Javassist)。

主要能力

按参数生成不同的 DSL 类:

mal — MAL 表达式类

./mvnw test -pl oap-server/analyzer/dsl-scripts-test \
  -Dtest=MALExpressionExecutionTest -DfailIfNoTests=false -Dcheckstyle.skip

输出位置:oap-server/analyzer/dsl-scripts-test/src/test/resources/scripts/mal/**/*.generated-classes/

oal — OAL 指标/分发器/构建器类

./mvnw test -pl oap-server/oal-rt \
  -Dtest=RuntimeOALGenerationTest -DfailIfNoTests=false -Dcheckstyle.skip

输出位置:oap-server/oal-rt/target/test-classes/metrics/、metrics/builder/、dispatcher/

lal — LAL 过滤/提取类

./mvnw test -pl oap-server/analyzer/dsl-scripts-test \
  -Dtest=LALExpressionExecutionTest -DfailIfNoTests=false -Dcheckstyle.skip

输出位置:oap-server/analyzer/dsl-scripts-test/src/test/resources/scripts/lal/**/*.generated-classes/

hierarchy — Hierarchy 规则类

./mvnw test -pl oap-server/analyzer/dsl-scripts-test \
  -Dtest=HierarchyRuleExecutionTest -DfailIfNoTests=false -Dcheckstyle.skip

输出位置:oap-server/analyzer/dsl-scripts-test/src/test/resources/scripts/hierarchy-rule/*.generated-classes/

all 或不带参数 — 生成全部 DSL

依次运行上述四条命令。

使用方式

生成完成后,会打印所请求 DSL 的输出位置,以便用户找到生成的 .class 文件。使用 javap 反编译:

javap -c -p <path-to-class-file>

清理生成的类:

./mvnw clean -pl oap-server/analyzer/dsl-scripts-test

适用场景

需要检查从 DSL 脚本编译出的字节码、验证编译器输出结构时使用。

限制

仅提供以上参数与命令,未提供其他 DSL 类型、图形界面、自动化流程或性能相关说明。