Skip to main content

Crate cure_java_simplify

Crate cure_java_simplify 

Source
Expand description

§cure-java-simplify

Java 简化门面:引擎通用规则 + Java 特有规则,一站式 simplify。

引擎规则(布尔、自赋值、常量条件、局部传播……)定义在 cure-engine, 通过 Lang 抽象复用;本 crate 只放需要 Java 类型/负载信息的规则。

Structs§

Base64NewStringFold
BoxUnboxChain
CastSimplify
冗余 cast:
CffRecover
ConcatValueOfDrop
ConstFieldPropagate
ConstMethodInline
CtorDelegationHoist
DeadPureCall
实参效应 ≤ MayRead(VarRef/字面量/纯算术——字段读不抛不写;数组读
EmptyFinallyStrip
IteratorToForEach
LiteralEval
LoopHeadBreak
NewStringCharArrayFold
NewStringFold
NoopPrivateCall
SelfCompare
同一整数局部变量的 x == x → true / x != x → false (浮点有 NaN 语义,引用保守起见不碰)。
StaticArrayIndexFold
StaticExec
StrLenFold
StringBuilderFold
StringBuilderStatements
StringSwitchRecover
TrailingAssignReturn
TrailingContinueJava
TrailingElseFlatten
TrailingIfContinue
TryUnwrapNoCatch
TryUnwrapRethrow
TwrRecover
UrlDecodeFold
WhileIteratorToForEach
XorNoise

Functions§

all_java_rules
全量规则(含 DCE 类选配项:不可达语句删除等)。
collect_unit_consts
收集类级常量:static final 字面量/数组字段(无写、无局部同名) 与单 return 方法体。
default_config
默认配置。
default_java_rules
Java 默认规则集(引擎通用规则 + Java 特有规则;保守集,不含 DCE 类)。
set_jdk_home
主线程(CLI)在并行 worker 启动前调用。也支持 CURE_JDK_HOME 环境变量。
simplify
对方法体(或任意语句 Block)运行 Java 规则集直到 fixed point。
simplify_unit
simplify_unit_with_facts
整个编译单元:逐个方法体/初始化块/字段初始化器优化,签名不动。 带外部事实的单元简化:前端 IR 权威陈述(单定义/单使用/布尔性/ 调用副作用)注入后运行常规管线——事实只放宽守卫,不改变规则集。 单元结束自动清空(JavaFacts 生命周期 = 编译单元)。