Lines Matching refs:struct_def
31 static void GenStructBuilder(const StructDef &struct_def,
33 static void GenReceiver(const StructDef &struct_def, std::string *code_ptr);
53 static void BeginClass(const StructDef &struct_def, std::string *code_ptr) { in BeginClass() argument
55 code += "class " + struct_def.name + "(object):\n"; in BeginClass()
82 static void NewRootTypeFromBuffer(const StructDef &struct_def, in NewRootTypeFromBuffer() argument
88 code += struct_def.name; in NewRootTypeFromBuffer()
94 code += Indent + Indent + "x = " + struct_def.name + "()\n"; in NewRootTypeFromBuffer()
101 static void InitializeExisting(const StructDef &struct_def, in InitializeExisting() argument
105 GenReceiver(struct_def, code_ptr); in InitializeExisting()
112 static void GetVectorLen(const StructDef &struct_def, in GetVectorLen() argument
117 GenReceiver(struct_def, code_ptr); in GetVectorLen()
125 static void GetScalarFieldOfStruct(const StructDef &struct_def, in GetScalarFieldOfStruct() argument
130 GenReceiver(struct_def, code_ptr); in GetScalarFieldOfStruct()
138 static void GetScalarFieldOfTable(const StructDef &struct_def, in GetScalarFieldOfTable() argument
143 GenReceiver(struct_def, code_ptr); in GetScalarFieldOfTable()
154 static void GetStructFieldOfStruct(const StructDef &struct_def, in GetStructFieldOfStruct() argument
158 GenReceiver(struct_def, code_ptr); in GetStructFieldOfStruct()
168 static void GetStructFieldOfTable(const StructDef &struct_def, in GetStructFieldOfTable() argument
172 GenReceiver(struct_def, code_ptr); in GetStructFieldOfTable()
176 if (field.value.type.struct_def->fixed) { in GetStructFieldOfTable()
191 static void GetStringField(const StructDef &struct_def, in GetStringField() argument
195 GenReceiver(struct_def, code_ptr); in GetStringField()
205 static void GetUnionField(const StructDef &struct_def, in GetUnionField() argument
209 GenReceiver(struct_def, code_ptr); in GetUnionField()
228 static void GetMemberOfVectorOfStruct(const StructDef &struct_def, in GetMemberOfVectorOfStruct() argument
234 GenReceiver(struct_def, code_ptr); in GetMemberOfVectorOfStruct()
241 if (!(vectortype.struct_def->fixed)) { in GetMemberOfVectorOfStruct()
254 static void GetMemberOfVectorOfNonStruct(const StructDef &struct_def, in GetMemberOfVectorOfNonStruct() argument
260 GenReceiver(struct_def, code_ptr); in GetMemberOfVectorOfNonStruct()
279 static void GetVectorOfNonStructAsNumpy(const StructDef &struct_def, in GetVectorOfNonStructAsNumpy() argument
291 GenReceiver(struct_def, code_ptr); in GetVectorOfNonStructAsNumpy()
310 static void BeginBuilderArgs(const StructDef &struct_def, in BeginBuilderArgs() argument
315 code += "def Create" + struct_def.name; in BeginBuilderArgs()
321 static void StructBuilderArgs(const StructDef &struct_def, in StructBuilderArgs() argument
324 for (auto it = struct_def.fields.vec.begin(); in StructBuilderArgs()
325 it != struct_def.fields.vec.end(); in StructBuilderArgs()
332 StructBuilderArgs(*field.value.type.struct_def, in StructBuilderArgs()
351 static void StructBuilderBody(const StructDef &struct_def, in StructBuilderBody() argument
355 code += " builder.Prep(" + NumToString(struct_def.minalign) + ", "; in StructBuilderBody()
356 code += NumToString(struct_def.bytesize) + ")\n"; in StructBuilderBody()
357 for (auto it = struct_def.fields.vec.rbegin(); in StructBuilderBody()
358 it != struct_def.fields.vec.rend(); in StructBuilderBody()
364 StructBuilderBody(*field.value.type.struct_def, in StructBuilderBody()
380 static void GetStartOfTable(const StructDef &struct_def, in GetStartOfTable() argument
383 code += "def " + struct_def.name + "Start"; in GetStartOfTable()
386 code += NumToString(struct_def.fields.vec.size()); in GetStartOfTable()
391 static void BuildFieldOfTable(const StructDef &struct_def, in BuildFieldOfTable() argument
396 code += "def " + struct_def.name + "Add" + MakeCamel(field.name); in BuildFieldOfTable()
403 if (!IsScalar(field.value.type.base_type) && (!struct_def.fixed)) { in BuildFieldOfTable()
415 static void BuildVectorOfTable(const StructDef &struct_def, in BuildVectorOfTable() argument
419 code += "def " + struct_def.name + "Start"; in BuildVectorOfTable()
431 static void GetEndOffsetOnTable(const StructDef &struct_def, in GetEndOffsetOnTable() argument
434 code += "def " + struct_def.name + "End"; in GetEndOffsetOnTable()
440 static void GenReceiver(const StructDef &struct_def, std::string *code_ptr) { in GenReceiver() argument
442 code += Indent + "# " + struct_def.name + "\n"; in GenReceiver()
447 static void GenStructAccessor(const StructDef &struct_def, in GenStructAccessor() argument
452 if (struct_def.fixed) { in GenStructAccessor()
453 GetScalarFieldOfStruct(struct_def, field, code_ptr); in GenStructAccessor()
455 GetScalarFieldOfTable(struct_def, field, code_ptr); in GenStructAccessor()
460 if (struct_def.fixed) { in GenStructAccessor()
461 GetStructFieldOfStruct(struct_def, field, code_ptr); in GenStructAccessor()
463 GetStructFieldOfTable(struct_def, field, code_ptr); in GenStructAccessor()
467 GetStringField(struct_def, field, code_ptr); in GenStructAccessor()
472 GetMemberOfVectorOfStruct(struct_def, field, code_ptr); in GenStructAccessor()
474 GetMemberOfVectorOfNonStruct(struct_def, field, code_ptr); in GenStructAccessor()
475 GetVectorOfNonStructAsNumpy(struct_def, field, code_ptr); in GenStructAccessor()
480 GetUnionField(struct_def, field, code_ptr); in GenStructAccessor()
487 GetVectorLen(struct_def, field, code_ptr); in GenStructAccessor()
492 static void GenTableBuilders(const StructDef &struct_def, in GenTableBuilders() argument
494 GetStartOfTable(struct_def, code_ptr); in GenTableBuilders()
496 for (auto it = struct_def.fields.vec.begin(); in GenTableBuilders()
497 it != struct_def.fields.vec.end(); in GenTableBuilders()
502 auto offset = it - struct_def.fields.vec.begin(); in GenTableBuilders()
503 BuildFieldOfTable(struct_def, field, offset, code_ptr); in GenTableBuilders()
505 BuildVectorOfTable(struct_def, field, code_ptr); in GenTableBuilders()
509 GetEndOffsetOnTable(struct_def, code_ptr); in GenTableBuilders()
513 static void GenStruct(const StructDef &struct_def, in GenStruct() argument
515 if (struct_def.generated) return; in GenStruct()
517 GenComment(struct_def.doc_comment, code_ptr, nullptr, "# "); in GenStruct()
518 BeginClass(struct_def, code_ptr); in GenStruct()
519 if (!struct_def.fixed) { in GenStruct()
522 NewRootTypeFromBuffer(struct_def, code_ptr); in GenStruct()
526 InitializeExisting(struct_def, code_ptr); in GenStruct()
527 for (auto it = struct_def.fields.vec.begin(); in GenStruct()
528 it != struct_def.fields.vec.end(); in GenStruct()
533 GenStructAccessor(struct_def, field, code_ptr); in GenStruct()
536 if (struct_def.fixed) { in GenStruct()
538 GenStructBuilder(struct_def, code_ptr); in GenStruct()
541 GenTableBuilders(struct_def, code_ptr); in GenStruct()
599 return type.struct_def->name; in GenTypePointer()
618 static void GenStructBuilder(const StructDef &struct_def, in GenStructBuilder() argument
620 BeginBuilderArgs(struct_def, code_ptr); in GenStructBuilder()
621 StructBuilderArgs(struct_def, "", code_ptr); in GenStructBuilder()
624 StructBuilderBody(struct_def, "", code_ptr); in GenStructBuilder()
655 auto &struct_def = **it; in generateStructs() local
657 GenStruct(struct_def, &declcode); in generateStructs()
658 if (!SaveType(struct_def, declcode, true)) return false; in generateStructs()