|
|
@ -158,11 +158,17 @@ static void txtenc_string(txtenc* e, upb_StringView str, bool bytes) { |
|
|
|
static void txtenc_field(txtenc* e, upb_MessageValue val, |
|
|
|
static void txtenc_field(txtenc* e, upb_MessageValue val, |
|
|
|
const upb_FieldDef* f) { |
|
|
|
const upb_FieldDef* f) { |
|
|
|
txtenc_indent(e); |
|
|
|
txtenc_indent(e); |
|
|
|
upb_CType type = upb_FieldDef_CType(f); |
|
|
|
const upb_CType type = upb_FieldDef_CType(f); |
|
|
|
|
|
|
|
const bool is_ext = upb_FieldDef_IsExtension(f); |
|
|
|
|
|
|
|
const char* full = upb_FieldDef_FullName(f); |
|
|
|
const char* name = upb_FieldDef_Name(f); |
|
|
|
const char* name = upb_FieldDef_Name(f); |
|
|
|
|
|
|
|
|
|
|
|
if (type == kUpb_CType_Message) { |
|
|
|
if (type == kUpb_CType_Message) { |
|
|
|
txtenc_printf(e, "%s {", name); |
|
|
|
if (is_ext) { |
|
|
|
|
|
|
|
txtenc_printf(e, "[%s] {", full); |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
txtenc_printf(e, "%s {", name); |
|
|
|
|
|
|
|
} |
|
|
|
txtenc_endfield(e); |
|
|
|
txtenc_endfield(e); |
|
|
|
e->indent_depth++; |
|
|
|
e->indent_depth++; |
|
|
|
txtenc_msg(e, val.msg_val, upb_FieldDef_MessageSubDef(f)); |
|
|
|
txtenc_msg(e, val.msg_val, upb_FieldDef_MessageSubDef(f)); |
|
|
@ -173,7 +179,11 @@ static void txtenc_field(txtenc* e, upb_MessageValue val, |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
txtenc_printf(e, "%s: ", name); |
|
|
|
if (is_ext) { |
|
|
|
|
|
|
|
txtenc_printf(e, "[%s]: ", full); |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
txtenc_printf(e, "%s: ", name); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
switch (type) { |
|
|
|
switch (type) { |
|
|
|
case kUpb_CType_Bool: |
|
|
|
case kUpb_CType_Bool: |
|
|
|