gitextract_fonefwfl/ ├── .gitignore ├── .gitmodules ├── DOCS.md ├── LICENSE.md ├── README.md ├── ROADMAP.org ├── azure-pipelines.yml ├── ci/ │ ├── azure-clone-patch-otp.yml │ ├── azure-install-dependencies.yml │ ├── azure-install-rust.yml │ └── azure-test.yml ├── deny.toml ├── libeir_diagnostics/ │ ├── Cargo.toml │ └── src/ │ ├── codemap.rs │ ├── filename.rs │ ├── index.rs │ ├── lib.rs │ ├── source.rs │ └── span.rs ├── libeir_frontend/ │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── abstr_erlang.rs │ ├── eir.rs │ ├── erlang.rs │ └── lib.rs ├── libeir_intern/ │ ├── Cargo.toml │ └── src/ │ ├── arena.rs │ ├── lib.rs │ └── symbol.rs ├── libeir_interpreter/ │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── erl_lib/ │ │ ├── erlang.rs │ │ ├── file.rs │ │ ├── lists.rs │ │ ├── maps.rs │ │ ├── math.rs │ │ ├── mod.rs │ │ └── os.rs │ ├── erl_tests/ │ │ └── mod.rs │ ├── lib.rs │ ├── mailbox.rs │ ├── module.rs │ ├── pattern.rs │ ├── process/ │ │ ├── match.rs │ │ └── mod.rs │ ├── receive.rs │ ├── term.rs │ ├── trace/ │ │ ├── dummy.rs │ │ ├── mod.rs │ │ └── trace.rs │ └── vm.rs ├── libeir_ir/ │ ├── Cargo.toml │ ├── build.rs │ └── src/ │ ├── algo/ │ │ ├── equality.rs │ │ ├── func_tree.rs │ │ ├── live.rs │ │ ├── mangle/ │ │ │ ├── datatypes.rs │ │ │ ├── mod.rs │ │ │ ├── receiver.rs │ │ │ └── tests.rs │ │ ├── mod.rs │ │ ├── op_branches.rs │ │ └── validate.rs │ ├── binary.rs │ ├── constant/ │ │ ├── atomic.rs │ │ ├── float.rs │ │ └── mod.rs │ ├── dialect/ │ │ └── mod.rs │ ├── function/ │ │ ├── builder/ │ │ │ ├── mod.rs │ │ │ ├── op.rs │ │ │ └── primop.rs │ │ ├── format.rs │ │ ├── location.rs │ │ ├── mod.rs │ │ ├── op.rs │ │ ├── pool_container.rs │ │ ├── primop.rs │ │ ├── serialize.rs │ │ └── value.rs │ ├── graph/ │ │ ├── block_graph.rs │ │ ├── control_flow_graph.rs │ │ ├── live_block_graph.rs │ │ └── mod.rs │ ├── ir_construct_macro.rs │ ├── lib.rs │ ├── module.rs │ ├── operation/ │ │ ├── binary_construct.rs │ │ ├── case.rs │ │ ├── mod.rs │ │ └── receive.rs │ ├── pattern/ │ │ ├── fmt.rs │ │ └── mod.rs │ ├── text/ │ │ ├── ast/ │ │ │ ├── mod.rs │ │ │ └── raise.rs │ │ ├── dot_printer.rs │ │ ├── lower/ │ │ │ ├── location.rs │ │ │ └── mod.rs │ │ ├── mod.rs │ │ ├── parse_dyn/ │ │ │ └── mod.rs │ │ ├── parser/ │ │ │ ├── errors.rs │ │ │ ├── grammar.lalrpop │ │ │ ├── lexer.rs │ │ │ └── mod.rs │ │ ├── printer/ │ │ │ ├── constant.rs │ │ │ ├── mod.rs │ │ │ └── operation.rs │ │ └── printer.old.rs │ └── traits/ │ ├── mod.rs │ ├── op_branches.rs │ ├── parser.rs │ └── printer.rs ├── libeir_lowerutils/ │ ├── Cargo.toml │ └── src/ │ ├── lib.rs │ └── tests.rs ├── libeir_passes/ │ ├── Cargo.toml │ └── src/ │ ├── compile_pattern/ │ │ ├── erlang_pattern_provider.rs │ │ ├── lower_cfg.rs │ │ ├── mod.rs │ │ └── tests.rs │ ├── dummy_location.rs │ ├── lib.rs │ ├── naive_inline_closures/ │ │ ├── mod.rs │ │ └── tests.rs │ ├── simplify_cfg/ │ │ ├── analyze/ │ │ │ ├── call.rs │ │ │ ├── if_bool.rs │ │ │ ├── mod.rs │ │ │ └── unpack_value_list.rs │ │ ├── chain_graph/ │ │ │ ├── mod.rs │ │ │ └── synthesis/ │ │ │ ├── compound.rs │ │ │ ├── mod.rs │ │ │ ├── simple.rs │ │ │ ├── single.rs │ │ │ └── terminating_target.rs │ │ ├── mod.rs │ │ ├── rewrite.rs │ │ └── tests.rs │ ├── util.rs │ └── validate.rs ├── libeir_syntax_core/ │ ├── Cargo.toml │ ├── build.rs │ └── src/ │ ├── ast.rs │ ├── lexer.rs │ ├── lib.rs │ ├── lower_hir.rs │ └── parser/ │ ├── grammar.lalrpop │ ├── grammar.rs │ └── mod.rs ├── libeir_syntax_erl/ │ ├── .gitignore │ ├── Cargo.toml │ ├── build.rs │ └── src/ │ ├── abstr/ │ │ ├── lower.rs │ │ └── mod.rs │ ├── evaluator.rs │ ├── lexer/ │ │ ├── errors.rs │ │ ├── lexer.rs │ │ ├── mod.rs │ │ └── token.rs │ ├── lib.rs │ ├── lower/ │ │ ├── errors.rs │ │ ├── exception_handler_stack.rs │ │ ├── expr/ │ │ │ ├── binary.rs │ │ │ ├── binary_expr.rs │ │ │ ├── case.rs │ │ │ ├── catch.rs │ │ │ ├── comprehension.rs │ │ │ ├── literal.rs │ │ │ ├── map.rs │ │ │ ├── mod.rs │ │ │ ├── receive.rs │ │ │ └── record.rs │ │ ├── mod.rs │ │ ├── pattern/ │ │ │ ├── mod.rs │ │ │ └── tree/ │ │ │ ├── from_expr.rs │ │ │ ├── lower.rs │ │ │ ├── merge.rs │ │ │ ├── mod.rs │ │ │ └── promote_values.rs │ │ ├── scope.rs │ │ └── tests.rs │ ├── parser/ │ │ ├── ast/ │ │ │ ├── attributes.rs │ │ │ ├── expr.rs │ │ │ ├── functions.rs │ │ │ ├── mod.rs │ │ │ ├── module.rs │ │ │ └── types.rs │ │ ├── binary.rs │ │ ├── errors.rs │ │ ├── grammar.lalrpop │ │ ├── macros.rs │ │ └── mod.rs │ ├── preprocessor/ │ │ ├── directive.rs │ │ ├── directives.rs │ │ ├── errors.rs │ │ ├── macros.rs │ │ ├── mod.rs │ │ ├── preprocessor.rs │ │ ├── token_reader.rs │ │ ├── token_stream.rs │ │ └── types.rs │ └── util/ │ ├── binary/ │ │ ├── mod.rs │ │ └── static.rs │ ├── encoding.rs │ ├── escape_stm.rs │ ├── mod.rs │ ├── string.rs │ └── string_tokenizer.rs ├── libeir_tests/ │ ├── Cargo.toml │ ├── shadowing.erl │ └── src/ │ ├── control_flow/ │ │ ├── accumulate_list.rs │ │ ├── fib.rs │ │ ├── get_values.rs │ │ ├── mod.rs │ │ ├── nth_root.rs │ │ └── shadowing.rs │ ├── ct_runner.rs │ ├── errors.rs │ ├── lib.rs │ ├── list_comprehensions.rs │ ├── otp/ │ │ └── mod.rs │ ├── patterns.rs │ └── records.rs ├── otp_build/ │ ├── bs_match_SUITE.erl │ ├── bs_match_SUITE.erl.patch │ ├── bs_match_SUITE_patched.erl │ ├── otp_build_core.patch │ ├── patch_build_otp.sh │ └── patch_tests.sh ├── test_data/ │ ├── Elixir.Enum.erl │ ├── README.md │ ├── application_controller.core │ ├── basic_module.core │ ├── basic_module.erl │ ├── basic_regress/ │ │ ├── enum_aggregate.core │ │ ├── function_capture_1.core │ │ ├── line_annotation_fail_1.core │ │ └── type_construction_fail_1.core │ ├── compile.core │ ├── compile_messages_per_file.core │ ├── compile_stripped.core │ ├── compile_stripped_small.core │ ├── factorial.core │ ├── factorial.erl │ ├── function_capture.core │ ├── function_capture.erl │ ├── gen_server.core │ ├── language_test.core │ ├── language_test.erl │ ├── long_strings.core │ ├── long_strings.core.bak │ ├── map_test.core │ ├── map_test.erl │ ├── maps.abstr │ ├── maps.erl │ ├── match.core │ ├── match.erl │ ├── match_SUITE.abstr │ ├── match_SUITE.erl │ ├── test.core │ ├── test.erl │ ├── testing.core │ └── testing.erl ├── tools/ │ ├── Cargo.toml │ └── src/ │ └── compile.rs └── util/ ├── any_map/ │ ├── Cargo.toml │ └── src/ │ ├── any_any_map.rs │ ├── any_map.rs │ └── lib.rs ├── libeir_etf/ │ ├── Cargo.toml │ ├── src/ │ │ ├── constants.rs │ │ ├── decoder.rs │ │ ├── encoder.rs │ │ ├── lib.rs │ │ ├── reader.rs │ │ ├── term.rs │ │ ├── test/ │ │ │ └── mod.rs │ │ └── writer.rs │ └── test_data/ │ ├── basic_list.etf │ ├── generate.exs │ ├── int_tuple.etf │ ├── test_1.etf │ └── test_2.etf ├── libeir_util_binary/ │ ├── Cargo.toml │ └── src/ │ ├── bitvec.rs │ ├── extend.rs │ ├── impls.rs │ ├── integer.rs │ ├── lib.rs │ └── slice.rs ├── libeir_util_datastructures/ │ ├── Cargo.toml │ └── src/ │ ├── aux_hash_map.rs │ ├── aux_traits/ │ │ ├── bforest_impl.rs │ │ ├── entity_impl.rs │ │ ├── mod.rs │ │ └── std_impl/ │ │ └── mod.rs │ ├── dedup_aux_primary_map.rs │ ├── forest.rs │ ├── hashmap_stack.rs │ ├── lib.rs │ └── pooled_entity_set.rs ├── libeir_util_dot_graph/ │ ├── Cargo.toml │ └── src/ │ ├── lib.rs │ └── tablegen.rs ├── libeir_util_number/ │ ├── Cargo.toml │ └── src/ │ ├── bigint_to_float.rs │ ├── binary.rs │ ├── float.rs │ ├── integer.rs │ ├── lib.rs │ └── number.rs ├── libeir_util_parse/ │ ├── Cargo.toml │ └── src/ │ ├── errors.rs │ ├── lib.rs │ ├── parser.rs │ ├── result.rs │ ├── scanner.rs │ ├── source.rs │ └── util.rs ├── libeir_util_parse_listing/ │ ├── Cargo.toml │ ├── build.rs │ └── src/ │ ├── ast.rs │ ├── grammar.lalrpop │ ├── lib.rs │ ├── parser.rs │ └── token.rs ├── libeir_util_pattern_compiler/ │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── cfg/ │ │ ├── generate_dot.rs │ │ └── mod.rs │ ├── lib.rs │ ├── matrix.rs │ ├── pattern.rs │ └── simple_pattern/ │ ├── mod.rs │ └── test.rs ├── libeir_util_prof/ │ ├── Cargo.toml │ └── src/ │ └── lib.rs ├── meta_table/ │ ├── Cargo.toml │ └── src/ │ └── lib.rs └── scoped_cell/ ├── Cargo.toml └── src/ └── lib.rs