Update JavaScript IDL generator to remove invalid Closure JSDoc comments (#4873)

* Update JavaScript IDL generator to remove invalid Closure JSDoc comments

* Revert erroneous changes

* A few more tweaks

* Updated generated code
This commit is contained in:
Matias Cudich
2018-08-10 15:27:51 -07:00
committed by Wouter van Oortmerssen
parent 12e5cf0b29
commit aaa89429d3
9 changed files with 835 additions and 880 deletions

View File

@@ -39,6 +39,8 @@ struct ReexportDescription {
std::string target_namespace; std::string target_namespace;
}; };
enum AnnotationType { kParam = 0, kType = 1, kReturns = 2 };
const JsLanguageParameters &GetJsLangParams(IDLOptions::Language lang) { const JsLanguageParameters &GetJsLangParams(IDLOptions::Language lang) {
static JsLanguageParameters js_language_parameters[] = { static JsLanguageParameters js_language_parameters[] = {
{ {
@@ -281,6 +283,46 @@ class JsGenerator : public BaseGenerator {
GenDocComment(std::vector<std::string>(), code_ptr, extra_lines); GenDocComment(std::vector<std::string>(), code_ptr, extra_lines);
} }
std::string GenTypeAnnotation(AnnotationType annotation_type,
const std::string &type_name,
const std::string &arg_name,
bool include_newline = true) {
std::string result = "";
switch (annotation_type) {
case kParam: {
result += "@param";
break;
}
case kType: {
if (lang_.language != IDLOptions::kTs) {
result += "@type";
} else {
return "";
}
break;
}
case kReturns: {
result += "@returns";
break;
}
}
switch (lang_.language) {
case IDLOptions::kTs: {
result += " " + type_name;
break;
}
default: { result += " {" + type_name + "}"; }
}
if (!arg_name.empty()) {
result += " " + arg_name;
}
if (include_newline) {
result += "\n";
}
return result;
}
// Generate an enum declaration and an enum string lookup table. // Generate an enum declaration and an enum string lookup table.
void GenEnum(EnumDef &enum_def, std::string *code_ptr, void GenEnum(EnumDef &enum_def, std::string *code_ptr,
std::string *exports_ptr, reexport_map &reexports) { std::string *exports_ptr, reexport_map &reexports) {
@@ -299,7 +341,7 @@ class JsGenerator : public BaseGenerator {
exports += "goog.exportSymbol('" + enum_def.name + "', " + exports += "goog.exportSymbol('" + enum_def.name + "', " +
enum_def.name + ");\n"; enum_def.name + ");\n";
} else if (parser_.opts.use_ES6_js_export_format) { } else if (parser_.opts.use_ES6_js_export_format) {
exports += "export {" + enum_def.name + "};\n"; exports += "export {" + enum_def.name + "};\n";
} else { } else {
exports += "this." + enum_def.name + " = " + enum_def.name + ";\n"; exports += "this." + enum_def.name + " = " + enum_def.name + ";\n";
} }
@@ -363,8 +405,10 @@ class JsGenerator : public BaseGenerator {
GenBBAccess() + ".read" + MakeCamel(GenType(type)) + arguments; GenBBAccess() + ".read" + MakeCamel(GenType(type)) + arguments;
if (type.base_type == BASE_TYPE_BOOL) { getter = "!!" + getter; } if (type.base_type == BASE_TYPE_BOOL) { getter = "!!" + getter; }
if (type.enum_def) { if (type.enum_def) {
getter = "/** @type {" + WrapInNameSpace(*type.enum_def) + "} */ (" + getter = "/** " +
getter + ")"; GenTypeAnnotation(kType, WrapInNameSpace(*type.enum_def), "",
false) +
" */ (" + getter + ")";
} }
return getter; return getter;
} }
@@ -387,7 +431,9 @@ class JsGenerator : public BaseGenerator {
return WrapInNameSpace(*value.type.enum_def) + "." + val->name; return WrapInNameSpace(*value.type.enum_def) + "." + val->name;
} }
} else { } else {
return "/** @type {" + WrapInNameSpace(*value.type.enum_def) + return "/** " +
GenTypeAnnotation(kType, WrapInNameSpace(*value.type.enum_def),
"", false) +
"} */ (" + value.constant + ")"; "} */ (" + value.constant + ")";
} }
} }
@@ -492,9 +538,9 @@ class JsGenerator : public BaseGenerator {
GenStructArgs(*field.value.type.struct_def, annotations, arguments, GenStructArgs(*field.value.type.struct_def, annotations, arguments,
nameprefix + field.name + "_"); nameprefix + field.name + "_");
} else { } else {
*annotations += "@param {" + GenTypeName(field.value.type, true); *annotations +=
*annotations += "} " + nameprefix + field.name + "\n"; GenTypeAnnotation(kParam, GenTypeName(field.value.type, true),
nameprefix + field.name);
if (lang_.language == IDLOptions::kTs) { if (lang_.language == IDLOptions::kTs) {
*arguments += ", " + nameprefix + field.name + ": " + *arguments += ", " + nameprefix + field.name + ": " +
GenTypeName(field.value.type, true); GenTypeName(field.value.type, true);
@@ -551,14 +597,18 @@ class JsGenerator : public BaseGenerator {
} }
code += "export class " + struct_def.name; code += "export class " + struct_def.name;
code += " {\n"; code += " {\n";
code += " /**\n"; if (lang_.language != IDLOptions::kTs) {
code += " * @type {flatbuffers.ByteBuffer}\n"; code += " /**\n";
code += " */\n"; code += " * " + GenTypeAnnotation(kType, "flatbuffers.ByteBuffer", "");
code += " */\n";
}
code += " bb: flatbuffers.ByteBuffer|null = null;\n"; code += " bb: flatbuffers.ByteBuffer|null = null;\n";
code += "\n"; code += "\n";
code += " /**\n"; if (lang_.language != IDLOptions::kTs) {
code += " * @type {number}\n"; code += " /**\n";
code += " */\n"; code += " * " + GenTypeAnnotation(kType, "number", "");
code += " */\n";
}
code += " bb_pos:number = 0;\n"; code += " bb_pos:number = 0;\n";
} else { } else {
bool isStatement = struct_def.defined_namespace->components.empty(); bool isStatement = struct_def.defined_namespace->components.empty();
@@ -580,12 +630,12 @@ class JsGenerator : public BaseGenerator {
} }
code += "() {\n"; code += "() {\n";
code += " /**\n"; code += " /**\n";
code += " * @type {flatbuffers.ByteBuffer}\n"; code += " * " + GenTypeAnnotation(kType, "flatbuffers.ByteBuffer", "");
code += " */\n"; code += " */\n";
code += " this.bb = null;\n"; code += " this.bb = null;\n";
code += "\n"; code += "\n";
code += " /**\n"; code += " /**\n";
code += " * @type {number}\n"; code += " * " + GenTypeAnnotation(kType, "number", "");
code += " */\n"; code += " */\n";
code += " this.bb_pos = 0;\n"; code += " this.bb_pos = 0;\n";
code += isStatement ? "}\n\n" : "};\n\n"; code += isStatement ? "}\n\n" : "};\n\n";
@@ -594,9 +644,9 @@ class JsGenerator : public BaseGenerator {
// Generate the __init method that sets the field in a pre-existing // Generate the __init method that sets the field in a pre-existing
// accessor object. This is to allow object reuse. // accessor object. This is to allow object reuse.
code += "/**\n"; code += "/**\n";
code += " * @param {number} i\n"; code += " * " + GenTypeAnnotation(kParam, "number", "i");
code += " * @param {flatbuffers.ByteBuffer} bb\n"; code += " * " + GenTypeAnnotation(kParam, "flatbuffers.ByteBuffer", "bb");
code += " * @returns {" + object_name + "}\n"; code += " * " + GenTypeAnnotation(kReturns, object_name, "");
code += " */\n"; code += " */\n";
if (lang_.language == IDLOptions::kTs) { if (lang_.language == IDLOptions::kTs) {
@@ -615,12 +665,9 @@ class JsGenerator : public BaseGenerator {
// FlatBuffer // FlatBuffer
if (!struct_def.fixed) { if (!struct_def.fixed) {
GenDocComment(code_ptr, GenDocComment(code_ptr,
"@param {flatbuffers.ByteBuffer} bb\n" GenTypeAnnotation(kParam, "flatbuffers.ByteBuffer", "bb") +
"@param {" + GenTypeAnnotation(kParam, object_name + "=", "obj") +
object_name + GenTypeAnnotation(kReturns, object_name, "", false));
"=} obj\n"
"@returns {" +
object_name + "}");
if (lang_.language == IDLOptions::kTs) { if (lang_.language == IDLOptions::kTs) {
code += "static getRootAs" + struct_def.name; code += "static getRootAs" + struct_def.name;
code += "(bb:flatbuffers.ByteBuffer, obj?:" + object_name + code += "(bb:flatbuffers.ByteBuffer, obj?:" + object_name +
@@ -636,9 +683,10 @@ class JsGenerator : public BaseGenerator {
// Generate the identifier check method // Generate the identifier check method
if (parser_.root_struct_def_ == &struct_def && if (parser_.root_struct_def_ == &struct_def &&
!parser_.file_identifier_.empty()) { !parser_.file_identifier_.empty()) {
GenDocComment(code_ptr, GenDocComment(
"@param {flatbuffers.ByteBuffer} bb\n" code_ptr,
"@returns {boolean}"); GenTypeAnnotation(kParam, "flatbuffers.ByteBuffer", "bb") +
GenTypeAnnotation(kReturns, "boolean", "", false));
if (lang_.language == IDLOptions::kTs) { if (lang_.language == IDLOptions::kTs) {
code += code +=
"static bufferHasIdentifier(bb:flatbuffers.ByteBuffer):boolean " "static bufferHasIdentifier(bb:flatbuffers.ByteBuffer):boolean "
@@ -666,12 +714,13 @@ class JsGenerator : public BaseGenerator {
field.value.type.base_type == BASE_TYPE_STRING) { field.value.type.base_type == BASE_TYPE_STRING) {
GenDocComment( GenDocComment(
field.doc_comment, code_ptr, field.doc_comment, code_ptr,
std::string( std::string(field.value.type.base_type == BASE_TYPE_STRING
field.value.type.base_type == BASE_TYPE_STRING ? GenTypeAnnotation(kParam, "flatbuffers.Encoding=",
? "@param {flatbuffers.Encoding=} optionalEncoding\n" "optionalEncoding")
: "") + : "") +
"@returns {" + GenTypeName(field.value.type, false, true) + GenTypeAnnotation(kReturns,
"}"); GenTypeName(field.value.type, false, true),
"", false));
if (lang_.language == IDLOptions::kTs) { if (lang_.language == IDLOptions::kTs) {
std::string prefix = MakeCamel(field.name, false) + "("; std::string prefix = MakeCamel(field.name, false) + "(";
if (field.value.type.base_type == BASE_TYPE_STRING) { if (field.value.type.base_type == BASE_TYPE_STRING) {
@@ -688,10 +737,6 @@ class JsGenerator : public BaseGenerator {
GenPrefixedTypeName(GenTypeName(field.value.type, false, true), GenPrefixedTypeName(GenTypeName(field.value.type, false, true),
field.value.type.enum_def->file) + field.value.type.enum_def->file) +
" {\n"; " {\n";
if (!parser_.opts.generate_all) {
imported_files.insert(field.value.type.enum_def->file);
}
} else { } else {
code += "):" + GenTypeName(field.value.type, false, true) + " {\n"; code += "):" + GenTypeName(field.value.type, false, true) + " {\n";
} }
@@ -729,7 +774,8 @@ class JsGenerator : public BaseGenerator {
auto type = WrapInNameSpace(*field.value.type.struct_def); auto type = WrapInNameSpace(*field.value.type.struct_def);
GenDocComment( GenDocComment(
field.doc_comment, code_ptr, field.doc_comment, code_ptr,
"@param {" + type + "=} obj\n@returns {" + type + "|null}"); GenTypeAnnotation(kParam, type + "=", "obj") +
GenTypeAnnotation(kReturns, type + "|null", "", false));
if (lang_.language == IDLOptions::kTs) { if (lang_.language == IDLOptions::kTs) {
type = type =
GenPrefixedTypeName(type, field.value.type.struct_def->file); GenPrefixedTypeName(type, field.value.type.struct_def->file);
@@ -768,27 +814,29 @@ class JsGenerator : public BaseGenerator {
auto index = GenBBAccess() + auto index = GenBBAccess() +
".__vector(this.bb_pos + offset) + index" + ".__vector(this.bb_pos + offset) + index" +
MaybeScale(inline_size); MaybeScale(inline_size);
std::string args = "@param {number} index\n"; std::string args = GenTypeAnnotation(kParam, "number", "index");
std::string ret_type; std::string ret_type;
bool is_union = false; bool is_union = false;
switch (vectortype.base_type) { switch (vectortype.base_type) {
case BASE_TYPE_STRUCT: case BASE_TYPE_STRUCT:
args += "@param {" + vectortypename + "=} obj\n"; args += GenTypeAnnotation(kParam, vectortypename + "=", "obj");
ret_type = vectortypename; ret_type = vectortypename;
break; break;
case BASE_TYPE_STRING: case BASE_TYPE_STRING:
args += "@param {flatbuffers.Encoding=} optionalEncoding\n"; args += GenTypeAnnotation(
kParam, "flatbuffers.Encoding=", "optionalEncoding");
ret_type = vectortypename; ret_type = vectortypename;
break; break;
case BASE_TYPE_UNION: case BASE_TYPE_UNION:
args += "@param {flatbuffers.Table=} obj\n"; args += GenTypeAnnotation(kParam, "flatbuffers.Table=", "obj");
ret_type = "?flatbuffers.Table"; ret_type = "?flatbuffers.Table";
is_union = true; is_union = true;
break; break;
default: ret_type = vectortypename; default: ret_type = vectortypename;
} }
GenDocComment(field.doc_comment, code_ptr, GenDocComment(
args + "@returns {" + ret_type + "}"); field.doc_comment, code_ptr,
args + GenTypeAnnotation(kReturns, ret_type, "", false));
if (lang_.language == IDLOptions::kTs) { if (lang_.language == IDLOptions::kTs) {
std::string prefix = MakeCamel(field.name, false); std::string prefix = MakeCamel(field.name, false);
if (is_union) { prefix += "<T extends flatbuffers.Table>"; } if (is_union) { prefix += "<T extends flatbuffers.Table>"; }
@@ -848,9 +896,11 @@ class JsGenerator : public BaseGenerator {
code += GenBBAccess() + ".createLong(0, 0)"; code += GenBBAccess() + ".createLong(0, 0)";
} else if (IsScalar(field.value.type.element)) { } else if (IsScalar(field.value.type.element)) {
if (field.value.type.enum_def) { if (field.value.type.enum_def) {
code += "/** @type {" + code += "/** " +
WrapInNameSpace(*field.value.type.enum_def) + "} */ (" + GenTypeAnnotation(
field.value.constant + ")"; kType, WrapInNameSpace(*field.value.type.enum_def),
"", false) +
" */ (" + field.value.constant + ")";
} else { } else {
code += "0"; code += "0";
} }
@@ -862,9 +912,11 @@ class JsGenerator : public BaseGenerator {
} }
case BASE_TYPE_UNION: case BASE_TYPE_UNION:
GenDocComment(field.doc_comment, code_ptr, GenDocComment(
"@param {flatbuffers.Table} obj\n" field.doc_comment, code_ptr,
"@returns {?flatbuffers.Table}"); GenTypeAnnotation(kParam, "flatbuffers.Table", "obj") +
GenTypeAnnotation(kReturns, "?flatbuffers.Table", "",
false));
if (lang_.language == IDLOptions::kTs) { if (lang_.language == IDLOptions::kTs) {
code += MakeCamel(field.name, false); code += MakeCamel(field.name, false);
code += "<T extends flatbuffers.Table>(obj:T):T|null {\n"; code += "<T extends flatbuffers.Table>(obj:T):T|null {\n";
@@ -892,9 +944,11 @@ class JsGenerator : public BaseGenerator {
// Adds the mutable scalar value to the output // Adds the mutable scalar value to the output
if (IsScalar(field.value.type.base_type) && parser.opts.mutable_buffer) { if (IsScalar(field.value.type.base_type) && parser.opts.mutable_buffer) {
std::string annotations = std::string annotations = GenTypeAnnotation(
"@param {" + GenTypeName(field.value.type, true) + "} value\n"; kParam, GenTypeName(field.value.type, true), "value");
GenDocComment(code_ptr, annotations + "@returns {boolean}"); GenDocComment(
code_ptr,
annotations + GenTypeAnnotation(kReturns, "boolean", "", false));
if (lang_.language == IDLOptions::kTs) { if (lang_.language == IDLOptions::kTs) {
std::string type; std::string type;
@@ -940,7 +994,8 @@ class JsGenerator : public BaseGenerator {
// Emit vector helpers // Emit vector helpers
if (field.value.type.base_type == BASE_TYPE_VECTOR) { if (field.value.type.base_type == BASE_TYPE_VECTOR) {
// Emit a length helper // Emit a length helper
GenDocComment(code_ptr, "@returns {number}"); GenDocComment(code_ptr,
GenTypeAnnotation(kReturns, "number", "", false));
if (lang_.language == IDLOptions::kTs) { if (lang_.language == IDLOptions::kTs) {
code += MakeCamel(field.name, false); code += MakeCamel(field.name, false);
code += "Length():number {\n" + offset_prefix; code += "Length():number {\n" + offset_prefix;
@@ -962,8 +1017,9 @@ class JsGenerator : public BaseGenerator {
// For scalar types, emit a typed array helper // For scalar types, emit a typed array helper
auto vectorType = field.value.type.VectorType(); auto vectorType = field.value.type.VectorType();
if (IsScalar(vectorType.base_type) && !IsLong(vectorType.base_type)) { if (IsScalar(vectorType.base_type) && !IsLong(vectorType.base_type)) {
GenDocComment(code_ptr, GenDocComment(code_ptr, GenTypeAnnotation(
"@returns {" + GenType(vectorType) + "Array}"); kReturns, GenType(vectorType) + "Array",
"", false));
if (lang_.language == IDLOptions::kTs) { if (lang_.language == IDLOptions::kTs) {
code += MakeCamel(field.name, false); code += MakeCamel(field.name, false);
@@ -992,10 +1048,13 @@ class JsGenerator : public BaseGenerator {
// Emit a factory constructor // Emit a factory constructor
if (struct_def.fixed) { if (struct_def.fixed) {
std::string annotations = "@param {flatbuffers.Builder} builder\n"; std::string annotations =
GenTypeAnnotation(kParam, "flatbuffers.Builder", "builder");
std::string arguments; std::string arguments;
GenStructArgs(struct_def, &annotations, &arguments, ""); GenStructArgs(struct_def, &annotations, &arguments, "");
GenDocComment(code_ptr, annotations + "@returns {flatbuffers.Offset}"); GenDocComment(code_ptr, annotations + GenTypeAnnotation(
kReturns, "flatbuffers.Offset",
"", false));
if (lang_.language == IDLOptions::kTs) { if (lang_.language == IDLOptions::kTs) {
code += code +=
@@ -1011,7 +1070,8 @@ class JsGenerator : public BaseGenerator {
code += " return builder.offset();\n};\n\n"; code += " return builder.offset();\n};\n\n";
} else { } else {
// Generate a method to start building a new object // Generate a method to start building a new object
GenDocComment(code_ptr, "@param {flatbuffers.Builder} builder"); GenDocComment(code_ptr, GenTypeAnnotation(kParam, "flatbuffers.Builder",
"builder", false));
if (lang_.language == IDLOptions::kTs) { if (lang_.language == IDLOptions::kTs) {
code += "static start" + struct_def.name; code += "static start" + struct_def.name;
@@ -1034,10 +1094,11 @@ class JsGenerator : public BaseGenerator {
if (!IsScalar(field.value.type.base_type)) { argname += "Offset"; } if (!IsScalar(field.value.type.base_type)) { argname += "Offset"; }
// Generate the field insertion method // Generate the field insertion method
GenDocComment(code_ptr, GenDocComment(
"@param {flatbuffers.Builder} builder\n" code_ptr,
"@param {" + GenTypeAnnotation(kParam, "flatbuffers.Builder", "builder") +
GenTypeName(field.value.type, true) + "} " + argname); GenTypeAnnotation(kParam, GenTypeName(field.value.type, true),
argname, false));
if (lang_.language == IDLOptions::kTs) { if (lang_.language == IDLOptions::kTs) {
std::string argType; std::string argType;
@@ -1075,12 +1136,15 @@ class JsGenerator : public BaseGenerator {
// Generate a method to create a vector from a JavaScript array // Generate a method to create a vector from a JavaScript array
if (!IsStruct(vector_type)) { if (!IsStruct(vector_type)) {
GenDocComment(code_ptr, GenDocComment(
"@param {flatbuffers.Builder} builder\n" code_ptr,
"@param {Array.<" + GenTypeAnnotation(kParam, "flatbuffers.Builder", "builder") +
GenTypeName(vector_type, true) + GenTypeAnnotation(
">} data\n" kParam,
"@returns {flatbuffers.Offset}"); "Array.<" + GenTypeName(vector_type, true) + ">",
"data") +
GenTypeAnnotation(kReturns, "flatbuffers.Offset", "",
false));
if (lang_.language == IDLOptions::kTs) { if (lang_.language == IDLOptions::kTs) {
code += "static create" + MakeCamel(field.name); code += "static create" + MakeCamel(field.name);
@@ -1106,9 +1170,10 @@ class JsGenerator : public BaseGenerator {
// Generate a method to start a vector, data to be added manually // Generate a method to start a vector, data to be added manually
// after // after
GenDocComment(code_ptr, GenDocComment(
"@param {flatbuffers.Builder} builder\n" code_ptr,
"@param {number} numElems"); GenTypeAnnotation(kParam, "flatbuffers.Builder", "builder") +
GenTypeAnnotation(kParam, "number", "numElems", false));
if (lang_.language == IDLOptions::kTs) { if (lang_.language == IDLOptions::kTs) {
code += "static start" + MakeCamel(field.name); code += "static start" + MakeCamel(field.name);
@@ -1125,9 +1190,10 @@ class JsGenerator : public BaseGenerator {
} }
// Generate a method to stop building a new object // Generate a method to stop building a new object
GenDocComment(code_ptr, GenDocComment(
"@param {flatbuffers.Builder} builder\n" code_ptr,
"@returns {flatbuffers.Offset}"); GenTypeAnnotation(kParam, "flatbuffers.Builder", "builder") +
GenTypeAnnotation(kReturns, "flatbuffers.Offset", "", false));
if (lang_.language == IDLOptions::kTs) { if (lang_.language == IDLOptions::kTs) {
code += "static end" + struct_def.name; code += "static end" + struct_def.name;
@@ -1152,9 +1218,11 @@ class JsGenerator : public BaseGenerator {
// Generate the method to complete buffer construction // Generate the method to complete buffer construction
if (parser_.root_struct_def_ == &struct_def) { if (parser_.root_struct_def_ == &struct_def) {
GenDocComment(code_ptr, GenDocComment(
"@param {flatbuffers.Builder} builder\n" code_ptr,
"@param {flatbuffers.Offset} offset"); GenTypeAnnotation(kParam, "flatbuffers.Builder", "builder") +
GenTypeAnnotation(kParam, "flatbuffers.Offset", "offset",
false));
if (lang_.language == IDLOptions::kTs) { if (lang_.language == IDLOptions::kTs) {
code += "static finish" + struct_def.name + "Buffer"; code += "static finish" + struct_def.name + "Buffer";

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -6,8 +6,8 @@ library my_game.example2;
import 'dart:typed_data' show Uint8List; import 'dart:typed_data' show Uint8List;
import 'package:flat_buffers/flat_buffers.dart' as fb; import 'package:flat_buffers/flat_buffers.dart' as fb;
import './monster_test_my_game.example_generated.dart' as my_game_example;
import './monster_test_my_game_generated.dart' as my_game; import './monster_test_my_game_generated.dart' as my_game;
import './monster_test_my_game.example_generated.dart' as my_game_example;
class Monster { class Monster {
Monster._(this._bc, this._bcOffset); Monster._(this._bc, this._bcOffset);

View File

@@ -6,8 +6,8 @@ library my_game;
import 'dart:typed_data' show Uint8List; import 'dart:typed_data' show Uint8List;
import 'package:flat_buffers/flat_buffers.dart' as fb; import 'package:flat_buffers/flat_buffers.dart' as fb;
import './monster_test_my_game.example_generated.dart' as my_game_example;
import './monster_test_my_game.example2_generated.dart' as my_game_example2; import './monster_test_my_game.example2_generated.dart' as my_game_example2;
import './monster_test_my_game.example_generated.dart' as my_game_example;
class InParentNamespace { class InParentNamespace {
InParentNamespace._(this._bc, this._bcOffset); InParentNamespace._(this._bc, this._bcOffset);

View File

@@ -2,13 +2,14 @@
package NamespaceB package NamespaceB
type EnumInNestedNS = int8
const ( const (
EnumInNestedNSA = 0 EnumInNestedNSA EnumInNestedNS = 0
EnumInNestedNSB = 1 EnumInNestedNSB EnumInNestedNS = 1
EnumInNestedNSC = 2 EnumInNestedNSC EnumInNestedNS = 2
) )
var EnumNamesEnumInNestedNS = map[int]string{ var EnumNamesEnumInNestedNS = map[EnumInNestedNS]string{
EnumInNestedNSA:"A", EnumInNestedNSA:"A",
EnumInNestedNSB:"B", EnumInNestedNSB:"B",
EnumInNestedNSC:"C", EnumInNestedNSC:"C",

View File

@@ -15,19 +15,13 @@ export enum EnumInNestedNS{
*/ */
export namespace NamespaceA.NamespaceB{ export namespace NamespaceA.NamespaceB{
export class TableInNestedNS { export class TableInNestedNS {
/**
* @type {flatbuffers.ByteBuffer}
*/
bb: flatbuffers.ByteBuffer|null = null; bb: flatbuffers.ByteBuffer|null = null;
/**
* @type {number}
*/
bb_pos:number = 0; bb_pos:number = 0;
/** /**
* @param {number} i * @param number i
* @param {flatbuffers.ByteBuffer} bb * @param flatbuffers.ByteBuffer bb
* @returns {TableInNestedNS} * @returns TableInNestedNS
*/ */
__init(i:number, bb:flatbuffers.ByteBuffer):TableInNestedNS { __init(i:number, bb:flatbuffers.ByteBuffer):TableInNestedNS {
this.bb_pos = i; this.bb_pos = i;
@@ -36,16 +30,16 @@ __init(i:number, bb:flatbuffers.ByteBuffer):TableInNestedNS {
}; };
/** /**
* @param {flatbuffers.ByteBuffer} bb * @param flatbuffers.ByteBuffer bb
* @param {TableInNestedNS=} obj * @param TableInNestedNS= obj
* @returns {TableInNestedNS} * @returns TableInNestedNS
*/ */
static getRootAsTableInNestedNS(bb:flatbuffers.ByteBuffer, obj?:TableInNestedNS):TableInNestedNS { static getRootAsTableInNestedNS(bb:flatbuffers.ByteBuffer, obj?:TableInNestedNS):TableInNestedNS {
return (obj || new TableInNestedNS).__init(bb.readInt32(bb.position()) + bb.position(), bb); return (obj || new TableInNestedNS).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}; };
/** /**
* @returns {number} * @returns number
*/ */
foo():number { foo():number {
var offset = this.bb!.__offset(this.bb_pos, 4); var offset = this.bb!.__offset(this.bb_pos, 4);
@@ -53,8 +47,8 @@ foo():number {
}; };
/** /**
* @param {number} value * @param number value
* @returns {boolean} * @returns boolean
*/ */
mutate_foo(value:number):boolean { mutate_foo(value:number):boolean {
var offset = this.bb!.__offset(this.bb_pos, 4); var offset = this.bb!.__offset(this.bb_pos, 4);
@@ -68,23 +62,23 @@ mutate_foo(value:number):boolean {
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
*/ */
static startTableInNestedNS(builder:flatbuffers.Builder) { static startTableInNestedNS(builder:flatbuffers.Builder) {
builder.startObject(1); builder.startObject(1);
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @param {number} foo * @param number foo
*/ */
static addFoo(builder:flatbuffers.Builder, foo:number) { static addFoo(builder:flatbuffers.Builder, foo:number) {
builder.addFieldInt32(0, foo, 0); builder.addFieldInt32(0, foo, 0);
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @returns {flatbuffers.Offset} * @returns flatbuffers.Offset
*/ */
static endTableInNestedNS(builder:flatbuffers.Builder):flatbuffers.Offset { static endTableInNestedNS(builder:flatbuffers.Builder):flatbuffers.Offset {
var offset = builder.endObject(); var offset = builder.endObject();
@@ -98,19 +92,13 @@ static endTableInNestedNS(builder:flatbuffers.Builder):flatbuffers.Offset {
*/ */
export namespace NamespaceA.NamespaceB{ export namespace NamespaceA.NamespaceB{
export class StructInNestedNS { export class StructInNestedNS {
/**
* @type {flatbuffers.ByteBuffer}
*/
bb: flatbuffers.ByteBuffer|null = null; bb: flatbuffers.ByteBuffer|null = null;
/**
* @type {number}
*/
bb_pos:number = 0; bb_pos:number = 0;
/** /**
* @param {number} i * @param number i
* @param {flatbuffers.ByteBuffer} bb * @param flatbuffers.ByteBuffer bb
* @returns {StructInNestedNS} * @returns StructInNestedNS
*/ */
__init(i:number, bb:flatbuffers.ByteBuffer):StructInNestedNS { __init(i:number, bb:flatbuffers.ByteBuffer):StructInNestedNS {
this.bb_pos = i; this.bb_pos = i;
@@ -119,15 +107,15 @@ __init(i:number, bb:flatbuffers.ByteBuffer):StructInNestedNS {
}; };
/** /**
* @returns {number} * @returns number
*/ */
a():number { a():number {
return this.bb!.readInt32(this.bb_pos); return this.bb!.readInt32(this.bb_pos);
}; };
/** /**
* @param {number} value * @param number value
* @returns {boolean} * @returns boolean
*/ */
mutate_a(value:number):boolean { mutate_a(value:number):boolean {
var offset = this.bb!.__offset(this.bb_pos, 0); var offset = this.bb!.__offset(this.bb_pos, 0);
@@ -141,15 +129,15 @@ mutate_a(value:number):boolean {
}; };
/** /**
* @returns {number} * @returns number
*/ */
b():number { b():number {
return this.bb!.readInt32(this.bb_pos + 4); return this.bb!.readInt32(this.bb_pos + 4);
}; };
/** /**
* @param {number} value * @param number value
* @returns {boolean} * @returns boolean
*/ */
mutate_b(value:number):boolean { mutate_b(value:number):boolean {
var offset = this.bb!.__offset(this.bb_pos, 4); var offset = this.bb!.__offset(this.bb_pos, 4);
@@ -163,10 +151,10 @@ mutate_b(value:number):boolean {
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @param {number} a * @param number a
* @param {number} b * @param number b
* @returns {flatbuffers.Offset} * @returns flatbuffers.Offset
*/ */
static createStructInNestedNS(builder:flatbuffers.Builder, a: number, b: number):flatbuffers.Offset { static createStructInNestedNS(builder:flatbuffers.Builder, a: number, b: number):flatbuffers.Offset {
builder.prep(4, 8); builder.prep(4, 8);

View File

@@ -1,24 +1,18 @@
// automatically generated by the FlatBuffers compiler, do not modify // automatically generated by the FlatBuffers compiler, do not modify
import * as NS11563891686210618450 from "./namespace_test1_generated"; import * as NS4989953370203581498 from "./namespace_test1_generated";
/** /**
* @constructor * @constructor
*/ */
export namespace NamespaceA{ export namespace NamespaceA{
export class TableInFirstNS { export class TableInFirstNS {
/**
* @type {flatbuffers.ByteBuffer}
*/
bb: flatbuffers.ByteBuffer|null = null; bb: flatbuffers.ByteBuffer|null = null;
/**
* @type {number}
*/
bb_pos:number = 0; bb_pos:number = 0;
/** /**
* @param {number} i * @param number i
* @param {flatbuffers.ByteBuffer} bb * @param flatbuffers.ByteBuffer bb
* @returns {TableInFirstNS} * @returns TableInFirstNS
*/ */
__init(i:number, bb:flatbuffers.ByteBuffer):TableInFirstNS { __init(i:number, bb:flatbuffers.ByteBuffer):TableInFirstNS {
this.bb_pos = i; this.bb_pos = i;
@@ -27,36 +21,36 @@ __init(i:number, bb:flatbuffers.ByteBuffer):TableInFirstNS {
}; };
/** /**
* @param {flatbuffers.ByteBuffer} bb * @param flatbuffers.ByteBuffer bb
* @param {TableInFirstNS=} obj * @param TableInFirstNS= obj
* @returns {TableInFirstNS} * @returns TableInFirstNS
*/ */
static getRootAsTableInFirstNS(bb:flatbuffers.ByteBuffer, obj?:TableInFirstNS):TableInFirstNS { static getRootAsTableInFirstNS(bb:flatbuffers.ByteBuffer, obj?:TableInFirstNS):TableInFirstNS {
return (obj || new TableInFirstNS).__init(bb.readInt32(bb.position()) + bb.position(), bb); return (obj || new TableInFirstNS).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}; };
/** /**
* @param {NamespaceA.NamespaceB.TableInNestedNS=} obj * @param NamespaceA.NamespaceB.TableInNestedNS= obj
* @returns {NamespaceA.NamespaceB.TableInNestedNS|null} * @returns NamespaceA.NamespaceB.TableInNestedNS|null
*/ */
fooTable(obj?:NS11563891686210618450.NamespaceA.NamespaceB.TableInNestedNS):NS11563891686210618450.NamespaceA.NamespaceB.TableInNestedNS|null { fooTable(obj?:NS4989953370203581498.NamespaceA.NamespaceB.TableInNestedNS):NS4989953370203581498.NamespaceA.NamespaceB.TableInNestedNS|null {
var offset = this.bb!.__offset(this.bb_pos, 4); var offset = this.bb!.__offset(this.bb_pos, 4);
return offset ? (obj || new NS11563891686210618450.NamespaceA.NamespaceB.TableInNestedNS).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null; return offset ? (obj || new NS4989953370203581498.NamespaceA.NamespaceB.TableInNestedNS).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;
}; };
/** /**
* @returns {NamespaceA.NamespaceB.EnumInNestedNS} * @returns NamespaceA.NamespaceB.EnumInNestedNS
*/ */
fooEnum():NS11563891686210618450.NamespaceA.NamespaceB.EnumInNestedNS { fooEnum():NS4989953370203581498.NamespaceA.NamespaceB.EnumInNestedNS {
var offset = this.bb!.__offset(this.bb_pos, 6); var offset = this.bb!.__offset(this.bb_pos, 6);
return offset ? /** @type {NamespaceA.NamespaceB.EnumInNestedNS} */ (this.bb!.readInt8(this.bb_pos + offset)) : NS11563891686210618450.NamespaceA.NamespaceB.EnumInNestedNS.A; return offset ? /** */ (this.bb!.readInt8(this.bb_pos + offset)) : NS4989953370203581498.NamespaceA.NamespaceB.EnumInNestedNS.A;
}; };
/** /**
* @param {NamespaceA.NamespaceB.EnumInNestedNS} value * @param NamespaceA.NamespaceB.EnumInNestedNS value
* @returns {boolean} * @returns boolean
*/ */
mutate_foo_enum(value:NS11563891686210618450.NamespaceA.NamespaceB.EnumInNestedNS):boolean { mutate_foo_enum(value:NS4989953370203581498.NamespaceA.NamespaceB.EnumInNestedNS):boolean {
var offset = this.bb!.__offset(this.bb_pos, 6); var offset = this.bb!.__offset(this.bb_pos, 6);
if (offset === 0) { if (offset === 0) {
@@ -68,48 +62,48 @@ mutate_foo_enum(value:NS11563891686210618450.NamespaceA.NamespaceB.EnumInNestedN
}; };
/** /**
* @param {NamespaceA.NamespaceB.StructInNestedNS=} obj * @param NamespaceA.NamespaceB.StructInNestedNS= obj
* @returns {NamespaceA.NamespaceB.StructInNestedNS|null} * @returns NamespaceA.NamespaceB.StructInNestedNS|null
*/ */
fooStruct(obj?:NS11563891686210618450.NamespaceA.NamespaceB.StructInNestedNS):NS11563891686210618450.NamespaceA.NamespaceB.StructInNestedNS|null { fooStruct(obj?:NS4989953370203581498.NamespaceA.NamespaceB.StructInNestedNS):NS4989953370203581498.NamespaceA.NamespaceB.StructInNestedNS|null {
var offset = this.bb!.__offset(this.bb_pos, 8); var offset = this.bb!.__offset(this.bb_pos, 8);
return offset ? (obj || new NS11563891686210618450.NamespaceA.NamespaceB.StructInNestedNS).__init(this.bb_pos + offset, this.bb!) : null; return offset ? (obj || new NS4989953370203581498.NamespaceA.NamespaceB.StructInNestedNS).__init(this.bb_pos + offset, this.bb!) : null;
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
*/ */
static startTableInFirstNS(builder:flatbuffers.Builder) { static startTableInFirstNS(builder:flatbuffers.Builder) {
builder.startObject(3); builder.startObject(3);
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @param {flatbuffers.Offset} fooTableOffset * @param flatbuffers.Offset fooTableOffset
*/ */
static addFooTable(builder:flatbuffers.Builder, fooTableOffset:flatbuffers.Offset) { static addFooTable(builder:flatbuffers.Builder, fooTableOffset:flatbuffers.Offset) {
builder.addFieldOffset(0, fooTableOffset, 0); builder.addFieldOffset(0, fooTableOffset, 0);
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @param {NamespaceA.NamespaceB.EnumInNestedNS} fooEnum * @param NamespaceA.NamespaceB.EnumInNestedNS fooEnum
*/ */
static addFooEnum(builder:flatbuffers.Builder, fooEnum:NS11563891686210618450.NamespaceA.NamespaceB.EnumInNestedNS) { static addFooEnum(builder:flatbuffers.Builder, fooEnum:NS4989953370203581498.NamespaceA.NamespaceB.EnumInNestedNS) {
builder.addFieldInt8(1, fooEnum, NS11563891686210618450.NamespaceA.NamespaceB.EnumInNestedNS.A); builder.addFieldInt8(1, fooEnum, NS4989953370203581498.NamespaceA.NamespaceB.EnumInNestedNS.A);
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @param {flatbuffers.Offset} fooStructOffset * @param flatbuffers.Offset fooStructOffset
*/ */
static addFooStruct(builder:flatbuffers.Builder, fooStructOffset:flatbuffers.Offset) { static addFooStruct(builder:flatbuffers.Builder, fooStructOffset:flatbuffers.Offset) {
builder.addFieldStruct(2, fooStructOffset, 0); builder.addFieldStruct(2, fooStructOffset, 0);
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @returns {flatbuffers.Offset} * @returns flatbuffers.Offset
*/ */
static endTableInFirstNS(builder:flatbuffers.Builder):flatbuffers.Offset { static endTableInFirstNS(builder:flatbuffers.Builder):flatbuffers.Offset {
var offset = builder.endObject(); var offset = builder.endObject();
@@ -123,19 +117,13 @@ static endTableInFirstNS(builder:flatbuffers.Builder):flatbuffers.Offset {
*/ */
export namespace NamespaceC{ export namespace NamespaceC{
export class TableInC { export class TableInC {
/**
* @type {flatbuffers.ByteBuffer}
*/
bb: flatbuffers.ByteBuffer|null = null; bb: flatbuffers.ByteBuffer|null = null;
/**
* @type {number}
*/
bb_pos:number = 0; bb_pos:number = 0;
/** /**
* @param {number} i * @param number i
* @param {flatbuffers.ByteBuffer} bb * @param flatbuffers.ByteBuffer bb
* @returns {TableInC} * @returns TableInC
*/ */
__init(i:number, bb:flatbuffers.ByteBuffer):TableInC { __init(i:number, bb:flatbuffers.ByteBuffer):TableInC {
this.bb_pos = i; this.bb_pos = i;
@@ -144,17 +132,17 @@ __init(i:number, bb:flatbuffers.ByteBuffer):TableInC {
}; };
/** /**
* @param {flatbuffers.ByteBuffer} bb * @param flatbuffers.ByteBuffer bb
* @param {TableInC=} obj * @param TableInC= obj
* @returns {TableInC} * @returns TableInC
*/ */
static getRootAsTableInC(bb:flatbuffers.ByteBuffer, obj?:TableInC):TableInC { static getRootAsTableInC(bb:flatbuffers.ByteBuffer, obj?:TableInC):TableInC {
return (obj || new TableInC).__init(bb.readInt32(bb.position()) + bb.position(), bb); return (obj || new TableInC).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}; };
/** /**
* @param {NamespaceA.TableInFirstNS=} obj * @param NamespaceA.TableInFirstNS= obj
* @returns {NamespaceA.TableInFirstNS|null} * @returns NamespaceA.TableInFirstNS|null
*/ */
referToA1(obj?:NamespaceA.TableInFirstNS):NamespaceA.TableInFirstNS|null { referToA1(obj?:NamespaceA.TableInFirstNS):NamespaceA.TableInFirstNS|null {
var offset = this.bb!.__offset(this.bb_pos, 4); var offset = this.bb!.__offset(this.bb_pos, 4);
@@ -162,8 +150,8 @@ referToA1(obj?:NamespaceA.TableInFirstNS):NamespaceA.TableInFirstNS|null {
}; };
/** /**
* @param {NamespaceA.SecondTableInA=} obj * @param NamespaceA.SecondTableInA= obj
* @returns {NamespaceA.SecondTableInA|null} * @returns NamespaceA.SecondTableInA|null
*/ */
referToA2(obj?:NamespaceA.SecondTableInA):NamespaceA.SecondTableInA|null { referToA2(obj?:NamespaceA.SecondTableInA):NamespaceA.SecondTableInA|null {
var offset = this.bb!.__offset(this.bb_pos, 6); var offset = this.bb!.__offset(this.bb_pos, 6);
@@ -171,31 +159,31 @@ referToA2(obj?:NamespaceA.SecondTableInA):NamespaceA.SecondTableInA|null {
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
*/ */
static startTableInC(builder:flatbuffers.Builder) { static startTableInC(builder:flatbuffers.Builder) {
builder.startObject(2); builder.startObject(2);
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @param {flatbuffers.Offset} referToA1Offset * @param flatbuffers.Offset referToA1Offset
*/ */
static addReferToA1(builder:flatbuffers.Builder, referToA1Offset:flatbuffers.Offset) { static addReferToA1(builder:flatbuffers.Builder, referToA1Offset:flatbuffers.Offset) {
builder.addFieldOffset(0, referToA1Offset, 0); builder.addFieldOffset(0, referToA1Offset, 0);
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @param {flatbuffers.Offset} referToA2Offset * @param flatbuffers.Offset referToA2Offset
*/ */
static addReferToA2(builder:flatbuffers.Builder, referToA2Offset:flatbuffers.Offset) { static addReferToA2(builder:flatbuffers.Builder, referToA2Offset:flatbuffers.Offset) {
builder.addFieldOffset(1, referToA2Offset, 0); builder.addFieldOffset(1, referToA2Offset, 0);
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @returns {flatbuffers.Offset} * @returns flatbuffers.Offset
*/ */
static endTableInC(builder:flatbuffers.Builder):flatbuffers.Offset { static endTableInC(builder:flatbuffers.Builder):flatbuffers.Offset {
var offset = builder.endObject(); var offset = builder.endObject();
@@ -209,19 +197,13 @@ static endTableInC(builder:flatbuffers.Builder):flatbuffers.Offset {
*/ */
export namespace NamespaceA{ export namespace NamespaceA{
export class SecondTableInA { export class SecondTableInA {
/**
* @type {flatbuffers.ByteBuffer}
*/
bb: flatbuffers.ByteBuffer|null = null; bb: flatbuffers.ByteBuffer|null = null;
/**
* @type {number}
*/
bb_pos:number = 0; bb_pos:number = 0;
/** /**
* @param {number} i * @param number i
* @param {flatbuffers.ByteBuffer} bb * @param flatbuffers.ByteBuffer bb
* @returns {SecondTableInA} * @returns SecondTableInA
*/ */
__init(i:number, bb:flatbuffers.ByteBuffer):SecondTableInA { __init(i:number, bb:flatbuffers.ByteBuffer):SecondTableInA {
this.bb_pos = i; this.bb_pos = i;
@@ -230,17 +212,17 @@ __init(i:number, bb:flatbuffers.ByteBuffer):SecondTableInA {
}; };
/** /**
* @param {flatbuffers.ByteBuffer} bb * @param flatbuffers.ByteBuffer bb
* @param {SecondTableInA=} obj * @param SecondTableInA= obj
* @returns {SecondTableInA} * @returns SecondTableInA
*/ */
static getRootAsSecondTableInA(bb:flatbuffers.ByteBuffer, obj?:SecondTableInA):SecondTableInA { static getRootAsSecondTableInA(bb:flatbuffers.ByteBuffer, obj?:SecondTableInA):SecondTableInA {
return (obj || new SecondTableInA).__init(bb.readInt32(bb.position()) + bb.position(), bb); return (obj || new SecondTableInA).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}; };
/** /**
* @param {NamespaceC.TableInC=} obj * @param NamespaceC.TableInC= obj
* @returns {NamespaceC.TableInC|null} * @returns NamespaceC.TableInC|null
*/ */
referToC(obj?:NamespaceC.TableInC):NamespaceC.TableInC|null { referToC(obj?:NamespaceC.TableInC):NamespaceC.TableInC|null {
var offset = this.bb!.__offset(this.bb_pos, 4); var offset = this.bb!.__offset(this.bb_pos, 4);
@@ -248,23 +230,23 @@ referToC(obj?:NamespaceC.TableInC):NamespaceC.TableInC|null {
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
*/ */
static startSecondTableInA(builder:flatbuffers.Builder) { static startSecondTableInA(builder:flatbuffers.Builder) {
builder.startObject(1); builder.startObject(1);
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @param {flatbuffers.Offset} referToCOffset * @param flatbuffers.Offset referToCOffset
*/ */
static addReferToC(builder:flatbuffers.Builder, referToCOffset:flatbuffers.Offset) { static addReferToC(builder:flatbuffers.Builder, referToCOffset:flatbuffers.Offset) {
builder.addFieldOffset(0, referToCOffset, 0); builder.addFieldOffset(0, referToCOffset, 0);
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @returns {flatbuffers.Offset} * @returns flatbuffers.Offset
*/ */
static endSecondTableInA(builder:flatbuffers.Builder):flatbuffers.Offset { static endSecondTableInA(builder:flatbuffers.Builder):flatbuffers.Offset {
var offset = builder.endObject(); var offset = builder.endObject();

View File

@@ -17,19 +17,13 @@ export enum Character{
* @constructor * @constructor
*/ */
export class Attacker { export class Attacker {
/**
* @type {flatbuffers.ByteBuffer}
*/
bb: flatbuffers.ByteBuffer|null = null; bb: flatbuffers.ByteBuffer|null = null;
/**
* @type {number}
*/
bb_pos:number = 0; bb_pos:number = 0;
/** /**
* @param {number} i * @param number i
* @param {flatbuffers.ByteBuffer} bb * @param flatbuffers.ByteBuffer bb
* @returns {Attacker} * @returns Attacker
*/ */
__init(i:number, bb:flatbuffers.ByteBuffer):Attacker { __init(i:number, bb:flatbuffers.ByteBuffer):Attacker {
this.bb_pos = i; this.bb_pos = i;
@@ -38,16 +32,16 @@ __init(i:number, bb:flatbuffers.ByteBuffer):Attacker {
}; };
/** /**
* @param {flatbuffers.ByteBuffer} bb * @param flatbuffers.ByteBuffer bb
* @param {Attacker=} obj * @param Attacker= obj
* @returns {Attacker} * @returns Attacker
*/ */
static getRootAsAttacker(bb:flatbuffers.ByteBuffer, obj?:Attacker):Attacker { static getRootAsAttacker(bb:flatbuffers.ByteBuffer, obj?:Attacker):Attacker {
return (obj || new Attacker).__init(bb.readInt32(bb.position()) + bb.position(), bb); return (obj || new Attacker).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}; };
/** /**
* @returns {number} * @returns number
*/ */
swordAttackDamage():number { swordAttackDamage():number {
var offset = this.bb!.__offset(this.bb_pos, 4); var offset = this.bb!.__offset(this.bb_pos, 4);
@@ -55,8 +49,8 @@ swordAttackDamage():number {
}; };
/** /**
* @param {number} value * @param number value
* @returns {boolean} * @returns boolean
*/ */
mutate_sword_attack_damage(value:number):boolean { mutate_sword_attack_damage(value:number):boolean {
var offset = this.bb!.__offset(this.bb_pos, 4); var offset = this.bb!.__offset(this.bb_pos, 4);
@@ -70,23 +64,23 @@ mutate_sword_attack_damage(value:number):boolean {
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
*/ */
static startAttacker(builder:flatbuffers.Builder) { static startAttacker(builder:flatbuffers.Builder) {
builder.startObject(1); builder.startObject(1);
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @param {number} swordAttackDamage * @param number swordAttackDamage
*/ */
static addSwordAttackDamage(builder:flatbuffers.Builder, swordAttackDamage:number) { static addSwordAttackDamage(builder:flatbuffers.Builder, swordAttackDamage:number) {
builder.addFieldInt32(0, swordAttackDamage, 0); builder.addFieldInt32(0, swordAttackDamage, 0);
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @returns {flatbuffers.Offset} * @returns flatbuffers.Offset
*/ */
static endAttacker(builder:flatbuffers.Builder):flatbuffers.Offset { static endAttacker(builder:flatbuffers.Builder):flatbuffers.Offset {
var offset = builder.endObject(); var offset = builder.endObject();
@@ -98,19 +92,13 @@ static endAttacker(builder:flatbuffers.Builder):flatbuffers.Offset {
* @constructor * @constructor
*/ */
export class Rapunzel { export class Rapunzel {
/**
* @type {flatbuffers.ByteBuffer}
*/
bb: flatbuffers.ByteBuffer|null = null; bb: flatbuffers.ByteBuffer|null = null;
/**
* @type {number}
*/
bb_pos:number = 0; bb_pos:number = 0;
/** /**
* @param {number} i * @param number i
* @param {flatbuffers.ByteBuffer} bb * @param flatbuffers.ByteBuffer bb
* @returns {Rapunzel} * @returns Rapunzel
*/ */
__init(i:number, bb:flatbuffers.ByteBuffer):Rapunzel { __init(i:number, bb:flatbuffers.ByteBuffer):Rapunzel {
this.bb_pos = i; this.bb_pos = i;
@@ -119,15 +107,15 @@ __init(i:number, bb:flatbuffers.ByteBuffer):Rapunzel {
}; };
/** /**
* @returns {number} * @returns number
*/ */
hairLength():number { hairLength():number {
return this.bb!.readInt32(this.bb_pos); return this.bb!.readInt32(this.bb_pos);
}; };
/** /**
* @param {number} value * @param number value
* @returns {boolean} * @returns boolean
*/ */
mutate_hair_length(value:number):boolean { mutate_hair_length(value:number):boolean {
var offset = this.bb!.__offset(this.bb_pos, 0); var offset = this.bb!.__offset(this.bb_pos, 0);
@@ -141,9 +129,9 @@ mutate_hair_length(value:number):boolean {
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @param {number} hair_length * @param number hair_length
* @returns {flatbuffers.Offset} * @returns flatbuffers.Offset
*/ */
static createRapunzel(builder:flatbuffers.Builder, hair_length: number):flatbuffers.Offset { static createRapunzel(builder:flatbuffers.Builder, hair_length: number):flatbuffers.Offset {
builder.prep(4, 4); builder.prep(4, 4);
@@ -156,19 +144,13 @@ static createRapunzel(builder:flatbuffers.Builder, hair_length: number):flatbuff
* @constructor * @constructor
*/ */
export class BookReader { export class BookReader {
/**
* @type {flatbuffers.ByteBuffer}
*/
bb: flatbuffers.ByteBuffer|null = null; bb: flatbuffers.ByteBuffer|null = null;
/**
* @type {number}
*/
bb_pos:number = 0; bb_pos:number = 0;
/** /**
* @param {number} i * @param number i
* @param {flatbuffers.ByteBuffer} bb * @param flatbuffers.ByteBuffer bb
* @returns {BookReader} * @returns BookReader
*/ */
__init(i:number, bb:flatbuffers.ByteBuffer):BookReader { __init(i:number, bb:flatbuffers.ByteBuffer):BookReader {
this.bb_pos = i; this.bb_pos = i;
@@ -177,15 +159,15 @@ __init(i:number, bb:flatbuffers.ByteBuffer):BookReader {
}; };
/** /**
* @returns {number} * @returns number
*/ */
booksRead():number { booksRead():number {
return this.bb!.readInt32(this.bb_pos); return this.bb!.readInt32(this.bb_pos);
}; };
/** /**
* @param {number} value * @param number value
* @returns {boolean} * @returns boolean
*/ */
mutate_books_read(value:number):boolean { mutate_books_read(value:number):boolean {
var offset = this.bb!.__offset(this.bb_pos, 0); var offset = this.bb!.__offset(this.bb_pos, 0);
@@ -199,9 +181,9 @@ mutate_books_read(value:number):boolean {
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @param {number} books_read * @param number books_read
* @returns {flatbuffers.Offset} * @returns flatbuffers.Offset
*/ */
static createBookReader(builder:flatbuffers.Builder, books_read: number):flatbuffers.Offset { static createBookReader(builder:flatbuffers.Builder, books_read: number):flatbuffers.Offset {
builder.prep(4, 4); builder.prep(4, 4);
@@ -214,19 +196,13 @@ static createBookReader(builder:flatbuffers.Builder, books_read: number):flatbuf
* @constructor * @constructor
*/ */
export class Movie { export class Movie {
/**
* @type {flatbuffers.ByteBuffer}
*/
bb: flatbuffers.ByteBuffer|null = null; bb: flatbuffers.ByteBuffer|null = null;
/**
* @type {number}
*/
bb_pos:number = 0; bb_pos:number = 0;
/** /**
* @param {number} i * @param number i
* @param {flatbuffers.ByteBuffer} bb * @param flatbuffers.ByteBuffer bb
* @returns {Movie} * @returns Movie
*/ */
__init(i:number, bb:flatbuffers.ByteBuffer):Movie { __init(i:number, bb:flatbuffers.ByteBuffer):Movie {
this.bb_pos = i; this.bb_pos = i;
@@ -235,33 +211,33 @@ __init(i:number, bb:flatbuffers.ByteBuffer):Movie {
}; };
/** /**
* @param {flatbuffers.ByteBuffer} bb * @param flatbuffers.ByteBuffer bb
* @param {Movie=} obj * @param Movie= obj
* @returns {Movie} * @returns Movie
*/ */
static getRootAsMovie(bb:flatbuffers.ByteBuffer, obj?:Movie):Movie { static getRootAsMovie(bb:flatbuffers.ByteBuffer, obj?:Movie):Movie {
return (obj || new Movie).__init(bb.readInt32(bb.position()) + bb.position(), bb); return (obj || new Movie).__init(bb.readInt32(bb.position()) + bb.position(), bb);
}; };
/** /**
* @param {flatbuffers.ByteBuffer} bb * @param flatbuffers.ByteBuffer bb
* @returns {boolean} * @returns boolean
*/ */
static bufferHasIdentifier(bb:flatbuffers.ByteBuffer):boolean { static bufferHasIdentifier(bb:flatbuffers.ByteBuffer):boolean {
return bb.__has_identifier('MOVI'); return bb.__has_identifier('MOVI');
}; };
/** /**
* @returns {Character} * @returns Character
*/ */
mainCharacterType():Character { mainCharacterType():Character {
var offset = this.bb!.__offset(this.bb_pos, 4); var offset = this.bb!.__offset(this.bb_pos, 4);
return offset ? /** @type {Character} */ (this.bb!.readUint8(this.bb_pos + offset)) : Character.NONE; return offset ? /** */ (this.bb!.readUint8(this.bb_pos + offset)) : Character.NONE;
}; };
/** /**
* @param {Character} value * @param Character value
* @returns {boolean} * @returns boolean
*/ */
mutate_main_character_type(value:Character):boolean { mutate_main_character_type(value:Character):boolean {
var offset = this.bb!.__offset(this.bb_pos, 4); var offset = this.bb!.__offset(this.bb_pos, 4);
@@ -275,8 +251,8 @@ mutate_main_character_type(value:Character):boolean {
}; };
/** /**
* @param {flatbuffers.Table} obj * @param flatbuffers.Table obj
* @returns {?flatbuffers.Table} * @returns ?flatbuffers.Table
*/ */
mainCharacter<T extends flatbuffers.Table>(obj:T):T|null { mainCharacter<T extends flatbuffers.Table>(obj:T):T|null {
var offset = this.bb!.__offset(this.bb_pos, 6); var offset = this.bb!.__offset(this.bb_pos, 6);
@@ -284,16 +260,16 @@ mainCharacter<T extends flatbuffers.Table>(obj:T):T|null {
}; };
/** /**
* @param {number} index * @param number index
* @returns {Character} * @returns Character
*/ */
charactersType(index: number):Character|null { charactersType(index: number):Character|null {
var offset = this.bb!.__offset(this.bb_pos, 8); var offset = this.bb!.__offset(this.bb_pos, 8);
return offset ? /** @type {Character} */ (this.bb!.readUint8(this.bb!.__vector(this.bb_pos + offset) + index)) : /** @type {Character} */ (0); return offset ? /** */ (this.bb!.readUint8(this.bb!.__vector(this.bb_pos + offset) + index)) : /** */ (0);
}; };
/** /**
* @returns {number} * @returns number
*/ */
charactersTypeLength():number { charactersTypeLength():number {
var offset = this.bb!.__offset(this.bb_pos, 8); var offset = this.bb!.__offset(this.bb_pos, 8);
@@ -301,7 +277,7 @@ charactersTypeLength():number {
}; };
/** /**
* @returns {Uint8Array} * @returns Uint8Array
*/ */
charactersTypeArray():Uint8Array|null { charactersTypeArray():Uint8Array|null {
var offset = this.bb!.__offset(this.bb_pos, 8); var offset = this.bb!.__offset(this.bb_pos, 8);
@@ -309,9 +285,9 @@ charactersTypeArray():Uint8Array|null {
}; };
/** /**
* @param {number} index * @param number index
* @param {flatbuffers.Table=} obj * @param flatbuffers.Table= obj
* @returns {?flatbuffers.Table} * @returns ?flatbuffers.Table
*/ */
characters<T extends flatbuffers.Table>(index: number, obj:T):T|null { characters<T extends flatbuffers.Table>(index: number, obj:T):T|null {
var offset = this.bb!.__offset(this.bb_pos, 10); var offset = this.bb!.__offset(this.bb_pos, 10);
@@ -319,7 +295,7 @@ characters<T extends flatbuffers.Table>(index: number, obj:T):T|null {
}; };
/** /**
* @returns {number} * @returns number
*/ */
charactersLength():number { charactersLength():number {
var offset = this.bb!.__offset(this.bb_pos, 10); var offset = this.bb!.__offset(this.bb_pos, 10);
@@ -327,40 +303,40 @@ charactersLength():number {
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
*/ */
static startMovie(builder:flatbuffers.Builder) { static startMovie(builder:flatbuffers.Builder) {
builder.startObject(4); builder.startObject(4);
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @param {Character} mainCharacterType * @param Character mainCharacterType
*/ */
static addMainCharacterType(builder:flatbuffers.Builder, mainCharacterType:Character) { static addMainCharacterType(builder:flatbuffers.Builder, mainCharacterType:Character) {
builder.addFieldInt8(0, mainCharacterType, Character.NONE); builder.addFieldInt8(0, mainCharacterType, Character.NONE);
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @param {flatbuffers.Offset} mainCharacterOffset * @param flatbuffers.Offset mainCharacterOffset
*/ */
static addMainCharacter(builder:flatbuffers.Builder, mainCharacterOffset:flatbuffers.Offset) { static addMainCharacter(builder:flatbuffers.Builder, mainCharacterOffset:flatbuffers.Offset) {
builder.addFieldOffset(1, mainCharacterOffset, 0); builder.addFieldOffset(1, mainCharacterOffset, 0);
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @param {flatbuffers.Offset} charactersTypeOffset * @param flatbuffers.Offset charactersTypeOffset
*/ */
static addCharactersType(builder:flatbuffers.Builder, charactersTypeOffset:flatbuffers.Offset) { static addCharactersType(builder:flatbuffers.Builder, charactersTypeOffset:flatbuffers.Offset) {
builder.addFieldOffset(2, charactersTypeOffset, 0); builder.addFieldOffset(2, charactersTypeOffset, 0);
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @param {Array.<Character>} data * @param Array.<Character> data
* @returns {flatbuffers.Offset} * @returns flatbuffers.Offset
*/ */
static createCharactersTypeVector(builder:flatbuffers.Builder, data:Character[]):flatbuffers.Offset { static createCharactersTypeVector(builder:flatbuffers.Builder, data:Character[]):flatbuffers.Offset {
builder.startVector(1, data.length, 1); builder.startVector(1, data.length, 1);
@@ -371,25 +347,25 @@ static createCharactersTypeVector(builder:flatbuffers.Builder, data:Character[])
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @param {number} numElems * @param number numElems
*/ */
static startCharactersTypeVector(builder:flatbuffers.Builder, numElems:number) { static startCharactersTypeVector(builder:flatbuffers.Builder, numElems:number) {
builder.startVector(1, numElems, 1); builder.startVector(1, numElems, 1);
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @param {flatbuffers.Offset} charactersOffset * @param flatbuffers.Offset charactersOffset
*/ */
static addCharacters(builder:flatbuffers.Builder, charactersOffset:flatbuffers.Offset) { static addCharacters(builder:flatbuffers.Builder, charactersOffset:flatbuffers.Offset) {
builder.addFieldOffset(3, charactersOffset, 0); builder.addFieldOffset(3, charactersOffset, 0);
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @param {Array.<flatbuffers.Offset>} data * @param Array.<flatbuffers.Offset> data
* @returns {flatbuffers.Offset} * @returns flatbuffers.Offset
*/ */
static createCharactersVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset { static createCharactersVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {
builder.startVector(4, data.length, 4); builder.startVector(4, data.length, 4);
@@ -400,16 +376,16 @@ static createCharactersVector(builder:flatbuffers.Builder, data:flatbuffers.Offs
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @param {number} numElems * @param number numElems
*/ */
static startCharactersVector(builder:flatbuffers.Builder, numElems:number) { static startCharactersVector(builder:flatbuffers.Builder, numElems:number) {
builder.startVector(4, numElems, 4); builder.startVector(4, numElems, 4);
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @returns {flatbuffers.Offset} * @returns flatbuffers.Offset
*/ */
static endMovie(builder:flatbuffers.Builder):flatbuffers.Offset { static endMovie(builder:flatbuffers.Builder):flatbuffers.Offset {
var offset = builder.endObject(); var offset = builder.endObject();
@@ -417,8 +393,8 @@ static endMovie(builder:flatbuffers.Builder):flatbuffers.Offset {
}; };
/** /**
* @param {flatbuffers.Builder} builder * @param flatbuffers.Builder builder
* @param {flatbuffers.Offset} offset * @param flatbuffers.Offset offset
*/ */
static finishMovieBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) { static finishMovieBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) {
builder.finish(offset, 'MOVI'); builder.finish(offset, 'MOVI');