sim-codec-classfile 0.1.0

Bounded, lossless Java Virtual Machine classfile codec for SIM
Documentation

sim-codec-classfile

The structured attributes in this crate are lossless classfile data only. Debug, nest, record, sealed-class, package, and module metadata do not perform runtime resolution or lookup and carry no runtime meaning here.

This crate provides the bounded, lossless codec/classfile runtime. Decoding is inert and JVM-free: retained bytes browse as bounded constants, attributes, and instruction rows, and every instruction row carries an absolute byte offset back into the retained classfile. Encoding a retained projection restores those bytes. scope.toml remains the machine-readable format and reuse contract.

Reuse ledger

  • Reuse sim-codec's Input, Output, DecodeBudget, and loadable codec protocol rather than introducing a parallel runtime surface.
  • Compose sim-codec-binary's bounded reader/writer approach for byte lanes and allocation ceilings; classfile-specific modified UTF-8 remains new work.
  • Follow sim-codec-json's decoder/encoder object and Lib registration pattern.
  • Use sim-text's public code-unit string representation for modified UTF-8 values that cannot be represented as Unicode scalar strings.
  • No existing crate owns JVM classfile structure, constant-pool semantics, or classfile attribute preservation, so this crate is the new format owner.