Class: Rubino::Compression::RubyCodeSkeleton
- Inherits:
-
LineSkeleton
- Object
- LineSkeleton
- Rubino::Compression::RubyCodeSkeleton
- Defined in:
- lib/rubino/compression/ruby_code_skeleton.rb
Overview
The Ruby strategy for LineSkeleton: every ‘require`, comment, constant, `attr_*`, module/class structure and method SIGNATURE is kept VERBATIM; only LARGE method bodies are elided behind a pointer (see LineSkeleton for the pointer format and the drill-in invariant).
We work at LINE granularity and only elide a body when its signature line, body and closing ‘end` sit on distinct lines (a true multi-line def). A one-line `def x = 1` / `def x; 1; end` is left whole — there is nothing to point at, and eliding it could not round-trip cleanly.
Method Summary
Methods inherited from LineSkeleton
Constructor Details
This class inherits a constructor from Rubino::Compression::LineSkeleton