Skip to main content

Crate ddc_dec

Crate ddc_dec 

Source
Expand description

ddc-dec — DEX → Java decompiler front-end over jdc-core.

Pipeline per method: DEX code units → CFG → per-block register→IR lifting → jdc-core structuring/conversion → refinement passes → emission. Class-level rendering mirrors jcdc’s classdec but reads DEX metadata (no signatures, no generics).

Re-exports§

pub use classdec::ClassOptions;

Modules§

access
cfg
Basic-block splitting and CFG construction for Dalvik code units.
classdec
Class-level rendering: header, fields (with static initializers), constructors, methods and nested member classes.
ctx
The DEX front-end’s implementation of jdc_core::Ctx.
lift
Register-machine expression lifting: Dalvik instructions → jdc-core IR.
method
Per-method decompilation pipeline: DEX code units → CFG → register→IR lifting (fixpoint with merge phis) → jdc-core structuring → statement conversion → refinement passes.
passes
Post-convert refinement passes for DEX-lifted statement trees.

Structs§

DexPool
Multi-DEX class pool: classes from all images, first definition wins.
PoolClass
A class materialized from one class_def_item (with ids resolved to names and the class data expanded).
PoolField
One field of a pooled class.
PoolMethod
One method of a pooled class.
ResolvedNesting
Nesting evidence, names resolved at pooling time.

Enums§

StaticValue
A resolved static-field initializer.

Functions§

desc_type
JavaType for a field/method descriptor segment.
find_outer_name
Nesting evidence for internal: dalvik annotations first, then the $-name heuristic against the pool.
top_level_classes