Fix to #360 - Updated the general generator (Java/C#) to emit fully qualified names where the referenced object isn't directly in this namespace. Added test fbs files to verify compilation.

This commit is contained in:
Oli Wilkinson
2015-11-29 15:31:55 -05:00
parent fe2f8d32aa
commit c9ad6d5496
25 changed files with 922 additions and 93 deletions

View File

@@ -17,6 +17,8 @@
import java.io.*;
import java.nio.ByteBuffer;
import MyGame.Example.*;
import NamespaceA.*;
import NamespaceA.NamespaceB.*;
import com.google.flatbuffers.FlatBufferBuilder;
class JavaTest {
@@ -155,6 +157,8 @@ class JavaTest {
TestExtendedBuffer(fbb.dataBuffer().asReadOnlyBuffer());
TestNamespaceNesting();
System.out.println("FlatBuffers test: completed successfully");
}
@@ -225,6 +229,19 @@ class JavaTest {
TestEq(monster.testhashu32Fnv1(), Integer.MAX_VALUE + 1L);
}
static void TestNamespaceNesting() {
// reference / manipulate these to verify compilation
FlatBufferBuilder fbb = new FlatBufferBuilder(1);
TableInNestedNS.startTableInNestedNS(fbb);
TableInNestedNS.addFoo(fbb, 1234);
int nestedTableOff = TableInNestedNS.endTableInNestedNS(fbb);
TableInFirstNS.startTableInFirstNS(fbb);
TableInFirstNS.addFooTable(fbb, nestedTableOff);
int off = TableInFirstNS.endTableInFirstNS(fbb);
}
static <T> void TestEq(T a, T b) {
if (!a.equals(b)) {