mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-14 16:36:55 +00:00
Implemented the file identifier functionality for Java.
Also fixed flatc not outputting these identifiers for files compiled on the command-line. Bug: 16983987 Change-Id: I8b714cfea3a8e144fa52133f62b2f7eda6eb044a Tested: on Linux
This commit is contained in:
@@ -85,7 +85,7 @@ class JavaTest {
|
||||
Monster.addTestarrayofstring(fbb, testArrayOfString);
|
||||
int mon = Monster.endMonster(fbb);
|
||||
|
||||
fbb.finish(mon);
|
||||
Monster.finishMonsterBuffer(fbb, mon);
|
||||
|
||||
// Write the result to a file for debugging purposes:
|
||||
// Note that the binaries are not necessarily identical, since the JSON
|
||||
@@ -113,6 +113,8 @@ class JavaTest {
|
||||
}
|
||||
|
||||
static void TestBuffer(ByteBuffer bb, int start) {
|
||||
TestEq(Monster.MonsterBufferHasIdentifier(bb, start), true);
|
||||
|
||||
Monster monster = Monster.getRootAsMonster(bb, start);
|
||||
|
||||
TestEq(monster.hp(), (short)80);
|
||||
|
||||
@@ -9,7 +9,9 @@ import flatbuffers.*;
|
||||
|
||||
public class Monster extends Table {
|
||||
public static Monster getRootAsMonster(ByteBuffer _bb, int offset) { _bb.order(ByteOrder.LITTLE_ENDIAN); return (new Monster()).__init(_bb.getInt(offset) + offset, _bb); }
|
||||
public static boolean MonsterBufferHasIdentifier(ByteBuffer _bb, int offset) { return __has_identifier(_bb, offset, "MONS"); }
|
||||
public Monster __init(int _i, ByteBuffer _bb) { bb_pos = _i; bb = _bb; return this; }
|
||||
|
||||
public Vec3 pos() { return pos(new Vec3()); }
|
||||
public Vec3 pos(Vec3 obj) { int o = __offset(4); return o != 0 ? obj.__init(o + bb_pos, bb) : null; }
|
||||
public short mana() { int o = __offset(6); return o != 0 ? bb.getShort(o + bb_pos) : 150; }
|
||||
@@ -57,5 +59,6 @@ public class Monster extends Table {
|
||||
public static void startTestnestedflatbufferVector(FlatBufferBuilder builder, int numElems) { builder.startVector(1, numElems, 1); }
|
||||
public static void addTestempty(FlatBufferBuilder builder, int testemptyOffset) { builder.addOffset(14, testemptyOffset, 0); }
|
||||
public static int endMonster(FlatBufferBuilder builder) { return builder.endObject(); }
|
||||
public static void finishMonsterBuffer(FlatBufferBuilder builder, int offset) { builder.finish(offset, "MONS"); }
|
||||
};
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ import flatbuffers.*;
|
||||
|
||||
public class Test extends Struct {
|
||||
public Test __init(int _i, ByteBuffer _bb) { bb_pos = _i; bb = _bb; return this; }
|
||||
|
||||
public short a() { return bb.getShort(bb_pos + 0); }
|
||||
public byte b() { return bb.get(bb_pos + 2); }
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ import flatbuffers.*;
|
||||
|
||||
public class Vec3 extends Struct {
|
||||
public Vec3 __init(int _i, ByteBuffer _bb) { bb_pos = _i; bb = _bb; return this; }
|
||||
|
||||
public float x() { return bb.getFloat(bb_pos + 0); }
|
||||
public float y() { return bb.getFloat(bb_pos + 4); }
|
||||
public float z() { return bb.getFloat(bb_pos + 8); }
|
||||
|
||||
Binary file not shown.
@@ -32,5 +32,9 @@
|
||||
a: 30,
|
||||
b: 40
|
||||
}
|
||||
],
|
||||
testarrayofstring: [
|
||||
"test1",
|
||||
"test2"
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user