Package org.jruby.runtime.marshal
Class MarshalDumper
java.lang.Object
org.jruby.runtime.marshal.MarshalDumper
Marshals objects into Ruby's binary marshal format.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
static interface
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
dumpDefaultObjectHeader
(ThreadContext context, RubyOutputStream out, char tp, RubyClass type) void
dumpDefaultObjectHeader
(ThreadContext context, RubyOutputStream out, RubyClass type) void
dumpObject
(ThreadContext context, RubyOutputStream out, IRubyObject value) void
dumpSymbol
(RubyOutputStream out, ByteList value) void
dumpVariables
(ThreadContext context, RubyOutputStream out, IRubyObject value) void
dumpVariables
(ThreadContext context, RubyOutputStream out, IRubyObject value, int extraSize) <T extends IRubyObject>
voiddumpVariables
(ThreadContext context, RubyOutputStream out, T value, int extraSize, MarshalDumper.VariableSupplier<T> extra) static RubySymbol
getPathFromClass
(ThreadContext context, RubyModule clazz) void
registerLinkTarget
(IRubyObject newObject) void
start
(RubyOutputStream out) void
userMarshal
(ThreadContext context, RubyOutputStream out, IRubyObject value) void
userMarshal
(ThreadContext context, RubyOutputStream out, IRubyObject value, CacheEntry entry) void
userNewMarshal
(ThreadContext context, RubyOutputStream out, IRubyObject value) void
userNewMarshal
(ThreadContext context, RubyOutputStream out, IRubyObject value, CacheEntry entry) void
writeByte
(RubyOutputStream out, int value) void
writeDirectly
(ThreadContext context, RubyOutputStream out, IRubyObject value) void
writeEncoding
(ThreadContext context, RubyOutputStream out, org.jcodings.Encoding encoding) void
writeInt
(RubyOutputStream out, int value) void
writeString
(RubyOutputStream out, String value) void
writeString
(RubyOutputStream out, ByteList value) void
writeUserClass
(ThreadContext context, RubyOutputStream out, RubyClass type)
-
Constructor Details
-
MarshalDumper
public MarshalDumper(int depthLimit)
-
-
Method Details
-
start
-
dumpObject
-
registerLinkTarget
-
writeDirectly
-
getPathFromClass
-
userNewMarshal
public void userNewMarshal(ThreadContext context, RubyOutputStream out, IRubyObject value, CacheEntry entry) -
userNewMarshal
-
userMarshal
public void userMarshal(ThreadContext context, RubyOutputStream out, IRubyObject value, CacheEntry entry) -
userMarshal
-
writeUserClass
-
dumpVariables
-
dumpVariables
public void dumpVariables(ThreadContext context, RubyOutputStream out, IRubyObject value, int extraSize) -
dumpVariables
public <T extends IRubyObject> void dumpVariables(ThreadContext context, RubyOutputStream out, T value, int extraSize, MarshalDumper.VariableSupplier<T> extra) -
writeEncoding
public void writeEncoding(ThreadContext context, RubyOutputStream out, org.jcodings.Encoding encoding) -
dumpDefaultObjectHeader
-
dumpDefaultObjectHeader
public void dumpDefaultObjectHeader(ThreadContext context, RubyOutputStream out, char tp, RubyClass type) -
writeString
-
writeString
-
dumpSymbol
-
writeInt
-
writeByte
-