OLD | NEW |
1 {% macro v8_value_to_local_cpp_value(thing) %} | 1 {% macro v8_value_to_local_cpp_value(thing) %} |
2 {# This indirection is just to avoid spurious white-space lines. #} | 2 {# This indirection is just to avoid spurious white-space lines. #} |
3 {{generate_v8_value_to_local_cpp_value(thing) | trim}} | 3 {{generate_v8_value_to_local_cpp_value(thing) | trim}} |
4 {%- endmacro %} | 4 {%- endmacro %} |
5 | 5 |
6 | 6 |
7 {% macro generate_v8_value_to_local_cpp_value(thing) %} | 7 {% macro generate_v8_value_to_local_cpp_value(thing) %} |
8 {% set item = thing.v8_value_to_local_cpp_value or thing %} | 8 {% set item = thing.v8_value_to_local_cpp_value or thing %} |
9 {% if item.error_message %} | 9 {% if item.error_message %} |
10 /* {{item.error_message}} */ | 10 /* {{item.error_message}} */ |
11 {% else %} | 11 {% else %} |
12 {% if item.declare_variable %} | 12 {% if item.declare_variable %} |
13 {% if item.assign_expression %} | 13 {% if item.assign_expression %} |
14 {{item.cpp_type}} {{item.cpp_name}} = {{item.assign_expression}}; | 14 {{item.cpp_type}} {{item.cpp_name}} = {{item.assign_expression}}; |
15 {% else %} | 15 {% else %} |
16 {{item.cpp_type}} {{item.cpp_name}}; | 16 {{item.cpp_type}} {{item.cpp_name}}; |
17 {% endif %} | 17 {% endif %} |
18 {% else %}{# item.declare_variable #} | 18 {% else %}{# item.declare_variable #} |
19 {% if item.assign_expression %} | 19 {% if item.assign_expression %} |
| 20 {% if thing.is_undefined_to_null %} |
| 21 {{item.cpp_name}}Value = {{item.assign_expression}}; |
| 22 {{item.cpp_name}} = &{{item.cpp_name}}Value; |
| 23 {% else %} |
20 {{item.cpp_name}} = {{item.assign_expression}}; | 24 {{item.cpp_name}} = {{item.assign_expression}}; |
21 {% endif %} | 25 {% endif %} |
| 26 {% endif %} |
22 {% endif %}{# item.declare_variable #} | 27 {% endif %}{# item.declare_variable #} |
23 {% if item.set_expression %} | 28 {% if item.set_expression %} |
24 {{item.set_expression}}; | 29 {{item.set_expression}}; |
25 {% endif %} | 30 {% endif %} |
26 {% if item.check_expression %} | 31 {% if item.check_expression %} |
27 if ({{item.check_expression}}) | 32 if ({{item.check_expression}}) |
28 return{% if item.return_expression %} {{item.return_expression}}{% endif %}; | 33 return{% if item.return_expression %} {{item.return_expression}}{% endif %}; |
29 {% endif %}{# item.check_expression #} | 34 {% endif %}{# item.check_expression #} |
30 {% endif %}{# item.error_message #} | 35 {% endif %}{# item.error_message #} |
31 {% endmacro %} | 36 {% endmacro %} |
32 | 37 |
33 | 38 |
34 {% macro declare_enum_validation_variable(enum_values) %} | 39 {% macro declare_enum_validation_variable(enum_values) %} |
35 static const char* validValues[] = { | 40 static const char* validValues[] = { |
36 {% for enum_value in enum_values %} | 41 {% for enum_value in enum_values %} |
37 "{{enum_value}}", | 42 "{{enum_value}}", |
38 {% endfor %} | 43 {% endfor %} |
39 }; | 44 }; |
40 {%-endmacro %} | 45 {%-endmacro %} |
OLD | NEW |