Escape characters in jsonschema descriptions (#5644)

* Escape JSON Schema comments

* Add quotes to monster comment

Thus exercising the JSON Schema comment escape support.
This commit is contained in:
Marc Butler
2020-03-13 06:10:30 +11:00
committed by GitHub
parent 45a2b07cbd
commit 0e3fdd0eea
19 changed files with 25 additions and 20 deletions

View File

@@ -155,7 +155,12 @@ class JsonSchemaGenerator : public BaseGenerator {
comment.append(*comment_line);
}
if (comment.size() > 0) {
code_ += " \"description\" : \"" + comment + "\",";
std::string description;
if (!EscapeString(comment.c_str(), comment.length(), &description, true,
true)) {
return false;
}
code_ += " \"description\" : " + description + ",";
}
code_ += " \"properties\" : {";

View File

@@ -9,7 +9,7 @@ using global::System;
using global::System.Collections.Generic;
using global::FlatBuffers;
/// an example documentation comment: monster object
/// an example documentation comment: "monster object"
public struct Monster : IFlatbufferObject
{
private Table __p;

View File

@@ -8,7 +8,7 @@ import (
MyGame "MyGame"
)
/// an example documentation comment: monster object
/// an example documentation comment: "monster object"
type MonsterT struct {
Pos *Vec3T
Mana int16

View File

@@ -9,7 +9,7 @@ import com.google.flatbuffers.*;
@SuppressWarnings("unused")
/**
* an example documentation comment: monster object
* an example documentation comment: "monster object"
*/
public final class Monster extends Table {
public static void ValidateVersion() { Constants.FLATBUFFERS_1_11_1(); }

View File

@@ -7,7 +7,7 @@ import kotlin.math.sign
import com.google.flatbuffers.*
/**
* an example documentation comment: monster object
* an example documentation comment: "monster object"
*/
@Suppress("unused")
@ExperimentalUnsignedTypes

View File

@@ -4,7 +4,7 @@
local flatbuffers = require('flatbuffers')
-- an example documentation comment: monster object
-- an example documentation comment: "monster object"
local Monster = {} -- the module
local Monster_mt = {} -- the class metatable

View File

@@ -8,7 +8,7 @@ use \Google\FlatBuffers\Table;
use \Google\FlatBuffers\ByteBuffer;
use \Google\FlatBuffers\FlatBufferBuilder;
/// an example documentation comment: monster object
/// an example documentation comment: "monster object"
class Monster extends Table
{
/**

View File

@@ -6,7 +6,7 @@ import flatbuffers
from flatbuffers.compat import import_numpy
np = import_numpy()
# an example documentation comment: monster object
# an example documentation comment: "monster object"
class Monster(object):
__slots__ = ['_tab']

View File

@@ -1043,7 +1043,7 @@ struct MonsterT : public flatbuffers::NativeTable {
}
};
/// an example documentation comment: monster object
/// an example documentation comment: "monster object"
struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef MonsterT NativeTableType;
typedef MonsterBuilder Builder;

Binary file not shown.

View File

@@ -66,7 +66,7 @@ table Referrable {
id:ulong(key, hash:"fnv1a_64");
}
/// an example documentation comment: monster object
/// an example documentation comment: "monster object"
table Monster {
pos:Vec3 (id: 0);
hp:short = 100 (id: 2);

View File

@@ -147,7 +147,7 @@
},
"MyGame_Example_Monster" : {
"type" : "object",
"description" : " an example documentation comment: monster object",
"description" : " an example documentation comment: \"monster object\"",
"properties" : {
"pos" : {
"$ref" : "#/definitions/MyGame_Example_Vec3"

View File

@@ -167,10 +167,10 @@ struct MonsterBinarySchema {
0x02,0x00,0x00,0x00,0x75,0x38,0x00,0x00,0x5E,0xDD,0xFF,0xFF,0x00,0x00,0x04,0x00,0x18,0x00,0x00,0x00,
0x0C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9A,0xDC,0xFF,0xFF,0x00,0x00,0x00,0x03,
0x02,0x00,0x00,0x00,0x69,0x38,0x00,0x00,0xDA,0xDD,0xFF,0xFF,0x18,0x01,0x00,0x00,0x4C,0x00,0x00,0x00,
0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x31,0x00,0x00,0x00,
0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x33,0x00,0x00,0x00,
0x20,0x61,0x6E,0x20,0x65,0x78,0x61,0x6D,0x70,0x6C,0x65,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,
0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6D,0x6D,0x65,0x6E,0x74,0x3A,0x20,0x6D,0x6F,0x6E,0x73,0x74,
0x65,0x72,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x00,0x00,0x00,0x31,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,
0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6D,0x6D,0x65,0x6E,0x74,0x3A,0x20,0x22,0x6D,0x6F,0x6E,0x73,
0x74,0x65,0x72,0x20,0x6F,0x62,0x6A,0x65,0x63,0x74,0x22,0x00,0x31,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,
0x1C,0x02,0x00,0x00,0x7C,0x02,0x00,0x00,0xD4,0x02,0x00,0x00,0xB0,0x06,0x00,0x00,0x90,0x17,0x00,0x00,
0xEC,0x14,0x00,0x00,0x04,0x0C,0x00,0x00,0x78,0x18,0x00,0x00,0xD8,0x19,0x00,0x00,0xF8,0x17,0x00,0x00,
0x48,0x1A,0x00,0x00,0x2C,0x19,0x00,0x00,0x34,0x04,0x00,0x00,0x6C,0x0A,0x00,0x00,0xB0,0x1A,0x00,0x00,

View File

@@ -1269,7 +1269,7 @@ inline bool operator!=(const MonsterT &lhs, const MonsterT &rhs) {
}
/// an example documentation comment: monster object
/// an example documentation comment: "monster object"
struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef MonsterT NativeTableType;
typedef MonsterBuilder Builder;

View File

@@ -985,7 +985,7 @@ MyGame.Example.Referrable.createReferrable = function(builder, id) {
}
/**
* an example documentation comment: monster object
* an example documentation comment: "monster object"
*
* @constructor
*/

View File

@@ -208,7 +208,7 @@ struct ReferrableBuilder:
def end():
return b_.EndObject()
/// an example documentation comment: monster object
/// an example documentation comment: "monster object"
class Monster : flatbuffers_handle
def pos():
let o = buf_.flatbuffers_field_struct(pos_, 4)

View File

@@ -1028,7 +1028,7 @@ impl<'a: 'b, 'b> ReferrableBuilder<'a, 'b> {
pub enum MonsterOffset {}
#[derive(Copy, Clone, Debug, PartialEq)]
/// an example documentation comment: monster object
/// an example documentation comment: "monster object"
pub struct Monster<'a> {
pub _tab: flatbuffers::Table<'a>,
}

View File

@@ -838,7 +838,7 @@ static createReferrable(builder:flatbuffers.Builder, id:flatbuffers.Long):flatbu
}
}
/**
* an example documentation comment: monster object
* an example documentation comment: "monster object"
*
* @constructor
*/

View File

@@ -717,7 +717,7 @@ class ReferrableObjectBuilder extends fb.ObjectBuilder {
return fbBuilder.finish(offset, fileIdentifier);
}
}
/// an example documentation comment: monster object
/// an example documentation comment: "monster object"
class Monster {
Monster._(this._bc, this._bcOffset);
factory Monster(List<int> bytes) {