OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2016 The Chromium Authors. All rights reserved. | 2 # Copyright 2016 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 import math | 6 import math |
7 import sys | 7 import sys |
8 | 8 |
9 import json5_generator | 9 import json5_generator |
10 import template_expander | 10 import template_expander |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 field_dependencies += entry['field_dependencies'] | 204 field_dependencies += entry['field_dependencies'] |
205 return field_dependencies | 205 return field_dependencies |
206 | 206 |
207 | 207 |
208 def _create_diff_groups(fields_to_diff, methods_to_diff, predicates_to_test, roo
t_group): | 208 def _create_diff_groups(fields_to_diff, methods_to_diff, predicates_to_test, roo
t_group): |
209 diff_group = DiffGroup(root_group.member_name) | 209 diff_group = DiffGroup(root_group.member_name) |
210 field_dependencies = _list_field_dependencies(methods_to_diff + predicates_t
o_test) | 210 field_dependencies = _list_field_dependencies(methods_to_diff + predicates_t
o_test) |
211 for subgroup in root_group.subgroups: | 211 for subgroup in root_group.subgroups: |
212 if any(field.property_name in (fields_to_diff + field_dependencies) for
field in subgroup.all_fields): | 212 if any(field.property_name in (fields_to_diff + field_dependencies) for
field in subgroup.all_fields): |
213 diff_group.subgroups.append(_create_diff_groups(fields_to_diff, meth
ods_to_diff, predicates_to_test, subgroup)) | 213 diff_group.subgroups.append(_create_diff_groups(fields_to_diff, meth
ods_to_diff, predicates_to_test, subgroup)) |
214 for field in root_group.fields: | 214 for entry in fields_to_diff: |
215 if not field.is_inherited_flag: | 215 for field in root_group.fields: |
216 if field.property_name in fields_to_diff: | 216 if not field.is_inherited_flag and entry == field.property_name: |
217 diff_group.expressions.append(field.getter_expression) | 217 diff_group.expressions.append(field.getter_expression) |
218 for entry in methods_to_diff: | 218 for entry in methods_to_diff: |
219 if field.property_name in entry['field_dependencies']: | 219 for field in root_group.fields: |
220 diff_group.expressions.append(entry['method']) | 220 if not field.is_inherited_flag and field.property_name in entry['fie
ld_dependencies']: |
221 for entry in predicates_to_test: | 221 diff_group.expressions.append(entry['method']) |
222 if field.property_name in entry['field_dependencies']: | 222 for entry in predicates_to_test: |
223 diff_group.predicates.append(entry['predicate']) | 223 for field in root_group.fields: |
| 224 if not field.is_inherited_flag and field.property_name in entry['fie
ld_dependencies']: |
| 225 diff_group.predicates.append(entry['predicate']) |
224 return diff_group | 226 return diff_group |
225 | 227 |
226 | 228 |
227 def _create_enums(properties): | 229 def _create_enums(properties): |
228 """ | 230 """ |
229 Returns an OrderedDict of enums to be generated, enum name -> [list of enum
values] | 231 Returns an OrderedDict of enums to be generated, enum name -> [list of enum
values] |
230 """ | 232 """ |
231 enums = {} | 233 enums = {} |
232 for property_ in properties: | 234 for property_ in properties: |
233 # Only generate enums for keyword properties that use the default field_
type_path. | 235 # Only generate enums for keyword properties that use the default field_
type_path. |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
457 | 459 |
458 @template_expander.use_jinja('ComputedStyleBaseConstants.h.tmpl') | 460 @template_expander.use_jinja('ComputedStyleBaseConstants.h.tmpl') |
459 def generate_base_computed_style_constants(self): | 461 def generate_base_computed_style_constants(self): |
460 return { | 462 return { |
461 'properties': self._properties, | 463 'properties': self._properties, |
462 'enums': self._generated_enums, | 464 'enums': self._generated_enums, |
463 } | 465 } |
464 | 466 |
465 if __name__ == '__main__': | 467 if __name__ == '__main__': |
466 json5_generator.Maker(ComputedStyleBaseWriter).main() | 468 json5_generator.Maker(ComputedStyleBaseWriter).main() |
OLD | NEW |