diff --git a/java/pom.xml b/java/pom.xml index e905c65ab..94814c501 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -64,7 +64,6 @@ 8 MyGame/Example/MonsterStorageGrpc.java - MyGame/Example/StructOfStructs** MyGame/OtherNameSpace/TableBT.java diff --git a/src/idl_gen_java.cpp b/src/idl_gen_java.cpp index f5a04d3af..a6dab5956 100644 --- a/src/idl_gen_java.cpp +++ b/src/idl_gen_java.cpp @@ -1893,6 +1893,7 @@ class JavaGenerator : public BaseGenerator { } } else { code += " " + name + " = "; + code += SourceCast(field_type); code += "_o"; for (size_t i = 0; i < array_lengths.size(); ++i) { code += "." + namer_.Method("get", array_lengths[i].name) + "()"; diff --git a/tests/MyGame/Example/StructOfStructs.java b/tests/MyGame/Example/StructOfStructs.java index 424a8a282..32c6e1f46 100644 --- a/tests/MyGame/Example/StructOfStructs.java +++ b/tests/MyGame/Example/StructOfStructs.java @@ -52,12 +52,12 @@ public final class StructOfStructs extends Struct { } public static int pack(FlatBufferBuilder builder, StructOfStructsT _o) { if (_o == null) return 0; - int _a_id = _o.getA().getId(); - int _a_distance = _o.getA().getDistance(); + int _a_id = (int) _o.getA().getId(); + int _a_distance = (int) _o.getA().getDistance(); short _b_a = _o.getB().getA(); byte _b_b = _o.getB().getB(); - int _c_id = _o.getC().getId(); - int _c_distance = _o.getC().getDistance(); + int _c_id = (int) _o.getC().getId(); + int _c_distance = (int) _o.getC().getDistance(); return createStructOfStructs( builder, _a_id, diff --git a/tests/MyGame/Example/StructOfStructsOfStructs.java b/tests/MyGame/Example/StructOfStructsOfStructs.java index 5d5f00f02..ae1f50de9 100644 --- a/tests/MyGame/Example/StructOfStructsOfStructs.java +++ b/tests/MyGame/Example/StructOfStructsOfStructs.java @@ -47,12 +47,12 @@ public final class StructOfStructsOfStructs extends Struct { } public static int pack(FlatBufferBuilder builder, StructOfStructsOfStructsT _o) { if (_o == null) return 0; - int _a_a_id = _o.getA().getA().getId(); - int _a_a_distance = _o.getA().getA().getDistance(); + int _a_a_id = (int) _o.getA().getA().getId(); + int _a_a_distance = (int) _o.getA().getA().getDistance(); short _a_b_a = _o.getA().getB().getA(); byte _a_b_b = _o.getA().getB().getB(); - int _a_c_id = _o.getA().getC().getId(); - int _a_c_distance = _o.getA().getC().getDistance(); + int _a_c_id = (int) _o.getA().getC().getId(); + int _a_c_distance = (int) _o.getA().getC().getDistance(); return createStructOfStructsOfStructs( builder, _a_a_id,