Skip to content

Commit

Permalink
Fix tree traversal node selection for a few of the enum variants
Browse files Browse the repository at this point in the history
  • Loading branch information
MicroProofs authored and rvcas committed Jun 25, 2024
1 parent 9907dd6 commit f1cfc84
Show file tree
Hide file tree
Showing 37 changed files with 83 additions and 84 deletions.
23 changes: 11 additions & 12 deletions crates/aiken-lang/src/gen_uplc/tree.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1783,15 +1783,15 @@ impl AirTree {
}

AirTree::AssertConstr {
constr,
constr_index: _,
constr,
then: _,
otherwise,
} => {
constr.do_traverse_tree_with(
tree_path,
current_depth + 1,
Fields::FirstField,
Fields::SecondField,
with,
apply_with_func_last,
);
Expand All @@ -1804,15 +1804,15 @@ impl AirTree {
)
}
AirTree::AssertBool {
value,
is_true: _,
value,
then: _,
otherwise,
} => {
value.do_traverse_tree_with(
tree_path,
current_depth + 1,
Fields::FirstField,
Fields::SecondField,
with,
apply_with_func_last,
);
Expand All @@ -1825,15 +1825,15 @@ impl AirTree {
)
}
AirTree::ClauseGuard {
pattern,
subject_name: _,
subject_tipo: _,
pattern,
then: _,
} => {
pattern.do_traverse_tree_with(
tree_path,
current_depth + 1,
Fields::FirstField,
Fields::ThirdField,
with,
apply_with_func_last,
);
Expand Down Expand Up @@ -2173,7 +2173,7 @@ impl AirTree {
func.do_traverse_tree_with(
tree_path,
current_depth + 1,
Fields::FirstField,
Fields::SecondField,
with,
apply_with_func_last,
);
Expand Down Expand Up @@ -2482,11 +2482,11 @@ impl AirTree {
contained_functions,
then,
} => {
for (_, func_body) in contained_functions {
for (index, (_, func_body)) in contained_functions.iter_mut().enumerate() {
func_body.do_traverse_tree_with(
tree_path,
current_depth + 1,
Fields::FourthField,
Fields::ArgsField(index),
with,
apply_with_func_last,
);
Expand Down Expand Up @@ -2801,7 +2801,6 @@ impl AirTree {
subject_name: _,
fst_name: _,
snd_name: _,

then,
} => match field {
Fields::FifthField => then.as_mut().do_find_air_tree_node(tree_path_iter),
Expand All @@ -2814,7 +2813,7 @@ impl AirTree {
then,
otherwise,
} => match field {
Fields::FirstField => record.as_mut().do_find_air_tree_node(tree_path_iter),
Fields::SecondField => record.as_mut().do_find_air_tree_node(tree_path_iter),
Fields::FourthField => then.as_mut().do_find_air_tree_node(tree_path_iter),
Fields::FifthField => otherwise.as_mut().do_find_air_tree_node(tree_path_iter),
_ => panic!("Tree Path index outside tree children nodes"),
Expand Down Expand Up @@ -2918,7 +2917,7 @@ impl AirTree {
func,
args,
} => match field {
Fields::FirstField => func.as_mut().do_find_air_tree_node(tree_path_iter),
Fields::SecondField => func.as_mut().do_find_air_tree_node(tree_path_iter),
Fields::ArgsField(index) => args
.get_mut(*index)
.expect("Tree Path index outside tree children nodes")
Expand Down
2 changes: 1 addition & 1 deletion examples/acceptance_tests/036/aiken.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ requirements = []
source = "github"

[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1716407096, nanos_since_epoch = 481443000 }, "6b89f2c51314a7bc2cc377d37c9eade9a4239086fe636ac6030c6979182f1247"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1719353062, nanos_since_epoch = 479061000 }, "a746f5b5cd3c2ca5dc19c43bcfc64230c546fafea2ba5f8e340c227b85886078"]
10 changes: 5 additions & 5 deletions examples/acceptance_tests/036/plutus.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.26-alpha+c3ad52b"
"version": "v1.0.29-alpha+e856fc6"
}
},
"validators": [
Expand All @@ -25,8 +25,8 @@
}
}
],
"compiledCode": "589e0100003232323232323222322533300553330053370e900018031baa3232330010013758600460126ea8c008c024dd50019129998058008a6103d87a800013232533300a3375e600a60186ea80080244cdd2a40006601c00497ae0133004004001300f002300d0012300b00114a22940526136563253330043370e900018028008a99980398030008a4c2c2c6ea80055cd2ab9d5573caae7d5d02ba15745",
"hash": "4317a8dff6fa9fcbc49190374190a59933e04bafbd486b713873be69"
"compiledCode": "58e90100003232323232323232323222322533300653330063370e900018041baa3232330010013758600460166ea8c008c02cdd50019129998068008a6103d87a800013232533300b3375e600a601c6ea80080244cdd2a40006602000497ae01330040040013011002300f0012300d00114a22940526153300749011856616c696461746f722072657475726e65642066616c73650013656533333300c001153330043370e900018031baa00115333008300737540022930018018018018018018a998012490f5f72656465656d65723a20566f696400165734ae7155ceaab9e5573eae815d0aba257481",
"hash": "eb7578af9370ca9210a58fbf6a7000c627e7b714cbd30016a12ed270"
},
{
"title": "spend.spend",
Expand All @@ -42,8 +42,8 @@
"$ref": "#/definitions/Data"
}
},
"compiledCode": "58ef01000032323232323232222533300432330010013758601460166016600e6ea8c028c01cdd50011129998048008a501325333007333007533300a3253330083370e900118049baa00114bd6f7b63009bab300d300a375400264660020026eacc034c038c028dd518068019129998060008a60103d87a8000132323232533300d33722911050000000000000021533300d3371e91010500000000000000213374a9000198089ba60014bd700a6103d87a80001330060060033756601c0066eb8c030008c040008c0380045288a504a094452889980180180098060008a4c26cacae6955ceaab9e5573eae815d0aba21",
"hash": "f56561e01063b11146809755d9907147e79d3166aa5c65fba4040fd1"
"compiledCode": "590112010000323232323232323222253330043233001001375860166018601860106ea8c02cc020dd50011129998050008a501325333007333007533300b3253330083370e900118051baa00114bd6f7b63009bab300e300b375400264660020026eacc038c03cc02cdd518070019129998068008a60103d87a8000132323232533300d33722911050000000000000021533300d3371e91010500000000000000213374a9000198091ba60014bd700a6103d87a80001330060060033756601e0066eb8c034008c044008c03c0045288a504a094452889980180180098068008a4c2a6600a92011856616c696461746f722072657475726e65642066616c736500136565734ae7155ceaab9e5573eae815d0aba201",
"hash": "874827f25676e53d8d40f1ebb5a69f901c9c79e3797059b3a7bc36b3"
}
],
"definitions": {
Expand Down
6 changes: 3 additions & 3 deletions examples/acceptance_tests/047/plutus.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.26-alpha+c3ad52b"
"version": "v1.0.29-alpha+e856fc6"
}
},
"validators": [
Expand All @@ -23,8 +23,8 @@
"$ref": "#/definitions/Void"
}
},
"compiledCode": "585401000032323232232232253330064a229309b2b19299980299b8748000c01800454ccc020c01c0045261616375400264a66600666e1d2000300400115333006300500114985858dd5000ab9a5573aaae7955cf81",
"hash": "705a180bd5fb906789dbf005092d4724261b0154f460c2f8c859ff2c"
"compiledCode": "58c00100003232323232323232232232253330084a22930a99804a491856616c696461746f722072657475726e65642066616c73650013656533333300b001153330063370e900018041baa0011533300a3009375400229300200200200200200229999998048008a99980219b8748000c018dd50008a99980418039baa001149800c00c00c00c00c00c54cc00d2410f5f72656465656d65723a20566f6964001615330024910c5f646174756d3a20566f696400165734ae7155ceaab9e5573eae91",
"hash": "3b52a75a0bb17b0a8abbaef7e73e30a6bde7693dd79715f9d3534b75"
}
],
"definitions": {
Expand Down
2 changes: 1 addition & 1 deletion examples/acceptance_tests/054/aiken.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ requirements = []
source = "github"

[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1716407101, nanos_since_epoch = 859911000 }, "6b89f2c51314a7bc2cc377d37c9eade9a4239086fe636ac6030c6979182f1247"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1719353060, nanos_since_epoch = 816466000 }, "a746f5b5cd3c2ca5dc19c43bcfc64230c546fafea2ba5f8e340c227b85886078"]
2 changes: 1 addition & 1 deletion examples/acceptance_tests/055/aiken.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ requirements = []
source = "github"

[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1716407096, nanos_since_epoch = 167055000 }, "6b89f2c51314a7bc2cc377d37c9eade9a4239086fe636ac6030c6979182f1247"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1719353064, nanos_since_epoch = 692755000 }, "a746f5b5cd3c2ca5dc19c43bcfc64230c546fafea2ba5f8e340c227b85886078"]
2 changes: 1 addition & 1 deletion examples/acceptance_tests/061/aiken.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ requirements = []
source = "github"

[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1716407110, nanos_since_epoch = 628540000 }, "6b89f2c51314a7bc2cc377d37c9eade9a4239086fe636ac6030c6979182f1247"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1719353086, nanos_since_epoch = 153535000 }, "a746f5b5cd3c2ca5dc19c43bcfc64230c546fafea2ba5f8e340c227b85886078"]
2 changes: 1 addition & 1 deletion examples/acceptance_tests/063/aiken.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ requirements = []
source = "github"

[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1716407094, nanos_since_epoch = 891156000 }, "6b89f2c51314a7bc2cc377d37c9eade9a4239086fe636ac6030c6979182f1247"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1719353064, nanos_since_epoch = 356223000 }, "a746f5b5cd3c2ca5dc19c43bcfc64230c546fafea2ba5f8e340c227b85886078"]
2 changes: 1 addition & 1 deletion examples/acceptance_tests/067/aiken.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ requirements = []
source = "github"

[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1716407114, nanos_since_epoch = 974279000 }, "6b89f2c51314a7bc2cc377d37c9eade9a4239086fe636ac6030c6979182f1247"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1719353090, nanos_since_epoch = 867160000 }, "a746f5b5cd3c2ca5dc19c43bcfc64230c546fafea2ba5f8e340c227b85886078"]
2 changes: 1 addition & 1 deletion examples/acceptance_tests/068/aiken.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ requirements = []
source = "github"

[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1716407110, nanos_since_epoch = 818921000 }, "6b89f2c51314a7bc2cc377d37c9eade9a4239086fe636ac6030c6979182f1247"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1719353088, nanos_since_epoch = 668124000 }, "a746f5b5cd3c2ca5dc19c43bcfc64230c546fafea2ba5f8e340c227b85886078"]
2 changes: 1 addition & 1 deletion examples/acceptance_tests/069/aiken.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ requirements = []
source = "github"

[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1716407111, nanos_since_epoch = 974946000 }, "6b89f2c51314a7bc2cc377d37c9eade9a4239086fe636ac6030c6979182f1247"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1719353089, nanos_since_epoch = 828993000 }, "a746f5b5cd3c2ca5dc19c43bcfc64230c546fafea2ba5f8e340c227b85886078"]
2 changes: 1 addition & 1 deletion examples/acceptance_tests/070/aiken.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ requirements = []
source = "github"

[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1716407088, nanos_since_epoch = 812897000 }, "6b89f2c51314a7bc2cc377d37c9eade9a4239086fe636ac6030c6979182f1247"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1719353049, nanos_since_epoch = 385317000 }, "a746f5b5cd3c2ca5dc19c43bcfc64230c546fafea2ba5f8e340c227b85886078"]
2 changes: 1 addition & 1 deletion examples/acceptance_tests/071/aiken.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ requirements = []
source = "github"

[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1716407088, nanos_since_epoch = 266980000 }, "6b89f2c51314a7bc2cc377d37c9eade9a4239086fe636ac6030c6979182f1247"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1719353054, nanos_since_epoch = 415860000 }, "a746f5b5cd3c2ca5dc19c43bcfc64230c546fafea2ba5f8e340c227b85886078"]
6 changes: 3 additions & 3 deletions examples/acceptance_tests/071/plutus.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"plutusVersion": "v2",
"compiler": {
"name": "Aiken",
"version": "v1.0.26-alpha+c3ad52b"
"version": "v1.0.29-alpha+e856fc6"
}
},
"validators": [
Expand All @@ -23,8 +23,8 @@
"$ref": "#/definitions/spend~1PoolRedeemer"
}
},
"compiledCode": "59031a0100003232323232323223232322323225333009323232533300c300a00114a226464646464a666022601600c26464a666026601a60286ea80044c8c8c94ccc058c050c05cdd500089919299980c180b180c9baa0011324a2603a60346ea800458cc01c03c00cc06cc060dd50008b198038068009804244101ff003018301537540022940c00cc050dd5005180b18099baa007132325333013300d301437540022646464a66602c6028602e6ea80044c8c94ccc060c058c064dd5000899251301d301a37540022c6600e01e006603660306ea800458cc01c034004c021220101ff003018301537540022940c00cc050dd5005180b18099baa00722330053758601260286ea8c024c050dd5001119baf300a301537546008602a6ea80040088c054c05800488cc00cdd6180a980b180b18091baa300730123754004466ebcc020c04cdd500080111191980080080191299980a0008a6103d87a8000132325333013300500213374a90001980b80125eb804cc010010004c060008c0580048cdd2a40006602266e95200233011375200297ae0330114c103d87a80004bd7018061baa0013001300c375400a4601e00229309b2b2999803980298041baa00213232533300c300f002132498c94ccc028c0200044c8c94ccc03cc04800852616375a602000260186ea800854ccc028c0100044c8c94ccc03cc0480084c926533300c300a300d3754002264646464a666026602c0042649318068018b1bad301400130140023012001300e37540022c2c602000260186ea800854ccc028cdc3a400800226464a66601e6024004264932999806180518069baa00113232323253330133016002132498c03400c58dd6980a000980a001180900098071baa00116163010001300c37540042c60146ea800458c034004c024dd50010b1b87480094ccc010c008c014dd500189919191919192999806980800109924c600e00a2c6eb4c038004c038008dd698060009806001180500098031baa0031625333004300230053754002264646464a666016601c0042930b1bae300c001300c002375c6014002600c6ea800458dc3a4000ae6955ceaab9e5573eae815d0aba201",
"hash": "d097893ac2008f2537d8f180c4f9d380752f086abd9ed749728af23c"
"compiledCode": "5905540100003232323232323232323232323223232323223232322533300f3232325333012300b00114a226464646464a66602e601600c26464a666032601a60366ea80044c8c8c94ccc070c054c078dd500089919299980f180b98101baa0011324a2604860426ea8004074cc01c03c00cc088c07cdd500080d198038068009804244101ff00301f301c37540022940c00cc06cdd5005180e980d1baa007132325333019300d301b37540022646464a666038602a603c6ea80044c8c94ccc078c05cc080dd500089925130243021375400203a6600e01e0066044603e6ea8004068cc01c034004c021220101ff00301f301c37540022940c00cc06cdd5005180e980d1baa00722330053758601260366ea8c024c06cdd5001119baf300a301c3754600860386ea80040088c070c07400488cc00cdd6180e180e980e980c9baa300730193754004466ebcc020c068dd500080111191980080080191299980d8008a6103d87a8000132325333019300500213374a90001980f00125eb804cc010010004c07c008c0740048cdd2a40006603066e95200233018375200297ae0330184c103d87a80004bd7018099baa00130013013375400a4602c0022930a998082491856616c696461746f722072657475726e65642066616c73650013656533300d3006300f3754004264a666024002014264a666026602c004264931929998081804800899299980a800806899299980b180c8010a4c01c64a66666603400201c01c01c26eb4004038c05c004c04cdd50010a9998081802000899299980a800806899299980b180c80109924ca666024601660286ea80044c94ccc05c00403c4c8c94ccc0640040444c94ccc068c0740084c9263300e00301201232533333301e0010120120121375a0020246036002603600464a66666603800220020200200200206032002602a6ea8004038038c94cccccc0680044004038038038038c05c004c04cdd50010a99980819b87480100044c94ccc0540040344c94ccc058c0640084c9265333012300b30143754002264a66602e00201e26464a666032002022264a666034603a004264931980700180900919299999980f00080900900909bad001012301b001301b00232533333301c001100101001001001030190013015375400201c01c64a666666034002200201c01c01c01c602e00260266ea8008030c044dd500080599299999980b8008800805805805805980a00098081baa002009370e900129999998098008800803803803803a999804980118059baa003132533300e00100713232533301000100913232533301200100b13253330133016002132498cc01c014030030c94cccccc05c0040300300304dd6800806180a000980a00119299999980a80080500500509bad00100a3012001301200232533333301300110010080080080083010001300c375400600c44a666014600660186ea80084c94ccc03c00401c4c8c94ccc0440040244c94ccc048c05400852600a32533333301600100a00a00a00a1375c0026026002602600464a66666602800201001001001026eb8004c044004c034dd50010031b87480014cccccc038004400400c00c00c00c54cc01524011672656465656d65723a20506f6f6c52656465656d65720016153300449110646174756d3a20506f6f6c446174756d001615330034913d65787065637420536f6d6528706f6f6c5f6f757470757429203d206765745f6f7574707574286374782c2076616c696461746f725f6164647265737329001615330024913b65787065637420536f6d6528706f6f6c5f696e70757429203d206765745f696e707574286374782c2076616c696461746f725f616464726573732900165734ae7155ceaab9e5573eae815d0aba257481",
"hash": "3ac593e0e8c626918e776b2b4c1d7578719464f516e9f1ac78bcdd22"
}
],
"definitions": {
Expand Down
2 changes: 1 addition & 1 deletion examples/acceptance_tests/072/aiken.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ requirements = []
source = "github"

[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1716407098, nanos_since_epoch = 612481000 }, "6b89f2c51314a7bc2cc377d37c9eade9a4239086fe636ac6030c6979182f1247"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1719353079, nanos_since_epoch = 869301000 }, "a746f5b5cd3c2ca5dc19c43bcfc64230c546fafea2ba5f8e340c227b85886078"]
2 changes: 1 addition & 1 deletion examples/acceptance_tests/073/aiken.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ requirements = []
source = "github"

[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1716407092, nanos_since_epoch = 27004000 }, "6b89f2c51314a7bc2cc377d37c9eade9a4239086fe636ac6030c6979182f1247"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1719353073, nanos_since_epoch = 642619000 }, "a746f5b5cd3c2ca5dc19c43bcfc64230c546fafea2ba5f8e340c227b85886078"]
2 changes: 1 addition & 1 deletion examples/acceptance_tests/074/aiken.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ requirements = []
source = "github"

[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1716407107, nanos_since_epoch = 237676000 }, "6b89f2c51314a7bc2cc377d37c9eade9a4239086fe636ac6030c6979182f1247"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1719353074, nanos_since_epoch = 601697000 }, "a746f5b5cd3c2ca5dc19c43bcfc64230c546fafea2ba5f8e340c227b85886078"]
2 changes: 1 addition & 1 deletion examples/acceptance_tests/077/aiken.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ requirements = []
source = "github"

[etags]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1716407089, nanos_since_epoch = 703441000 }, "6b89f2c51314a7bc2cc377d37c9eade9a4239086fe636ac6030c6979182f1247"]
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1719352929, nanos_since_epoch = 982815000 }, "a746f5b5cd3c2ca5dc19c43bcfc64230c546fafea2ba5f8e340c227b85886078"]
Loading

0 comments on commit f1cfc84

Please sign in to comment.