Home | History | Annotate | Download | only in src

Lines Matching refs:code

17 // independent from idl_parser, since this code is not needed for most clients
72 // this is the prefix code for that.
81 std::string &code = *code_ptr;
83 code += "type " + struct_def.name + " struct {\n\t";
86 code += "_tab ";
87 code += struct_def.fixed ? "flatbuffers.Struct" : "flatbuffers.Table";
88 code += "\n}\n\n";
91 // Begin enum code with a class declaration.
93 std::string &code = *code_ptr;
94 code += "const (\n";
100 std::string &code = *code_ptr;
101 code += "\t";
102 code += enum_def.name;
103 code += ev.name;
104 code += " = ";
105 code += NumToString(ev.value) + "\n";
108 // End enum code.
110 std::string &code = *code_ptr;
111 code += ")\n\n";
114 // Begin enum name code.
116 std::string &code = *code_ptr;
117 code += "var EnumNames";
118 code += enum_def.name;
119 code += " = map[int]string{\n";
125 std::string &code = *code_ptr;
126 code += "\t";
127 code += enum_def.name;
128 code += ev.name;
129 code += ":\"";
130 code += ev.name;
131 code += "\",\n";
134 // End enum name code.
136 std::string &code = *code_ptr;
137 code += "}\n\n";
143 std::string &code = *code_ptr;
145 code += "func GetRootAs";
146 code += struct_def.name;
147 code += "(buf []byte, offset flatbuffers.UOffsetT) ";
148 code += "*" + struct_def.name + "";
149 code += " {\n";
150 code += "\tn := flatbuffers.GetUOffsetT(buf[offset:])\n";
151 code += "\tx := &" + struct_def.name + "{}\n";
152 code += "\tx.Init(buf, n+offset)\n";
153 code += "\treturn x\n";
154 code += "}\n\n";
160 std::string &code = *code_ptr;
163 code += " Init(buf []byte, i flatbuffers.UOffsetT) ";
164 code += "{\n";
165 code += "\trcv._tab.Bytes = buf\n";
166 code += "\trcv._tab.Pos = i\n";
167 code += "}\n\n";
173 std::string &code = *code_ptr;
176 code += " Table() flatbuffers.Table ";
177 code += "{\n";
180 code += "\treturn rcv._tab.Table\n";
182 code += "\treturn rcv._tab\n";
184 code += "}\n\n";
191 std::string &code = *code_ptr;
194 code += " " + MakeCamel(field.name) + "Length(";
195 code += ") int " + OffsetPrefix(field);
196 code += "\t\treturn rcv._tab.VectorLen(o)\n\t}\n";
197 code += "\treturn 0\n}\n\n";
204 std::string &code = *code_ptr;
207 code += " " + MakeCamel(field.name) + "Bytes(";
208 code += ") []byte " + OffsetPrefix(field);
209 code += "\t\treturn rcv._tab.ByteVector(o + rcv._tab.Pos)\n\t}\n";
210 code += "\treturn nil\n}\n\n";
217 std::string &code = *code_ptr;
220 code += " " + MakeCamel(field.name);
221 code += "() " + TypeName(field) + " {\n";
222 code +="\treturn " + getter;
223 code += "(rcv._tab.Pos + flatbuffers.UOffsetT(";
224 code += NumToString(field.value.offset) + "))\n}\n";
231 std::string &code = *code_ptr;
234 code += " " + MakeCamel(field.name);
235 code += "() " + TypeName(field) + " ";
236 code += OffsetPrefix(field) + "\t\treturn " + getter;
237 code += "(o + rcv._tab.Pos)\n\t}\n";
238 code += "\treturn " + field.value.constant + "\n";
239 code += "}\n\n";
247 std::string &code = *code_ptr;
249 code += " " + MakeCamel(field.name);
250 code += "(obj *" + TypeName(field);
251 code += ") *" + TypeName(field);
252 code += " {\n";
253 code += "\tif obj == nil {\n";
254 code += "\t\tobj = new(" + TypeName(field) + ")\n";
255 code += "\t}\n";
256 code += "\tobj.Init(rcv._tab.Bytes, rcv._tab.Pos+";
257 code += NumToString(field.value.offset) + ")";
258 code += "\n\treturn obj\n";
259 code += "}\n";
267 std::string &code = *code_ptr;
269 code += " " + MakeCamel(field.name);
270 code += "(obj *";
271 code += TypeName(field);
272 code += ") *" + TypeName(field) + " " + OffsetPrefix(field);
274 code += "\t\tx := o + rcv._tab.Pos\n";
276 code += "\t\tx := rcv._tab.Indirect(o + rcv._tab.Pos)\n";
278 code += "\t\tif obj == nil {\n";
279 code += "\t\t\tobj = new(" + TypeName(field) + ")\n";
280 code += "\t\t}\n";
281 code += "\t\tobj.Init(rcv._tab.Bytes, x)\n";
282 code += "\t\treturn obj\n\t}\n\treturn nil\n";
283 code += "}\n\n";
290 std::string &code = *code_ptr;
292 code += " " + MakeCamel(field.name);
293 code += "() " + TypeName(field) + " ";
294 code += OffsetPrefix(field) + "\t\treturn " + GenGetter(field.value.type);
295 code += "(o + rcv._tab.Pos)\n\t}\n\treturn nil\n";
296 code += "}\n\n";
303 std::string &code = *code_ptr;
305 code += " " + MakeCamel(field.name) + "(";
306 code += "obj " + TypeName(field) + ") bool ";
307 code += OffsetPrefix(field);
308 code += "\t\t" + GenGetter(field.value.type);
309 code += "(obj, o)\n\t\treturn true\n\t}\n";
310 code += "\treturn false\n";
311 code += "}\n\n";
318 std::string &code = *code_ptr;
322 code += " " + MakeCamel(field.name);
323 code += "(obj *" + TypeName(field);
324 code += ", j int) bool " + OffsetPrefix(field);
325 code += "\t\tx := rcv._tab.Vector(o)\n";
326 code += "\t\tx += flatbuffers.UOffsetT(j) * ";
327 code += NumToString(InlineSize(vectortype)) + "\n";
329 code += "\t\tx = rcv._tab.Indirect(x)\n";
331 code += "\t\tobj.Init(rcv._tab.Bytes, x)\n";
332 code += "\t\treturn true\n\t}\n";
333 code += "\treturn false\n";
334 code += "}\n\n";
342 std::string &code = *code_ptr;
346 code += " " + MakeCamel(field.name);
347 code += "(j int) " + TypeName(field) + " ";
348 code += OffsetPrefix(field);
349 code += "\t\ta := rcv._tab.Vector(o)\n";
350 code += "\t\treturn " + GenGetter(field.value.type) + "(";
351 code += "a + flatbuffers.UOffsetT(j*";
352 code += NumToString(InlineSize(vectortype)) + "))\n";
353 code += "\t}\n";
355 code += "\treturn nil\n";
357 code += "\treturn 0\n";
359 code += "}\n\n";
365 std::string &code = *code_ptr;
367 if (code.substr(code.length() - 2) != "\n\n") {
369 code += "\n";
371 code += "func Create" + struct_def.name;
372 code += "(builder *flatbuffers.Builder";
392 std::string &code = *code_ptr;
393 code += (std::string)", " + nameprefix;
394 code += GoIdentity(field.name);
395 code += " " + GenTypeBasic(field.value.type);
402 std::string &code = *code_ptr;
403 code += ") flatbuffers.UOffsetT {\n";
411 std::string &code = *code_ptr;
412 code += "\tbuilder.Prep(" + NumToString(struct_def.minalign) + ", ";
413 code += NumToString(struct_def.bytesize) + ")\n";
419 code += "\tbuilder.Pad(" + NumToString(field.padding) + ")\n";
425 code += "\tbuilder.Prepend" + GenMethod(field) + "(";
426 code += nameprefix + GoIdentity(field.name) + ")\n";
432 std::string &code = *code_ptr;
433 code += "\treturn builder.Offset()\n";
434 code += "}\n";
440 std::string &code = *code_ptr;
441 code += "func " + struct_def.name + "Start";
442 code += "(builder *flatbuffers.Builder) {\n";
443 code += "\tbuilder.StartObject(";
444 code += NumToString(struct_def.fields.vec.size());
445 code += ")\n}\n";
453 std::string &code = *code_ptr;
454 code += "func " + struct_def.name + "Add" + MakeCamel(field.name);
455 code += "(builder *flatbuffers.Builder, ";
456 code += GoIdentity(field.name) + " ";
458 code += "flatbuffers.UOffsetT";
460 code += GenTypeBasic(field.value.type);
462 code += ") {\n";
463 code += "\tbuilder.Prepend";
464 code += GenMethod(field) + "Slot(";
465 code += NumToString(offset) + ", ";
467 code += "flatbuffers.UOffsetT";
468 code += "(";
469 code += GoIdentity(field.name) + ")";
471 code += GoIdentity(field.name);
473 code += ", " + field.value.constant;
474 code += ")\n}\n";
481 std::string &code = *code_ptr;
482 code += "func " + struct_def.name + "Start";
483 code += MakeCamel(field.name);
484 code += "Vector(builder *flatbuffers.Builder, numElems int) ";
485 code += "flatbuffers.UOffsetT {\n\treturn builder.StartVector(";
489 code += NumToString(elem_size);
490 code += ", numElems, " + NumToString(alignment);
491 code += ")\n}\n";
497 std::string &code = *code_ptr;
498 code += "func " + struct_def.name + "End";
499 code += "(builder *flatbuffers.Builder) flatbuffers.UOffsetT ";
500 code += "{\n\treturn builder.EndObject()\n}\n";
505 std::string &code = *code_ptr;
506 code += "func (rcv *" + struct_def.name + ")";
560 std::string &code = *code_ptr;
564 code += " Mutate" + MakeCamel(field.name);
565 code += "(n " + TypeName(field) + ") bool {\n\treturn " + setter;
566 code += "(rcv._tab.Pos+flatbuffers.UOffsetT(";
567 code += NumToString(field.value.offset) + "), n)\n}\n\n";
574 std::string &code = *code_ptr;
578 code += " Mutate" + MakeCamel(field.name);
579 code += "(n " + TypeName(field) + ") bool {\n\treturn ";
580 code += setter + "(" + NumToString(field.value.offset) + ", n)\n";
581 code += "}\n\n";
785 std::string code = "";
786 BeginFile(LastNamespacePart(go_namespace_), true, &code);
787 code += one_file_code;
789 return SaveFile(filename.c_str(), code, false);
799 std::string &code = *code_ptr;
800 code = code + "// " + FlatBuffersGeneratedWarning() + "\n\n";
801 code += "package " + name_space_name + "\n\n";
803 code += "import (\n";
805 code += "\tflatbuffers \"" + parser_.opts.go_import +"\"\n";
807 code += "\tflatbuffers \"github.com/google/flatbuffers/go\"\n";
809 code += ")\n\n";
813 // Save out the generated code for a Go Table type.
819 std::string code = "";
820 BeginFile(LastNamespacePart(ns), needs_imports, &code);
821 code += classcode;
824 return SaveFile(filename.c_str(), code, false);