Skip to content

Commit 314352a

Browse files
feat: add operator>> for ObjectInputStream, update tests
1 parent edca872 commit 314352a

File tree

5 files changed

+37
-2
lines changed

5 files changed

+37
-2
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
cmake_minimum_required(VERSION VERSION 3.30)
2-
project(JavaObjectStreams VERSION 1.3.0)
2+
project(JavaObjectStreams VERSION 1.3.1)
33

44
set(CMAKE_CXX_STANDARD 20)
55

src/stream/ObjectInputStream.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,10 @@ namespace javaobject::stream {
2929

3030
return this->m_parsers.objectParser->readNext();
3131
}
32+
33+
ObjectInputStream &ObjectInputStream::operator>>(std::shared_ptr<type::object::IObject> &object) {
34+
object = this->readObject();
35+
36+
return *this;
37+
}
3238
} // namespace javaobject::stream
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package me.dexrn.jos.common.test;
2+
3+
import java.io.Serializable;
4+
5+
public class JOSArrayClass implements Serializable {
6+
public class Subclass implements Serializable {
7+
int i = 0;
8+
}
9+
10+
byte[] bytes = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
11+
int[] ints = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
12+
long[] longs = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
13+
float[] floats = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
14+
double[] doubles = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
15+
Subclass[] sc = { new Subclass(), new Subclass(), new Subclass() };
16+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package me.dexrn.jos.common.test;
2+
3+
import java.io.Serializable;
4+
5+
public class JOSNestedArrayClass implements Serializable {
6+
byte[][][] bytes = new byte[9][9][9];
7+
int[][][] ints = new int[9][9][9];
8+
long[][][] longs = new long[9][9][9];
9+
float[][][] floats = new float[9][9][9];
10+
double[][][] doubles = new double[9][9][9];
11+
}

tests/java/modules/Common/src/main/java/me/dexrn/jos/common/test/JOSTestClass.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@ public class Subclass implements Serializable {
2828

2929
Subclass sc = new Subclass();
3030
JOSDataClass dc = new JOSDataClass();
31-
31+
JOSArrayClass ac = new JOSArrayClass();
32+
JOSNestedArrayClass nac = new JOSNestedArrayClass();
33+
3234
boolean b = false;
3335
char c = 'a';
3436
byte bt = 1;

0 commit comments

Comments
 (0)