| Index: mojo/public/bindings/generators/js_templates/struct_definition.tmpl
|
| diff --git a/mojo/public/bindings/generators/js_templates/struct_definition.tmpl b/mojo/public/bindings/generators/js_templates/struct_definition.tmpl
|
| deleted file mode 100644
|
| index 1686820a7e7f71967f1cdd53adcd013cf641cf58..0000000000000000000000000000000000000000
|
| --- a/mojo/public/bindings/generators/js_templates/struct_definition.tmpl
|
| +++ /dev/null
|
| @@ -1,118 +0,0 @@
|
| -{%- macro set_default(module, kind, value, depth) -%}
|
| -{#--- Strings ---#}
|
| -{%- if kind|is_string_kind -%}
|
| -{{caller(value|expression_to_text(module))}}
|
| -{#--- Arrays ---#}
|
| -{%- elif kind|is_array_kind %}
|
| -{%- set _ = value|verify_token_type("ARRAY") %}
|
| -{
|
| - var tmp{{depth}} = [];
|
| -{%- for element in value[1] %}
|
| -{%- filter indent(2) %}
|
| -{%- call(result) set_default(module, kind.kind, element, depth+1) %}
|
| -tmp{{depth}}[{{loop.index0}}] = {{result}};
|
| -{%- endcall %}
|
| -{%- endfilter %}
|
| -{%- endfor -%}
|
| - {{caller("tmp" ~ depth)|indent(2)}}
|
| -}
|
| -{#--- Objects ---#}
|
| -{%- elif kind|is_object_kind %}
|
| -{%- set _ = value|verify_token_type("OBJECT") %}
|
| -{
|
| - var tmp{{depth}} = new {{kind|js_type}}();
|
| -{%- set struct = kinds[kind.spec] %}
|
| -{%- for element in value[1] %}
|
| -{#- Use struct.packed_fields to order struct values by ordinal number #}
|
| -{%- set subfield = struct.fields[loop.index0] %}
|
| -{%- filter indent(2) %}
|
| -{%- call(result) set_default(module, subfield.kind, element, depth+1) %}
|
| -tmp{{depth}}.{{subfield.name}} = {{result}};
|
| -{%- endcall %}
|
| -{%- endfilter %}
|
| -{%- endfor -%}
|
| - {{caller("tmp" ~ depth)|indent(2)}}
|
| -}
|
| -{#--- POD types ---#}
|
| -{%- else -%}
|
| -{{caller(value|expression_to_text(module))}}
|
| -{%- endif %}
|
| -{%- endmacro %}
|
| -
|
| -{#--- Begin #}
|
| -{#--- Enums. We must define these before the constructor because they
|
| - may be used there. Later, we alias these to be class static variables. #}
|
| -{%- from "enum_definition.tmpl" import enum_def %}
|
| -{% for enum in struct.enums %}
|
| - var {{enum_def("%s_%s"|format(struct.name, enum.name), enum, module)}}
|
| -{% endfor %}
|
| -
|
| -{#--- Constructor #}
|
| - function {{struct.name}}() {
|
| -{%- for packed_field in struct.packed.packed_fields %}
|
| -{%- if packed_field.field.default %}
|
| -{%- filter indent(4) %}
|
| -{%- call(result) set_default(module, packed_field.field.kind, packed_field.field.default, 0) %}
|
| -this.{{packed_field.field.name}} = {{result}};
|
| -{%- endcall %}
|
| -{%- endfilter %}
|
| -{%- else %}
|
| - this.{{packed_field.field.name}} = {{packed_field.field|default_value}};
|
| -{%- endif %}
|
| -{%- endfor %}
|
| - }
|
| -
|
| -{#--- Alias any Struct_Enum enums to Struct.Enum #}
|
| -{% for enum in struct.enums %}
|
| - {{struct.name}}.{{enum.name}} = {{struct.name}}_{{enum.name}};
|
| -{%- endfor %}
|
| -
|
| -{#--- Encoding and decoding #}
|
| -
|
| - {{struct.name}}.encodedSize = codec.kStructHeaderSize + {{struct.packed|payload_size}};
|
| -
|
| - {{struct.name}}.decode = function(decoder) {
|
| - var packed;
|
| - var val = new {{struct.name}}();
|
| - var numberOfBytes = decoder.read32();
|
| - var numberOfFields = decoder.read32();
|
| -{%- for byte in struct.bytes %}
|
| -{%- if byte.packed_fields|length > 1 %}
|
| - packed = decoder.read8();
|
| -{%- for packed_field in byte.packed_fields %}
|
| - val.{{packed_field.field.name}} = (packed >> {{packed_field.bit}}) & 1 ? true : false;
|
| -{%- endfor %}
|
| -{%- else %}
|
| -{%- for packed_field in byte.packed_fields %}
|
| - val.{{packed_field.field.name}} = decoder.{{packed_field.field.kind|decode_snippet}};
|
| -{%- endfor %}
|
| -{%- endif %}
|
| -{%- if byte.is_padding %}
|
| - decoder.skip(1);
|
| -{%- endif %}
|
| -{%- endfor %}
|
| - return val;
|
| - };
|
| -
|
| - {{struct.name}}.encode = function(encoder, val) {
|
| - var packed;
|
| - encoder.write32({{struct.name}}.encodedSize);
|
| - encoder.write32({{struct.packed.packed_fields|length}});
|
| -
|
| -{%- for byte in struct.bytes %}
|
| -{%- if byte.packed_fields|length > 1 %}
|
| - packed = 0;
|
| -{%- for packed_field in byte.packed_fields %}
|
| - packed |= (val.{{packed_field.field.name}} & 1) << {{packed_field.bit}}
|
| -{%- endfor %}
|
| - encoder.write8(packed);
|
| -{%- else %}
|
| -{%- for packed_field in byte.packed_fields %}
|
| - encoder.{{packed_field.field.kind|encode_snippet}}val.{{packed_field.field.name}});
|
| -{%- endfor %}
|
| -{%- endif %}
|
| -{%- if byte.is_padding %}
|
| - encoder.skip(1);
|
| -{%- endif %}
|
| -{%- endfor %}
|
| - };
|
|
|