summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/bindings/templates/dictionary_impl.cc.tmpl
blob: f533b68857a1d324ee9310bb3432ce48e3dac939 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{% from 'dictionary_impl_common.cc.tmpl' import dictionary_setter_impl with context %}
{% filter format_blink_cpp_source_code %}

{% include 'copyright_block.txt' %}
#include "{{this_include_header_path}}"

{% for filename in cpp_includes %}
#include "{{filename}}"
{% endfor %}

namespace blink {

{# Constructor #}
{{cpp_class}}::{{cpp_class}}() {
  {% for member in members if member.cpp_default_value %}
  {% if member.is_default_value_null and member.null_setter_name %}
  {{member.null_setter_name}}();
  {% else %}
  {{member.setter_name}}({{member.cpp_default_value}});
  {% endif %}
  {% endfor %}
}

{{cpp_class}}::~{{cpp_class}}() = default;

{% for member in members if not member.setter_inline %}
{{dictionary_setter_impl(member)}}
{% endfor %}

void {{cpp_class}}::Trace(Visitor* visitor) {
  {% for member in members if member.is_traceable %}
  visitor->Trace({{member.cpp_name}}_);
  {% endfor %}
  {% if parent_cpp_class %}
  {{parent_cpp_class}}::Trace(visitor);
  {% endif %}
}

}  // namespace blink

{% endfilter %}{# format_blink_cpp_source_code #}