Lines Matching refs:code
17 // independent from idl_parser, since this code is not needed for most clients
205 // Save out the generated code for a single class while adding
211 std::string code;
213 code = "// <auto-generated>\n"
217 code = "// " + std::string(FlatBuffersGeneratedWarning()) + "\n\n";
222 code += lang_.namespace_ident + namespace_name + lang_.namespace_begin;
223 code += "\n\n";
226 code += lang_.includes;
228 code += "\nimport javax.annotation.Nullable;\n";
230 code += lang_.class_annotation;
232 code += classcode;
233 if (!namespace_name.empty()) code += lang_.namespace_end;
235 return SaveFile(filename.c_str(), code, false);
522 std::string &code = *code_ptr;
531 code += std::string("public ") + lang_.enum_decl + enum_def.name;
533 code += lang_.inheritance_marker +
536 code += lang_.open_curly;
538 code += " private " + enum_def.name + "() { }\n";
546 code += " public static";
547 code += lang_.const_decl;
548 code += GenTypeBasic(enum_def.underlying_type, false);
550 code += " " + ev.name + " = ";
551 code += NumToString(ev.value);
552 code += lang_.enum_separator;
567 code += "\n public static";
568 code += lang_.const_decl;
569 code += lang_.string_type;
570 code += "[] names = { ";
575 while (val++ != (*it)->value) code += "\"\", ";
576 code += "\"" + (*it)->name + "\", ";
578 code += "};\n\n";
579 code += " public static ";
580 code += lang_.string_type;
581 code += " " + MakeCamel("name", lang_.first_camel_upper);
582 code += "(int e) { return names[e";
584 code += " - " + enum_def.vals.vec.front()->name;
585 code += "]; }\n";
590 code += "}";
592 code += (lang_.language != IDLOptions::kJava) ? ";" : "";
593 code += "\n\n";
659 std::string &code = *code_ptr;
671 code += ", ";
672 code += GenTypeBasic(DestinationType(field.value.type, false));
673 code += " ";
674 code += nameprefix;
675 code += MakeCamel(field.name, lang_.first_camel_upper);
685 std::string &code = *code_ptr;
686 code += " builder." + FunctionStart('P') + "rep(";
687 code += NumToString(struct_def.minalign) + ", ";
688 code += NumToString(struct_def.bytesize) + ");\n";
693 code += " builder." + FunctionStart('P') + "ad(";
694 code += NumToString(field.padding) + ");\n";
700 code += " builder." + FunctionStart('P') + "ut";
701 code += GenMethod(field.value.type) + "(";
702 code += SourceCast(field.value.type);
704 code += argname;
705 code += ");\n";
792 std::string &code = *code_ptr;
801 code += "public ";
805 code += "partial ";
807 code += lang_.unsubclassable_decl;
809 code += lang_.accessor_type + struct_def.name;
811 code += " : IFlatbufferObject";
812 code += lang_.open_curly;
813 code += " private ";
814 code += struct_def.fixed ? "Struct" : "Table";
815 code += " __p;\n";
818 code += " public ByteBuffer ByteBuffer { get { return __p.bb; } }\n";
822 code += lang_.inheritance_marker;
823 code += struct_def.fixed ? "Struct" : "Table";
824 code += lang_.open_curly;
834 code += method_signature + "(ByteBuffer _bb) ";
835 code += "{ return " + method_name + "(_bb, new " + struct_def.name+ "()); }\n";
838 code += method_signature + "(ByteBuffer _bb, " + struct_def.name + " obj) { ";
839 code += lang_.set_bb_byteorder;
840 code += "return (obj.__assign(_bb." + FunctionStart('G') + "etInt(_bb.";
841 code += lang_.get_bb_position;
842 code += ") + _bb.";
843 code += lang_.get_bb_position;
844 code += ", _bb)); }\n";
848 code += " public static ";
849 code += lang_.bool_type + struct_def.name;
850 code += "BufferHasIdentifier(ByteBuffer _bb) { return ";
851 code += lang_.accessor_prefix_static + "__has_identifier(_bb, \"";
852 code += parser_.file_identifier_;
853 code += "\"); }\n";
859 code += " public void __init(int _i, ByteBuffer _bb) ";
860 code += "{ " + lang_.accessor_prefix + "bb_pos = _i; ";
861 code += lang_.accessor_prefix + "bb = _bb; }\n";
862 code += " public " + struct_def.name + " __assign(int _i, ByteBuffer _bb) ";
863 code += "{ __init(_i, _bb); return this; }\n\n";
894 // this is the prefix code for that:
902 code += method_start + "() { return ";
903 code += MakeCamel(field.name, lang_.first_camel_upper);
904 code += "(new ";
905 code += type_name + "()); }\n";
912 code += method_start + "(int j) { return ";
913 code += MakeCamel(field.name, lang_.first_camel_upper);
914 code += "(new " + type_name + "(), j); }\n";
925 code += method_start;
944 code += lang_.getter_prefix;
947 code += " { return " + getter;
948 code
949 code += NumToString(field.value.offset) + ")";
950 code += dest_mask;
952 code += offset_prefix + getter;
953 code += "(o + " + lang_.accessor_prefix + "bb_pos)" + dest_mask;
954 code += " : " + default_cast;
955 code += GenDefaultValue(field.value);
961 code += "(" + type_name + " obj" + ")";
963 code += lang_.getter_prefix;
967 code += " { return " + obj + ".__assign(" + lang_.accessor_prefix;
968 code += "bb_pos + " + NumToString(field.value.offset) + ", ";
969 code += lang_.accessor_prefix + "bb)";
971 code += offset_prefix + conditional_cast;
972 code += obj + ".__assign(";
973 code += field.value.type.struct_def->fixed
977 code += ", " + lang_.accessor_prefix + "bb) : null";
981 code += lang_.getter_prefix;
983 code += offset_prefix + getter + "(o + " + lang_.accessor_prefix;
984 code += "bb_pos) : null";
988 code += "(";
991 code += type_name + " obj, ";
994 code += "int j)" + offset_prefix + conditional_cast + getter +"(";
998 code += vectortype.struct_def->fixed
1001 code += ", " + lang_.accessor_prefix + "bb";
1003 code += index;
1005 code += ")" + dest_mask + " : ";
1007 code += field.value.type.element == BASE_TYPE_BOOL ? "false" :
1013 code += "() where TTable : struct, IFlatbufferObject";
1014 code += offset_prefix + "(TTable?)" + getter;
1015 code += "<TTable>(o) : null";
1017 code += "(" + type_name + " obj)" + offset_prefix + getter;
1018 code += "(obj, o) : null";
1025 code += member_suffix;
1026 code += "}\n";
1028 code += " public int " + MakeCamel(field.name, lang_.first_camel_upper);
1029 code += "Length";
1030 code += lang_.getter_prefix;
1031 code += offset_prefix;
1032 code += lang_.accessor_prefix + "__vector_len(o) : 0; ";
1033 code += lang_.getter_suffix;
1034 code += "}\n";
1043 code += " public " + sd.name + lang_.optional_suffix + " ";
1044 code += MakeCamel(field.name, lang_.first_camel_upper) + "ByKey(";
1045 code += GenTypeNameDest(key_field.value.type) + " key)";
1046 code += offset_prefix;
1047 code += sd.name + ".__lookup_by_key(";
1048 code += lang_.accessor_prefix + "__vector(o), key, ";
1049 code += lang_.accessor_prefix + "bb) : null; ";
1050 code += "}\n";
1062 code += " public ByteBuffer ";
1063 code += MakeCamel(field.name, lang_.first_camel_upper);
1064 code += "AsByteBuffer() { return ";
1065 code += lang_.accessor_prefix + "__vector_as_bytebuffer(";
1066 code += NumToString(field.value.offset) + ", ";
1067 code += NumToString(field.value.type.base_type == BASE_TYPE_STRING
1070 code += "); }\n";
1073 code += " public ArraySegment<byte>? Get";
1074 code += MakeCamel(field.name, lang_.first_camel_upper);
1075 code += "Bytes() { return ";
1076 code += lang_.accessor_prefix + "__vector_as_arraysegment(";
1077 code += NumToString(field.value.offset);
1078 code += "); }\n";
1095 code += " public " + nested_type_name + lang_.optional_suffix + " ";
1096 code += nested_method_name + "() { return ";
1097 code += get_nested_method_name + "(new " + nested_type_name + "()); }\n";
1101 code += " public " + nested_type_name + lang_.optional_suffix + " ";
1102 code += get_nested_method_name + "(";
1104 code += nested_type_name + " obj";
1105 code += ") { int o = " + lang_.accessor_prefix + "__offset(";
1106 code += NumToString(field.value.offset) +"); ";
1107 code += "return o != 0 ? " + conditional_cast + obj + ".__assign(";
1108 code += lang_.accessor_prefix;
1109 code += "__indirect(" + lang_.accessor_prefix + "__vector(o)), ";
1110 code += lang_.accessor_prefix + "bb) : null; }\n";
1138 code += " public ";
1139 code += struct_def.fixed ? "void " : lang_.bool_type;
1140 code += mutator_prefix + MakeCamel(field.name, true);
1141 code += mutator_params;
1143 code += GenSetter(underlying_type) + "(" + setter_index + ", ";
1144 code += src_cast + setter_parameter + "); }\n";
1146 code += "int o = " + lang_.accessor_prefix + "__offset(";
1147 code += NumToString(field.value.offset) + ");";
1148 code += " if (o != 0) { " + GenSetter(underlying_type);
1149 code += "(" + setter_index + ", " + src_cast + setter_parameter +
1155 code += "\n";
1159 code += " public static " + GenOffsetType(struct_def) + " ";
1160 code += FunctionStart('C') + "reate";
1161 code += struct_def.name + "(FlatBufferBuilder builder";
1163 code += ") {\n";
1165 code += " return ";
1166 code += GenOffsetConstruct(struct_def,
1168 code += ";\n }\n";
1190 code += " public static " + GenOffsetType(struct_def) + " ";
1191 code += FunctionStart('C') + "reate" + struct_def.name;
1192 code += "(FlatBufferBuilder builder";
1197 code += ",\n ";
1198 code += GenTypeBasic(DestinationType(field.value.type, false));
1199 code += " ";
1200 code += field.name;
1201 if (!IsScalar(field.value.type.base_type)) code += "Offset";
1206 code += " = ";
1207 code += GenDefaultValueBasic(field.value);
1210 code += ") {\n builder.";
1211 code += FunctionStart('S') + "tartObject(";
1212 code += NumToString(struct_def.fields.vec.size()) + ");\n";
1222 code += " " + struct_def.name + ".";
1223 code += FunctionStart('A') + "dd";
1224 code += MakeCamel(field.name) + "(builder, " + field.name;
1225 if (!IsScalar(field.value.type.base_type)) code += "Offset";
1226 code += ");\n";
1230 code += " return " + struct_def.name + ".";
1231 code += FunctionStart('E') + "nd" + struct_def.name;
1232 code += "(builder);\n }\n\n";
1239 code += " public static void " + FunctionStart('S') + "tart";
1240 code += struct_def.name;
1241 code += "(FlatBufferBuilder builder) { builder.";
1242 code += FunctionStart('S') + "tartObject(";
1243 code += NumToString(struct_def.fields.vec.size()) + "); }\n";
1249 code += " public static void " + FunctionStart('A') + "dd";
1250 code += MakeCamel(field.name);
1251 code += "(FlatBufferBuilder builder, ";
1252 code += GenTypeBasic(DestinationType(field.value.type, false));
1255 code += " " + argname + ") { builder." + FunctionStart('A') + "dd";
1256 code += GenMethod(field.value.type) + "(";
1257 code += NumToString(it - struct_def.fields.vec.begin()) + ", ";
1258 code += SourceCastBasic(field.value.type);
1259 code += argname;
1263 code += ".Value";
1265 code += ", ";
1267 code += SourceCastBasic( field.value.type );
1268 code += GenDefaultValue(field.value, false);
1269 code += "); }\n";
1276 code += " public static " + GenVectorOffsetType() + " ";
1277 code += FunctionStart('C') + "reate";
1278 code += MakeCamel(field.name);
1279 code += "Vector(FlatBufferBuilder builder, ";
1280 code += GenTypeBasic(vector_type) + "[] data) ";
1281 code += "{ builder." + FunctionStart('S') + "tartVector(";
1282 code += NumToString(elem_size);
1283 code += ", data." + FunctionStart('L') + "ength, ";
1284 code += NumToString(alignment);
1285 code += "); for (int i = data.";
1286 code += FunctionStart('L') + "ength - 1; i >= 0; i--) builder.";
1287 code += FunctionStart('A') + "dd";
1288 code += GenMethod(vector_type);
1289 code += "(";
1290 code += SourceCastBasic(vector_type, false);
1291 code += "data[i]";
1295 code += ".Value";
1296 code += "); return ";
1297 code += "builder." + FunctionStart('E') + "ndVector(); }\n";
1300 code += " public static void " + FunctionStart('S') + "tart";
1301 code += MakeCamel(field.name);
1302 code += "Vector(FlatBufferBuilder builder, int numElems) ";
1303 code += "{ builder." + FunctionStart('S') + "tartVector(";
1304 code += NumToString(elem_size);
1305 code += ", numElems, " + NumToString(alignment);
1306 code += "); }\n";
1309 code += " public static " + GenOffsetType(struct_def) + " ";
1310 code += FunctionStart('E') + "nd" + struct_def.name;
1311 code
1312 code += FunctionStart('E') + "ndObject();\n";
1318 code += " builder." + FunctionStart('R') + "equired(o, ";
1319 code += NumToString(field.value.offset);
1320 code += "); // " + field.name + "\n";
1323 code += " return " + GenOffsetConstruct(struct_def, "o") + ";\n }\n";
1325 code += " public static void ";
1326 code += FunctionStart('F') + "inish" + struct_def.name;
1327 code += "Buffer(FlatBufferBuilder builder, " + GenOffsetType(struct_def);
1328 code += " offset) {";
1329 code += " builder." + FunctionStart('F') + "inish(offset";
1331 code += ".Value";
1335 code += ", \"" + parser_.file_identifier_ + "\"";
1336 code += "); }\n";
1343 code += "\n @Override\n protected int keysCompare(";
1344 code += "Integer o1, Integer o2, ByteBuffer _bb) {";
1345 code += GenKeyGetter(key_field);
1346 code += " }\n";
1349 code += "\n public static VectorOffset ";
1350 code += "CreateSortedVectorOf" + struct_def.name;
1351 code += "(FlatBufferBuilder builder, ";
1352 code += "Offset<" + struct_def.name + ">";
1353 code += "[] offsets) {\n";
1354 code += " Array.Sort(offsets, (Offset<" + struct_def.name +
1356 code += ");\n";
1357 code += " return builder.CreateVectorOfTables(offsets);\n }\n";
1360 code += "\n public static " + struct_def.name + lang_.optional_suffix;
1361 code += " __lookup_by_key(int vectorLocation, ";
1362 code += GenTypeNameDest(key_field->value.type);
1363 code += " key, ByteBuffer bb) {\n";
1365 code += " byte[] byteKey = ";
1367 code += "key.getBytes(Table.UTF8_CHARSET.get());\n";
1369 code += "System.Text.Encoding.UTF8.GetBytes(key);\n";
1371 code += " int span = ";
1372 code += "bb." + FunctionStart('G') + "etInt(vectorLocation - 4);\n";
1373 code += " int start = 0;\n";
1374 code += " while (span != 0) {\n";
1375 code += " int middle = span / 2;\n";
1376 code += GenLookupKeyGetter(key_field);
1377 code += " if (comp > 0) {\n";
1378 code += " span = middle;\n";
1379 code += " } else if (comp < 0) {\n";
1380 code += " middle++;\n";
1381 code += " start += middle;\n";
1382 code += " span -= middle;\n";
1383 code += " } else {\n";
1384 code += " return new " + struct_def.name;
1385 code += "().__assign(tableOffset, bb);\n";
1386 code += " }\n }\n";
1387 code += " return null;\n";
1388 code += " }\n";
1390 code += "}";
1392 code += (lang_.language != IDLOptions::kJava) ? ";" : "";
1393 code += "\n\n";