SerializableWriteObjectCodec.kt

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Let instant execution support `Serializable` beans with only a `writeObject` method

  1. … 1 more file in changeset.
Add support for Short, Float and Double to Java serialization

    • -12
    • +24
    ./SerializableWriteObjectCodec.kt
  1. … 2 more files in changeset.
Change instant execution serialization to handle abstract model types.

Reuse the approach used to serialize the state of abstract task types.

  1. … 9 more files in changeset.
Change instant execution serialization to handle abstract model types.

Reuse the approach used to serialize the state of abstract task types.

  1. … 7 more files in changeset.
Change instant execution serialization to handle abstract model types.

Reuse the approach used to serialize the state of abstract task types.

  1. … 9 more files in changeset.
Change instant execution serialization to handle abstract model types.

Reuse the approach used to serialize the state of abstract task types.

  1. … 7 more files in changeset.
Remove use of Java 11 API from instant execution

Signed-off-by: Rodrigo B. de Oliveira <rodrigo@gradle.com>

Let instant execution report include trace of `Serializable` beans

    • -10
    • +15
    ./SerializableWriteObjectCodec.kt
  1. … 1 more file in changeset.
Introduce `BeanStateReader.newBeanWithId(id: Int)`

And dedupe identity registration code.

  1. … 2 more files in changeset.
Move identity preserving combinators to `Codec.kt`

  1. … 3 more files in changeset.
Preserve identity of `Serializable` objects

    • -31
    • +34
    ./SerializableWriteObjectCodec.kt
  1. … 3 more files in changeset.
Preserve identity of `Serializable` objects

    • -31
    • +34
    ./SerializableWriteObjectCodec.kt
  1. … 3 more files in changeset.
Polish `SerializableWriteObjectCodec`

- Make cheaper `parameterCount` comparison first

Polish `SerializableWriteObjectCodec`

- Make cheaper `parameterCount` comparison first

Extract `SerializableWriteReplaceCodec` from `BeanCodec`

  1. … 5 more files in changeset.
Extract `SerializableWriteReplaceCodec` from `BeanCodec`

  1. … 5 more files in changeset.
Turn `EncodingProducer` type alias into an interface

  1. … 1 more file in changeset.
Turn `EncodingProducer` type alias into an interface

  1. … 1 more file in changeset.
Improve instant execution support for Java serialization

Properly handle deserialization of graphs containing a mix of

`java.io.Serializable` beans and plain beans by introducing

`ReadContext.immediateMode`. In immediate mode, reentrant `read` calls

are not suspended for compatibility with the non-suspending semantics

of `ObjectInputStream.readObject`.

The downside of non-suspending semantics is the risk of

`StackOverflowErrors` caused by deep graphs.

    • -56
    • +235
    ./SerializableWriteObjectCodec.kt
  1. … 5 more files in changeset.
Introduce `SerializableWriteObjectCodec`

An instant execution serialization codec for objects that support Java

serialization via a custom `writeObject(ObjectOutputStream)` method.

    • -0
    • +137
    ./SerializableWriteObjectCodec.kt
  1. … 3 more files in changeset.