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