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
69 // Iterate through all definitions we haven't generate code for (enums, structs,
83 // Iterate through all definitions we haven't generate code for (enums,
89 std::string enum_code, struct_code, import_code, exports_code, code;
95 code = code + "// " + FlatBuffersGeneratedWarning() + "\n\n";
97 // Generate code for all the namespace declarations.
98 GenNamespaces(&code, &exports_code);
100 // Output the main declaration code from above.
101 code += import_code;
103 code += enum_code;
104 code += struct_code;
108 code += "// Exports for Node.js and RequireJS\n";
109 code += exports_code;
112 return SaveFile(GeneratedFileName(path_, file_name_, lang_).c_str(), code,
119 // Generate code for imports
122 std::string &code = *code_ptr;
129 code += GenPrefixedImport(file, file_name);
144 std::string &code = *code_ptr;
153 code += GenPrefixedImport(file.first, file_name);
157 code += "export namespace " + file.second.target_namespace + " { \n";
158 code += "export import " + file.second.symbol + " = ";
159 code += GenFileNamespacePrefix(file.first) + "." +
166 // Generate code for all enums.
177 // Generate code for all structs.
217 std::string &code = *code_ptr;
223 code += "import { flatbuffers } from \"./flatbuffers\"\n";
227 code += "/**\n * @const\n * @namespace\n */\n";
229 code += "var ";
236 code += *it + " = " + *it + " || {};\n\n";
251 std::string &code = *code_ptr;
252 if (indent) code += indent;
253 code += "/**\n";
255 if (indent) code += indent;
256 code += " *" + *it + "\n";
260 if (indent) code += indent;
261 code += " *\n";
263 if (indent) code += indent;
268 code += " * " + extra_lines.substr(start, end - start) + "\n";
271 code += " * " + extra_lines.substr(start) + "\n";
276 if (indent) code += indent;
277 code += " */\n";
289 std::string &code = *code_ptr;
295 code += "export namespace " + ns + "{\n";
297 code += "export enum " + enum_def.name + "{\n";
300 code += "var ";
308 code += WrapInNameSpace(enum_def) + " = {\n";
315 code += '\n';
319 code += " " + ev.name;
320 code += lang_.language == IDLOptions::kTs ? "= " : ": ";
321 code += NumToString(ev.value);
322 code += (it + 1) != enum_def.vals.vec.end() ? ",\n" : "\n";
336 code += "}";
338 code += "};\n\n";
555 std::string &code = *code_ptr;
566 code += "export namespace " + object_namespace + "{\n";
568 code += "export class " + struct_def.name;
569 code += " {\n";
570 code += " /**\n";
571 code += " * @type {flatbuffers.ByteBuffer}\n";
572 code += " */\n";
573 code += " bb: flatbuffers.ByteBuffer;\n";
574 code += "\n";
575 code += " /**\n";
576 code += " * @type {number}\n";
577 code += " */\n";
578 code += " bb_pos:number = 0;\n";
590 code += "function " + object_name;
592 code += object_name + " = function";
594 code += "() {\n";
595 code += " /**\n";
596 code += " * @type {flatbuffers.ByteBuffer}\n";
597 code += " */\n";
598 code += " this.bb = null;\n";
599 code += "\n";
600 code += " /**\n";
601 code += " * @type {number}\n";
602 code += " */\n";
603 code += " this.bb_pos = 0;\n";
604 code += isStatement ? "}\n\n" : "};\n\n";
609 code += "/**\n";
610 code += " * @param {number} i\n";
611 code += " * @param {flatbuffers.ByteBuffer} bb\n";
612 code += " * @returns {" + object_name + "}\n";
613 code += " */\n";
616 code += "__init(i:number, bb:flatbuffers.ByteBuffer):" + object_name +
619 code += object_name + ".prototype.__init = function(i, bb) {\n";
622 code += " this.bb_pos = i;\n";
623 code += " this.bb = bb;\n";
624 code += " return this;\n";
625 code += "};\n\n";
635 code += "static getRootAs" + struct_def.name;
636 code += "(bb:flatbuffers.ByteBuffer, obj?:" + object_name + "):" +
639 code += object_name + ".getRootAs" + struct_def.name;
640 code += " = function(bb, obj) {\n";
642 code += " return (obj || new " + object_name;
643 code += ").__init(bb.readInt32(bb.position()) + bb.position(), bb);\n";
644 code += "};\n\n";
653 code +=
656 code += object_name + ".bufferHasIdentifier = function(bb) {\n";
659 code += " return bb.__has_identifier('" + parser_.file_identifier_;
660 code += "');\n};\n\n";
682 code += prefix + "):string|null\n";
683 code += prefix + "optionalEncoding:flatbuffers.Encoding"+"):" +
685 code += prefix + "optionalEncoding?:any";
687 code += prefix;
690 code += "):" +
694 code += "):" + GenTypeName(field.value.type, false, true) + " {\n";
697 code += object_name + ".prototype." + MakeCamel(field.name, false);
698 code += " = function(";
700 code += "optionalEncoding";
702 code += ") {\n";
706 code += " return " + GenGetter(field.value.type, "(this.bb_pos" +
713 code += offset_prefix + GenGetter(field.value.type,
715 code += ";\n";
728 code += MakeCamel(field.name, false);
729 code += "(obj?:" + type + "):" + type + "|null {\n";
731 code += object_name + ".prototype." + MakeCamel(field.name, false);
732 code += " = function(obj) {\n";
736 code += " return (obj || new " + type;
737 code += ").__init(this.bb_pos";
738 code += MaybeAdd(field.value.offset) + ", this.bb);\n";
740 code += offset_prefix + "(obj || new " + type + ").__init(";
741 code += field.value.type.struct_def->fixed
744 code += ", this.bb) : null;\n";
790 code += prefix + ", obj:T";
794 code += prefix + ", obj?:" + vectortypename;
797 code += prefix + "):string\n";
798 code += prefix + ",optionalEncoding:flatbuffers.Encoding" + "):" +
800 code += prefix + ",optionalEncoding?:any";
802 code += prefix;
804 code += "):" + vectortypename + "|null {\n";
806 code += object_name + ".prototype." + MakeCamel(field.name, false);
807 code += " = function(index";
809 code += ", obj";
811 code += ", optionalEncoding";
813 code += ") {\n";
817 code += offset_prefix + "(obj || new " + vectortypename;
818 code += ").__init(";
819 code += vectortype.struct_def->fixed
822 code += ", this.bb)";
829 code += offset_prefix + GenGetter(vectortype, "(" + index + ")");
831 code += " : ";
833 code += "false";
836 code += "this.bb.createLong(0, 0)";
839 code += "/** @type {" +
843 code += "0";
846 code += "null";
848 code += ";\n";
857 code += MakeCamel(field.name, false);
858 code += "<T extends flatbuffers.Table>(obj:T):T|null {\n";
860 code += object_name + ".prototype." + MakeCamel(field.name, false);
861 code += " = function(obj) {\n";
864 code += offset_prefix + GenGetter(field.value.type,
872 code += "};\n\n";
896 code += "mutate_" + field.name + "(value:" + type + "):boolean {\n";
898 code += object_name + ".prototype.mutate_" + field.name +
902 code += " var offset = this.bb.__offset(this.bb_pos, " +
904 code += " if (offset === 0) {\n";
905 code += " return false;\n";
906 code += " }\n\n";
909 code += " this.bb.write" + MakeCamel(GenType(field.value.type)) +
913 code += "+";
916 code
917 code += " return true;\n";
918 code += "};\n\n";
932 code += MakeCamel(field.name, false);
933 code += "Length():number {\n" + offset_prefix;
935 code += object_name + ".prototype." + MakeCamel(field.name, false);
936 code += "Length = function() {\n" + offset_prefix;
939 code += "this.bb.__vector_len(this.bb_pos + offset) : 0;\n};\n\n";
953 code += MakeCamel(field.name, false);
954 code += "Array():" + GenType(vectorType) + "Array|null {\n" +
957 code += object_name + ".prototype." + MakeCamel(field.name, false);
958 code += "Array = function() {\n" + offset_prefix;
961 code += "new " + GenType(vectorType) + "Array(this.bb.bytes().buffer, "
983 code += "static create" + struct_def.name + "(builder:flatbuffers.Builder";
984 code += arguments + "):flatbuffers.Offset {\n";
986 code += object_name + ".create" + struct_def.name + " = function(builder";
987 code += arguments + ") {\n";
990 GenStructBody(struct_def, &code, "");
991 code += " return builder.offset();\n};\n\n";
998 code += "static start" + struct_def.name;
999 code += "(builder:flatbuffers.Builder) {\n";
1001 code += object_name + ".start" + struct_def.name;
1002 code += " = function(builder) {\n";
1005 code += " builder.startObject(" + NumToString(
1007 code += "};\n\n";
1034 code += "static add" + MakeCamel(field.name);
1035 code += "(builder:flatbuffers.Builder, " + argname + ":" + argType +
1038 code += object_name + ".add" + MakeCamel(field.name);
1039 code += " = function(builder, " + argname + ") {\n";
1042 code += " builder.addField" + GenWriteMethod(field.value.type) + "(";
1043 code += NumToString(it - struct_def.fields.vec.begin()) + ", ";
1045 code += "+";
1047 code += argname + ", ";
1049 code += "0";
1052 code += "+";
1054 code += GenDefaultValue(field.value, "builder");
1056 code += ");\n};\n\n";
1072 code += "static create" + MakeCamel(field.name);
1077 code += "Vector(builder:flatbuffers.Builder, data:" + type +
1080 code += object_name + ".create" + MakeCamel(field.name);
1081 code += "Vector = function(builder, data) {\n";
1084 code += " builder.startVector(" + NumToString(elem_size);
1085 code += ", data.length, " + NumToString(alignment) + ");\n";
1086 code += " for (var i = data.length - 1; i >= 0; i--) {\n";
1087 code += " builder.add" + GenWriteMethod(vector_type) + "(";
1089 code += "+";
1091 code += "data[i]);\n";
1092 code += " }\n";
1093 code += " return builder.endVector();\n";
1094 code += "};\n\n";
1103 code += "static start" + MakeCamel(field.name);
1104 code += "Vector(builder:flatbuffers.Builder, numElems:number) {\n";
1106 code += object_name + ".start" + MakeCamel(field.name);
1107 code += "Vector = function(builder, numElems) {\n";
1110 code += " builder.startVector(" + NumToString(elem_size);
1111 code += ", numElems, " + NumToString(alignment) + ");\n";
1112 code += "};\n\n";
1122 code += "static end" + struct_def.name;
1123 code += "(builder:flatbuffers.Builder):flatbuffers.Offset {\n";
1125 code += object_name + ".end" + struct_def.name;
1126 code += " = function(builder) {\n";
1129 code += " var offset = builder.endObject();\n";
1134 code += " builder.requiredField(offset, ";
1135 code += NumToString(field.value.offset);
1136 code += "); // " + field.name + "\n";
1139 code += " return offset;\n";
1140 code += "};\n\n";
1149 code += "static finish" + struct_def.name + "Buffer";
1150 code += "(builder:flatbuffers.Builder, offset:flatbuffers.Offset) {\n";
1152 code += object_name + ".finish" + struct_def.name + "Buffer";
1153 code += " = function(builder, offset) {\n";
1156 code += " builder.finish(offset";
1158 code += ", '" + parser_.file_identifier_ + "'";
1160 code += ");\n";
1161 code += "};\n\n";
1167 code += "}\n";
1169 code += "}\n";