Encodes bytecode instructions.
integer array
Appends an object to the reference table so it can be resolved later by getReadRef.
Looks up the ALTREP class for the given class/package symbol pair.
The info to be looked up.
The class RObjectData when found, undefined if unregistered, or null if info is not a ListSxp.
Attempts to unserialize an ALTREP object.
The info to be unserialized.
Serialized state.
Serialized attributes.
IS_OBJECT flag.
GP levels bits.
The RObjectData or .
Ensures that the given value is not RValues.NaInteger.
Integer value to be tested.
The validated integer value.
Ensures that the given object is not RValues.NilValue.
R object to validate.
The validated RObjectData.
Error if the object equals RValues.NilValue.
Decodes an R writer version integer into v, p, and s.
Encoded writer version.
Tuple containing version components [v,p,s].
Decompresses the given RDA file buffer.
Raw compressed file buffer.
CompressionType as returned by detectCompression.
Decompressed buffer.
Deserializes a decompressed RDA-file.
Deserialized RDA-file as RObject or RValues.NilValue, if the deserialization fails
Detects the compression algorithm used for an RDA file.
Raw file buffer.
Whether zlib headers should also be considered.
Detected CompressionType.
Detects the serialization type used for the RDA-file.
Buffer with decompressed RDA-file content
The identified SerializationTypes of decompressed RDA-file
Converts a linked-list based R object tree into a flat array representation.
Root node of the deserialized object tree.
Whether payload values should be omitted.
Flattened array of top-level objects.
Retrieves an object from the reference table.
1-based reference index.
A registered RObjectData.
Reads the next character from the input buffer.
The next character or -1 on EOF.
Reads a serialized integer value from the current buffer position.
Parsed integer value or RValues.NaInteger.
Reads len integers from the buffer.
Number of integers to read.
Array of integer values or RValues.NaInteger.
Reads len raw bytes from the buffer into a number array.
Number of raw bytes to read.
Array of unsigned byte values.
Extracts the reference index from the given flags.
When bits 8–31 are non-zero they encode the index directly; otherwise the index is read as the next integer from the stream.
Raw 32-bit flags word.
A 1-based reference index.
Reads a serialized string from the buffer.
Length of the serialized string.
Decoded string.
Reads a persistent string vector from the stream.
An RObjectData of type CharSxp whose value array holds the deserialized string items.
Reads an ASCII word from the input buffer.
Maximum allowed word size.
The parsed word.
Checks whether the given byte represents a whitespace character.
Character code to check.
true if the character is whitespace.
Looks up an ALTREP class entry by class and package symbol.
Class symbol.
Package symbol.
The RObjectData or undefined if not registered.
Searches the ALTREP class registry for an entry matching the given symbols.
The matching registry node or null if not found.
Creates or retrieves a cached primitive function object.
Primitive function table index.
Non-zero for SexpType.BuiltInSxp, zero for SexpType.SpecialSxp.
of type SexpType.BuiltInSxp or SexpType.SpecialSxp.
Allocates and initializes a weak reference object.
Weak reference key object.
Referenced value.
Finalizer function.
Whether the finalizer should run on exit.
The initialized weak reference object as RObject.
Parses an RDA file.
The file is decompressed, deserialized and converted into a flattened object representation.
List of found RObjectData or null if the file is empty.
Checks whether a bytecode object's version is within the supported range.
The SexpType.BcodesSxp RObjectData to check.
true if the version is supported.
Returns the source-language expression for an unsupported bytecode object.
First constant pool entry if available, otherwise RValues.NilValue.
Resolves a namespace reference by name using getNamespace() in R.
Simpler variant of R_FindNamespace1.
The RObjectData holding the namespace/package info.
An RObjectData of type SexpType.EnvSxp whose
value is set to the resolved environment. Currently only
R_GlobalEnv is handled; other results are logged as warnings.
Resolves a serialized namespace reference by executing R at runtime.
The RObjectData holding the namespace/package info.
An RObjectData of type SexpType.EnvSxp whose
value is set to the resolved environment. Currently only
R_GlobalEnv is handled; other results are logged as warnings.
Creates a weak reference object.
Weak reference key object.
Referenced value.
Finalizer function or NULL.
Whether the finalizer should run on exit.
The created weak reference object as RObject.
Registers a bytecode object after encoding.
Deserializes a single bytecode object.
Pre-allocated repetition table shared across all constants.
Reads the constants of a bytecode object.
Shared repetition table for BcRepDef/BcRepRef resolution.
A VecSxp RObjectData holding all n constants.
Reads a single language object from bytecode constants.
SexpType read from the constants.
Shared repetition table.
The deserialized language RObjectData.
Reads len bytes as a character string and applies encoding from the GP bits.
Encoding flags: bit 3 = UTF-8, bit 2 = Latin-1, bit 6 = bytes (returned as-is).
Number of bytes to read.
GP levels bits from the CharSxp flags word.
The decoded string, or '' when the encoding is not yet handled.
Reads the next flags and dispatches to readItemRecursive. This is the main recursive entry point called for every R object encountered during deserialization.
Iteratively deserializes linked-list based SEXP structures.
Initial flags.
Head node of the reconstructed pairlist chain as RObjectData.
Deserializes a single SEXP node recursively.
The method dispatches to the corresponding deserialization logic depending on the encoded SexpType.
Serialized SEXP flags word.
Deserialized RObjectData.
Reads a vector length from the stream.
The vector length.
Recomputes and restores the cached hash-table priority count for an environment.
The RObjectData whose hash table is to be repaired.
Resolves package environments.
String-vec RObject identifying the package.
Not implemented yet!
Creates a length-1 character vector wrapping the given string.
The string value to wrap.
A SexpType.StrSxp RObjectData with one element.
Sets the i-th element of a character vector.
The character vector with type SexpType.StrSxp to modify.
index to set.
Error if x is not a SexpType.StrSxp or i is out of bounds.
Sets the i-th element of a generic list or vector.
Mirrors R's SET_VECTOR_ELT macro.
The list or vector to modify.
index to set.
The RObject to store at position i.
Sets the enclosing environment of an environment object.
Environment whose enclosure should be set.
Parent environment.
Advances the buffer past a bytecode object without reading it.
Mirrors readBC.
Advances past a single bytecode.
Mirrors readBC1.
Advances past all bytecode constants.
Mirrors ReadBCConsts.
Advances the buffer past a single language object.
Mirrors ReadBCLang.
Advances the buffer past a single serialized complex number (two doubles).
Mirrors inComplex.
Advances the buffer past len serialized complex numbers.
Mirrors inComplexVec.
Number of complex values to skip.
Advances the buffer offset past a serialized integer value.
Mirrors inInteger.
Advances the buffer past len serialized integers without reading values.
Mirrors inIntegerVec.
Number of integers to skip.
An empty array.
Skips a serialized SEXP node, only filling in its type and calling other skip methods to advance the buffer position.
Mirrors the structure of readItemRecursive but skips payload data.
A minimal RObjectData with little to no payload.
Advances the buffer offset past len raw bytes without reading values.
Mirrors inRaw.
Number of raw bytes to skip.
Advances the buffer past the next serialized double without reading it.
Mirrors inReal.
Skips a serialized string depending on the current serialization format.
Mirrors inString
Length of the serialized string.
Advances the buffer past a persistent string vector without reading values.
Mirrors inStringVec.
Decodes the SEXP flags.
Raw 32-bit flags word.
[type, levels, isObject, hasAttribute, hasTag].
Retrieves the i-th element of a generic list or vector.
The list / expression / weak-ref vector.
The index to retrieve.
The RObject at position i.
Parser for RDA files.
See