From cc112ce96fef00342c87c32e6b49b6ce8b0c4774 Mon Sep 17 00:00:00 2001 From: Wouter van Oortmerssen Date: Thu, 10 Jul 2014 17:46:45 -0700 Subject: [PATCH] Made Java argument names help remind the user when something is an offset. Bug: 15856217 Change-Id: I9163d13ca26c2d53064f5289c993692be711685f Tested: on Windows --- src/idl_gen_java.cpp | 6 ++++-- tests/MyGame/Example/Monster.java | 16 ++++++++-------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/idl_gen_java.cpp b/src/idl_gen_java.cpp index 89eb051..35628cb 100755 --- a/src/idl_gen_java.cpp +++ b/src/idl_gen_java.cpp @@ -326,10 +326,12 @@ static void GenStruct(StructDef &struct_def, if (field.deprecated) continue; code += " public static void add" + MakeCamel(field.name); code += "(FlatBufferBuilder builder, " + GenTypeBasic(field.value.type); - code += " " + MakeCamel(field.name, false) + ") { builder.add"; + auto argname = MakeCamel(field.name, false); + if (!IsScalar(field.value.type.base_type)) argname += "Offset"; + code += " " + argname + ") { builder.add"; code += GenMethod(field) + "("; code += NumToString(it - struct_def.fields.vec.begin()) + ", "; - code += MakeCamel(field.name, false) + ", " + field.value.constant; + code += argname + ", " + field.value.constant; code += "); }\n"; if (field.value.type.base_type == BASE_TYPE_VECTOR) { code += " public static void start" + MakeCamel(field.name); diff --git a/tests/MyGame/Example/Monster.java b/tests/MyGame/Example/Monster.java index 24a3afe..439dd7a 100755 --- a/tests/MyGame/Example/Monster.java +++ b/tests/MyGame/Example/Monster.java @@ -33,22 +33,22 @@ public class Monster extends Table { public Monster enemy(Monster obj) { int o = __offset(28); return o != 0 ? obj.__init(__indirect(o + bb_pos), bb) : null; } public static void startMonster(FlatBufferBuilder builder) { builder.startObject(13); } - public static void addPos(FlatBufferBuilder builder, int pos) { builder.addStruct(0, pos, 0); } + public static void addPos(FlatBufferBuilder builder, int posOffset) { builder.addStruct(0, posOffset, 0); } public static void addMana(FlatBufferBuilder builder, short mana) { builder.addShort(1, mana, 150); } public static void addHp(FlatBufferBuilder builder, short hp) { builder.addShort(2, hp, 100); } - public static void addName(FlatBufferBuilder builder, int name) { builder.addOffset(3, name, 0); } - public static void addInventory(FlatBufferBuilder builder, int inventory) { builder.addOffset(5, inventory, 0); } + public static void addName(FlatBufferBuilder builder, int nameOffset) { builder.addOffset(3, nameOffset, 0); } + public static void addInventory(FlatBufferBuilder builder, int inventoryOffset) { builder.addOffset(5, inventoryOffset, 0); } public static void startInventoryVector(FlatBufferBuilder builder, int numElems) { builder.startVector(1, numElems); } public static void addColor(FlatBufferBuilder builder, byte color) { builder.addByte(6, color, 2); } public static void addTestType(FlatBufferBuilder builder, byte testType) { builder.addByte(7, testType, 0); } - public static void addTest(FlatBufferBuilder builder, int test) { builder.addOffset(8, test, 0); } - public static void addTest4(FlatBufferBuilder builder, int test4) { builder.addOffset(9, test4, 0); } + public static void addTest(FlatBufferBuilder builder, int testOffset) { builder.addOffset(8, testOffset, 0); } + public static void addTest4(FlatBufferBuilder builder, int test4Offset) { builder.addOffset(9, test4Offset, 0); } public static void startTest4Vector(FlatBufferBuilder builder, int numElems) { builder.startVector(4, numElems); } - public static void addTestarrayofstring(FlatBufferBuilder builder, int testarrayofstring) { builder.addOffset(10, testarrayofstring, 0); } + public static void addTestarrayofstring(FlatBufferBuilder builder, int testarrayofstringOffset) { builder.addOffset(10, testarrayofstringOffset, 0); } public static void startTestarrayofstringVector(FlatBufferBuilder builder, int numElems) { builder.startVector(4, numElems); } - public static void addTestarrayoftables(FlatBufferBuilder builder, int testarrayoftables) { builder.addOffset(11, testarrayoftables, 0); } + public static void addTestarrayoftables(FlatBufferBuilder builder, int testarrayoftablesOffset) { builder.addOffset(11, testarrayoftablesOffset, 0); } public static void startTestarrayoftablesVector(FlatBufferBuilder builder, int numElems) { builder.startVector(4, numElems); } - public static void addEnemy(FlatBufferBuilder builder, int enemy) { builder.addOffset(12, enemy, 0); } + public static void addEnemy(FlatBufferBuilder builder, int enemyOffset) { builder.addOffset(12, enemyOffset, 0); } public static int endMonster(FlatBufferBuilder builder) { return builder.endObject(); } }; -- 2.7.4