From 71e53e4c05201e97717e5fef24c6e5ce5eda980c Mon Sep 17 00:00:00 2001 From: Oliver Reiche Date: Fri, 29 Apr 2022 13:59:30 +0200 Subject: rules: Perform disjoint map union in field_* expressions ... and replace all instances where the field_*_list variant of those expressions is used solely for the purpose of performing the disjoint union manually. --- CC/RULES | 11 ++++------- CC/proto/EXPRESSIONS | 27 +++++++++------------------ 2 files changed, 13 insertions(+), 25 deletions(-) (limited to 'CC') diff --git a/CC/RULES b/CC/RULES index cb13f98..0e9a694 100644 --- a/CC/RULES +++ b/CC/RULES @@ -117,17 +117,14 @@ } , "artifacts_doc": ["The single tree artifact staged to the given location"] , "runfiles_doc": ["Same as artifacts"] - , "imports": {"runfiles_list": ["./", "..", "field_runfiles_list"]} + , "imports": {"runfiles": ["./", "..", "field_runfiles"]} , "expression": { "type": "let*" , "bindings": [ [ "hdrs" - , { "type": "disjoint_map_union" - , "$1": - { "type": "let*" - , "bindings": [["fieldname", "hdrs"]] - , "body": {"type": "CALL_EXPRESSION", "name": "runfiles_list"} - } + , { "type": "let*" + , "bindings": [["fieldname", "hdrs"]] + , "body": {"type": "CALL_EXPRESSION", "name": "runfiles"} } ] , [ "stage" diff --git a/CC/proto/EXPRESSIONS b/CC/proto/EXPRESSIONS index cb7d8a2..4f807fe 100644 --- a/CC/proto/EXPRESSIONS +++ b/CC/proto/EXPRESSIONS @@ -1,16 +1,9 @@ { "protoc-deps": - { "imports": {"provider_list": ["./", "../..", "field_provider_list"]} + { "imports": {"map_provider": ["./", "../..", "field_map_provider"]} , "expression": - { "type": "disjoint_map_union" - , "$1": - { "type": "let*" - , "bindings": - [ ["fieldname", "deps"] - , ["provider", "protoc-deps"] - , ["default", {"type": "empty_map"}] - ] - , "body": {"type": "CALL_EXPRESSION", "name": "provider_list"} - } + { "type": "let*" + , "bindings": [["fieldname", "deps"], ["provider", "protoc-deps"]] + , "body": {"type": "CALL_EXPRESSION", "name": "map_provider"} } } , "protoc-compile": @@ -18,6 +11,7 @@ , "imports": { "stage": ["", "stage_singleton_field"] , "result": ["./", "..", "lib result"] + , "artifacts": ["./", "../..", "field_artifacts"] , "artifacts_list": ["./", "../..", "field_artifacts_list"] , "protoc-deps": "protoc-deps" } @@ -49,13 +43,10 @@ , { "type": "to_subdir" , "subdir": "work" , "$1": - { "type": "disjoint_map_union" - , "$1": - { "type": "let*" - , "bindings": - [["fieldname", "well_known_protos"], ["transition", null]] - , "body": {"type": "CALL_EXPRESSION", "name": "artifacts_list"} - } + { "type": "let*" + , "bindings": + [["fieldname", "well_known_protos"], ["transition", null]] + , "body": {"type": "CALL_EXPRESSION", "name": "artifacts"} } } ] -- cgit v1.2.3