fix parser string=null (#6810)

Co-authored-by: Casper Neo <cneo@google.com>
This commit is contained in:
Casper 2021-08-24 09:41:39 -04:00 committed by GitHub
parent f89e0b1a6c
commit 4b9123baff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 2 deletions

View File

@ -812,8 +812,7 @@ CheckedError Parser::ParseField(StructDef &struct_def) {
"or in structs.");
if (IsString(type) || IsVector(type)) {
advanced_features_ |= reflection::DefaultVectorsAndStrings;
if (field->value.constant != "0" && field->value.constant != "null" &&
!SupportsDefaultVectorsAndStrings()) {
if (field->value.constant != "0" && !SupportsDefaultVectorsAndStrings()) {
return Error(
"Default values for strings and vectors are not supported in one "
"of the specified programming languages");

View File

@ -3883,6 +3883,7 @@ void StringVectorDefaultsTest() {
schemas.push_back("table Monster { mana: string = \"\"; }");
schemas.push_back("table Monster { mana: string = \"mystr\"; }");
schemas.push_back("table Monster { mana: string = \" \"; }");
schemas.push_back("table Monster { mana: string = \"null\"; }");
schemas.push_back("table Monster { mana: [int] = []; }");
schemas.push_back("table Monster { mana: [uint] = [ ]; }");
schemas.push_back("table Monster { mana: [byte] = [\t\t\n]; }");