Using newer metagen API

This commit is contained in:
Pavel Shevaev 2022-12-08 19:21:43 +03:00
parent ac8954f967
commit ed85853be4
2 changed files with 23 additions and 23 deletions

View File

@ -84,7 +84,7 @@ function _add_twig_support(\Twig\Environment $twig)
$twig->addFunction(new \Twig\TwigFunction('get_all_fields',
function($meta, $o)
{
return \mtg_get_all_fields($meta, $o);
return \mtg_get_all_fields($o);
}
));
$twig->addFunction(new \Twig\TwigFunction('count_optional',

View File

@ -1,16 +1,16 @@
{% macro decl_units(meta) %}
{%- for u in meta.getunits ~%}
{%- if u.object is instanceof('\\mtgMetaStruct') ~%}
{{ _self.decl_struct(meta, u.object) }}
{{ _self.decl_struct(u.object) }}
{%- elseif u.object is instanceof('\\mtgMetaEnum') ~%}
{{ _self.decl_enum(u.object) }}
{%- elseif u.object is instanceof('\\mtgMetaRPC') ~%}
{{ _self.decl_rpc(meta, u.object) }}
{{ _self.decl_rpc(u.object) }}
{%- endif ~%}
{%- endfor ~%}
{% endmacro %}
{% macro decl_struct(meta, o) %}
{% macro decl_struct(o) %}
{%- if o.parent and has_token(o, 'POD') -%}
{{Error("@POD structs can't have a parent: " ~ o.name)}}
{%- endif -%}
@ -28,8 +28,8 @@ type {{o.name}} struct {
}
var _{{o.name}}_class_props map[string]string = {{_self.props_map(o.tokens)}}
var _{{o.name}}_class_fields []string = {{_self.struct_fields_names(meta, o)}}
var _{{o.name}}_fields_props meta.ClassFieldsProps = {{_self.struct_fields_props(meta, o)}}
var _{{o.name}}_class_fields []string = {{_self.struct_fields_names(o)}}
var _{{o.name}}_fields_props meta.ClassFieldsProps = {{_self.struct_fields_props(o)}}
func {{o.name}}_CLASS_ID() uint32 {
return {{o.classid}}
@ -111,11 +111,11 @@ func (self *{{o.name}}) WriteFields(writer meta.Writer) error {
{% endif %}
{% if has_token(o, 'statist') %}
{{_self.stats_methods(meta, o)}}
{{_self.stats_methods(o)}}
{% endif %}
{% if has_token(o, 'POD') and has_token(o, 'id') and has_token(o, 'table') and has_token(o, 'owner') %}
{{_self.db_item_methods(meta, o)}}
{{_self.db_item_methods(o)}}
{% endif %}
{% endmacro %}
@ -128,17 +128,17 @@ map[string]string{
}
{% endmacro %}
{% macro struct_fields_names(meta, o) %}
{% macro struct_fields_names(o) %}
[]string{
{% for f in get_all_fields(meta, o) ~%}
{% for f in get_all_fields(o) ~%}
"{{f.name}}",
{%- endfor ~%}
}
{% endmacro %}
{% macro struct_fields_props(meta, o) %}
{% macro struct_fields_props(o) %}
map[string]map[string]string{
{% for f in get_all_fields(meta, o) ~%}
{% for f in get_all_fields(o) ~%}
"{{f.name|ucfirst}}" : {{_self.props_map(f.tokens)}},
{%- endfor ~%}
}
@ -256,7 +256,7 @@ func(self *{{o.name}}) GetMask() meta.FieldsMask {
}
{% endmacro %}
{% macro stats_methods(meta, o) %}
{% macro stats_methods(o) %}
func (self *{{o.name}}) Table() string {
return "{{token(o, 'statist')}}"
@ -264,7 +264,7 @@ func (self *{{o.name}}) Table() string {
func (self * {{o.name}}) Columns() []string {
return []string{
{%- for f in get_all_fields(meta, o) ~%}
{%- for f in get_all_fields(o) ~%}
{%- if not has_token(f, 'statist_skip') ~%}
"{{token_or(f, 'statist_alias', f.name)}}",
{%- endif ~%}
@ -274,7 +274,7 @@ func (self * {{o.name}}) Columns() []string {
func (self *{{o.name}}) Values() []interface{} {
return []interface{}{
{%- for f in get_all_fields(meta, o) ~%}
{%- for f in get_all_fields(o) ~%}
{%- if not has_token(f, 'statist_skip') ~%}
self.{{f.name|ucfirst}},
{%- endif ~%}
@ -284,7 +284,7 @@ func (self *{{o.name}}) Values() []interface{} {
{% endmacro %}
{% macro db_item_methods(meta, o) %}
{% macro db_item_methods(o) %}
func (self *{{o.name}}) NewInstance() meta.IMetaDataItem {
return New{{o.name}}()
@ -315,7 +315,7 @@ func (self *{{o.name}}) Import(data interface{}) {
case {{o.name}}:
{
row := data.({{o.name}})
{%- for f in get_all_fields(meta, o) ~%}
{%- for f in get_all_fields(o) ~%}
self.{{f.name|ucfirst}} = row.{{f.name|ucfirst}}
{%- endfor ~%}
break
@ -326,7 +326,7 @@ func (self *{{o.name}}) Import(data interface{}) {
}
func (self *{{o.name}}) Export(data []interface{}) {
{%- for f in get_all_fields(meta, o) ~%}
{%- for f in get_all_fields(o) ~%}
data[{{loop.index0}}] = self.{{f.name|ucfirst}}
{%- endfor ~%}
}
@ -390,10 +390,10 @@ func New{{o.name}}ByName(name string) ({{o.name}}, error) {
{%- endfor ~%}
{% endmacro %}
{% macro decl_rpc(meta, o) %}
{% macro decl_rpc(o) %}
{{_self._decl_rpc_part(meta, o.req, o.code)}}
{{_self._decl_rpc_part(meta, o.rsp, o.code)}}
{{_self._decl_rpc_part(o.req, o.code)}}
{{_self._decl_rpc_part(o.rsp, o.code)}}
func New{{o.name}}() *{{o.name}} {
rpc := {{o.name}}{}
@ -448,9 +448,9 @@ func (rpc *{{o.name}}) Execute(h interface{}) error{
{% endmacro %}
{% macro _decl_rpc_part(meta, o, code) %}
{% macro _decl_rpc_part(o, code) %}
{{_self.decl_struct(meta, o)}}
{{_self.decl_struct(o)}}
var {{o.name}}_ func(interface{}, *{{o.name}}, *{{o.name|rpc_invert}}) error