Fixing codegen syntax errors

This commit is contained in:
Pavel Shevaev 2022-12-09 11:22:17 +03:00
parent 892158b2e0
commit 130fc2a533
2 changed files with 15 additions and 17 deletions

View File

@ -88,11 +88,11 @@ function _add_twig_support(\Twig\Environment $twig)
}
));
$twig->addFunction(new \Twig\TwigFunction('count_optional',
function($units)
function($os)
{
$opts = 0;
foreach($units as $u)
if($u->hasToken('optional'))
foreach($os as $o)
if($o->hasToken('optional'))
++$opts;
return $opts;
}

View File

@ -23,7 +23,6 @@ type {{o.name}} struct {
{% if o.parent %}
{{o.parent.name}}
{% endif %}
{{_self.decl_struct_fields(o)}}
}
@ -120,46 +119,45 @@ func (self *{{o.name}}) WriteFields(writer meta.Writer) error {
{% endmacro %}
{% macro props_map(tokens) %}
{%- macro props_map(tokens) -%}
map[string]string{
{%- for k,v in tokens -%}
"{{k}}" : "{{v|replace({'"' : '\\"'})}}",
{%- endfor -%}
}
{% endmacro %}
{%- endmacro -%}
{% macro struct_fields_names(o) %}
{%- macro struct_fields_names(o) -%}
[]string{
{%- for f in get_all_fields(o) -%}
"{{f.name}}",
{%- endfor -%}
}
{% endmacro %}
{%- endmacro -%}
{% macro struct_fields_props(o) %}
{%- macro struct_fields_props(o) -%}
map[string]map[string]string{
{%- for f in get_all_fields(o) -%}
"{{f.name|ucfirst}}" : {{_self.props_map(f.tokens)}},
{%- endfor -%}
}
{% endmacro %}
{%- endmacro -%}
{% macro decl_struct_fields(o) %}
{%- macro decl_struct_fields(o) -%}
{%- for f in o.fields ~%}
{{f.name|ucfirst}} {{f.type|go_type(f.tokens)}} {{_self.field_annotations(o, f)}}
{%- endfor ~%}
{%if has_token(o, 'bitfields') %}
fieldsMask meta.FieldsMask //@bitfields support
{%- endif ~%}
{% endmacro %}
{%- endmacro -%}
{% macro field_annotations(o, f) %}
{%- macro field_annotations(o, f) -%}
{%- if f.name|first != '_' -%}
`json:"{{f.name}}" {% if has_token(o, 'table') -%} db:"{{f.name}}"{%- endif -%}`
{%- endif -%}
{% endmacro %}
{%- endmacro -%}
{% macro struct_reset_fields(o) %}
@ -171,7 +169,7 @@ fieldsMask meta.FieldsMask //@bitfields support
{{field_reset(f.name|ucfirst, f.type, f.tokens)}}
{%- endfor ~%}
{%if has_token(o, 'bitfields') %}
{% if has_token(o, 'bitfields') ~%}
self.fieldsMask = meta.FieldsMask{}
{%- endif ~%}
@ -179,7 +177,7 @@ self.fieldsMask = meta.FieldsMask{}
{% macro struct_read_fields(o) %}
{%if has_token(o, 'bitfields') %}
{%- if has_token(o, 'bitfields') ~%}
use_mask, mask, err := reader.TryReadMask()
if err != nil {
return err