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: |
nainar
2017/05/26 01:16:02
Could make one unified list of fields and field_de
shend
2017/05/26 01:34:30
Agreed.
| |
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): |
shend
2017/05/26 01:34:29
nit: don't need brackets around conditions.
| |
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[' field_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[' field_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 |