Commit 3b3e6c62 authored by nainar's avatar nainar Committed by Commit bot

Ensure the diff functions are generated in order specified in the JSON file

This CL ensures that the diff functions are generated in the order that
they are specified in the JSOn input file as opposed to in the alignment
order as specified in the groups.

Diff: https://gist.github.com/ffa56bb0036497ad3a104a1e2f79d0bf/revisions

BUG=710938

Review-Url: https://codereview.chromium.org/2911593002
Cr-Commit-Position: refs/heads/master@{#474935}
parent d483fb77
...@@ -210,16 +210,18 @@ def _create_diff_groups(fields_to_diff, methods_to_diff, predicates_to_test, roo ...@@ -210,16 +210,18 @@ def _create_diff_groups(fields_to_diff, methods_to_diff, predicates_to_test, roo
for subgroup in root_group.subgroups: for subgroup in root_group.subgroups:
if any(field.property_name in (fields_to_diff + field_dependencies) for field in subgroup.all_fields): if any(field.property_name in (fields_to_diff + field_dependencies) for field in subgroup.all_fields):
diff_group.subgroups.append(_create_diff_groups(fields_to_diff, methods_to_diff, predicates_to_test, subgroup)) diff_group.subgroups.append(_create_diff_groups(fields_to_diff, methods_to_diff, predicates_to_test, subgroup))
for field in root_group.fields: for entry in fields_to_diff:
if not field.is_inherited_flag: for field in root_group.fields:
if field.property_name in fields_to_diff: if not field.is_inherited_flag and entry == field.property_name:
diff_group.expressions.append(field.getter_expression) diff_group.expressions.append(field.getter_expression)
for entry in methods_to_diff: for entry in methods_to_diff:
if field.property_name in entry['field_dependencies']: for field in root_group.fields:
diff_group.expressions.append(entry['method']) if not field.is_inherited_flag and field.property_name in entry['field_dependencies']:
for entry in predicates_to_test: diff_group.expressions.append(entry['method'])
if field.property_name in entry['field_dependencies']: for entry in predicates_to_test:
diff_group.predicates.append(entry['predicate']) for field in root_group.fields:
if not field.is_inherited_flag and field.property_name in entry['field_dependencies']:
diff_group.predicates.append(entry['predicate'])
return diff_group return diff_group
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment