OLD | NEW |
1 {%- macro set_default(kind, value, depth) -%} | 1 {%- macro set_default(kind, value, depth) -%} |
2 {#--- Strings ---#} | 2 {#--- Strings ---#} |
3 {%- if kind|is_string_kind -%} | 3 {%- if kind|is_string_kind -%} |
4 {{caller(value)}} | 4 {{caller(value|expression_to_text(module))}} |
5 {#--- Arrays ---#} | 5 {#--- Arrays ---#} |
6 {%- elif kind|is_array_kind %} | 6 {%- elif kind|is_array_kind %} |
7 {%- set _ = value|verify_token_type("ARRAY") %} | 7 {%- set _ = value|verify_token_type("ARRAY") %} |
8 { | 8 { |
9 var tmp{{depth}} = []; | 9 var tmp{{depth}} = []; |
10 {%- for element in value[1] %} | 10 {%- for element in value[1] %} |
11 {%- filter indent(2) %} | 11 {%- filter indent(2) %} |
12 {%- call(result) set_default(kind.kind, element, depth+1) %} | 12 {%- call(result) set_default(kind.kind, element, depth+1) %} |
13 tmp{{depth}}[{{loop.index0}}] = {{result}}; | 13 tmp{{depth}}[{{loop.index0}}] = {{result}}; |
14 {%- endcall %} | 14 {%- endcall %} |
(...skipping 13 matching lines...) Expand all Loading... |
28 {%- filter indent(2) %} | 28 {%- filter indent(2) %} |
29 {%- call(result) set_default(subfield.kind, element, depth+1) %} | 29 {%- call(result) set_default(subfield.kind, element, depth+1) %} |
30 tmp{{depth}}.{{subfield.name}} = {{result}}; | 30 tmp{{depth}}.{{subfield.name}} = {{result}}; |
31 {%- endcall %} | 31 {%- endcall %} |
32 {%- endfilter %} | 32 {%- endfilter %} |
33 {%- endfor -%} | 33 {%- endfor -%} |
34 {{caller("tmp" ~ depth)|indent(2)}} | 34 {{caller("tmp" ~ depth)|indent(2)}} |
35 } | 35 } |
36 {#--- POD types ---#} | 36 {#--- POD types ---#} |
37 {%- else -%} | 37 {%- else -%} |
38 {{caller(value|substitute_namespace(imports))}} | 38 {{caller(value|expression_to_text(module))}} |
39 {%- endif %} | 39 {%- endif %} |
40 {%- endmacro %} | 40 {%- endmacro %} |
41 | 41 |
42 | 42 |
| 43 {#--- Begin #} |
43 function {{struct.name}}() { | 44 function {{struct.name}}() { |
44 {%- for packed_field in struct.packed.packed_fields %} | 45 {%- for packed_field in struct.packed.packed_fields %} |
45 {%- if packed_field.field.default %} | 46 {%- if packed_field.field.default %} |
46 {%- filter indent(4) %} | 47 {%- filter indent(4) %} |
47 {%- call(result) set_default(packed_field.field.kind, packed_field.field.def
ault, 0) %} | 48 {%- call(result) set_default(packed_field.field.kind, packed_field.field.def
ault, 0) %} |
48 this.{{packed_field.field.name}} = {{result}}; | 49 this.{{packed_field.field.name}} = {{result}}; |
49 {%- endcall %} | 50 {%- endcall %} |
50 {%- endfilter %} | 51 {%- endfilter %} |
51 {%- else %} | 52 {%- else %} |
52 this.{{packed_field.field.name}} = {{packed_field.field|default_value}}; | 53 this.{{packed_field.field.name}} = {{packed_field.field|default_value}}; |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 {%- else %} | 102 {%- else %} |
102 {%- for packed_field in byte.packed_fields %} | 103 {%- for packed_field in byte.packed_fields %} |
103 encoder.{{packed_field.field.kind|encode_snippet}}val.{{packed_field.field.n
ame}}); | 104 encoder.{{packed_field.field.kind|encode_snippet}}val.{{packed_field.field.n
ame}}); |
104 {%- endfor %} | 105 {%- endfor %} |
105 {%- endif %} | 106 {%- endif %} |
106 {%- if byte.is_padding %} | 107 {%- if byte.is_padding %} |
107 encoder.skip(1); | 108 encoder.skip(1); |
108 {%- endif %} | 109 {%- endif %} |
109 {%- endfor %} | 110 {%- endfor %} |
110 }; | 111 }; |
OLD | NEW |