[package]
edition = "2021"
name = "decy-codegen"
version = "2.2.0"
authors = ["Decy Contributors"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust code generation from HIR with minimal unsafe blocks"
homepage = "https://github.com/paiml/decy"
documentation = "https://docs.rs/decy"
readme = false
keywords = [
"c",
"rust",
"transpiler",
"compiler",
"static-analysis",
]
categories = [
"development-tools",
"compilers",
"command-line-utilities",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/paiml/decy"
[lib]
name = "decy_codegen"
path = "src/lib.rs"
[[example]]
name = "malloc_to_box"
path = "examples/malloc_to_box.rs"
[[test]]
name = "array_index_type_test"
path = "tests/array_index_type_test.rs"
[[test]]
name = "array_parameter_slice_test"
path = "tests/array_parameter_slice_test.rs"
[[test]]
name = "array_ptr_arithmetic_test"
path = "tests/array_ptr_arithmetic_test.rs"
[[test]]
name = "bitwise_operators_documentation_test"
path = "tests/bitwise_operators_documentation_test.rs"
[[test]]
name = "bool_type_documentation_test"
path = "tests/bool_type_documentation_test.rs"
[[test]]
name = "box_default_test"
path = "tests/box_default_test.rs"
[[test]]
name = "calloc_to_vec_test"
path = "tests/calloc_to_vec_test.rs"
[[test]]
name = "cast_operators_documentation_test"
path = "tests/cast_operators_documentation_test.rs"
[[test]]
name = "char_int_coercion_test"
path = "tests/char_int_coercion_test.rs"
[[test]]
name = "complex_macro_expansion_test"
path = "tests/complex_macro_expansion_test.rs"
[[test]]
name = "compound_assignment_test"
path = "tests/compound_assignment_test.rs"
[[test]]
name = "compound_literals_documentation_test"
path = "tests/compound_literals_documentation_test.rs"
[[test]]
name = "define_const_test"
path = "tests/define_const_test.rs"
[[test]]
name = "define_macro_documentation_test"
path = "tests/define_macro_documentation_test.rs"
[[test]]
name = "designated_initializers_documentation_test"
path = "tests/designated_initializers_documentation_test.rs"
[[test]]
name = "e2e_examples_test"
path = "tests/e2e_examples_test.rs"
[[test]]
name = "end_to_end_test"
path = "tests/end_to_end_test.rs"
[[test]]
name = "enums_documentation_test"
path = "tests/enums_documentation_test.rs"
[[test]]
name = "flexible_array_members_documentation_test"
path = "tests/flexible_array_members_documentation_test.rs"
[[test]]
name = "for_loop_declarations_documentation_test"
path = "tests/for_loop_declarations_documentation_test.rs"
[[test]]
name = "free_to_drop_test"
path = "tests/free_to_drop_test.rs"
[[test]]
name = "function_like_macro_expansion_test"
path = "tests/function_like_macro_expansion_test.rs"
[[test]]
name = "function_like_macro_property_tests"
path = "tests/function_like_macro_property_tests.rs"
[[test]]
name = "function_pointer_codegen_test"
path = "tests/function_pointer_codegen_test.rs"
[[test]]
name = "function_pointer_property_tests"
path = "tests/function_pointer_property_tests.rs"
[[test]]
name = "function_pointers_documentation_test"
path = "tests/function_pointers_documentation_test.rs"
[[test]]
name = "goto_documentation_test"
path = "tests/goto_documentation_test.rs"
[[test]]
name = "hexadecimal_float_literals_documentation_test"
path = "tests/hexadecimal_float_literals_documentation_test.rs"
[[test]]
name = "ifdef_documentation_test"
path = "tests/ifdef_documentation_test.rs"
[[test]]
name = "include_documentation_test"
path = "tests/include_documentation_test.rs"
[[test]]
name = "inline_functions_documentation_test"
path = "tests/inline_functions_documentation_test.rs"
[[test]]
name = "integration_test"
path = "tests/integration_test.rs"
[[test]]
name = "long_long_type_documentation_test"
path = "tests/long_long_type_documentation_test.rs"
[[test]]
name = "macro_expansion_constants_test"
path = "tests/macro_expansion_constants_test.rs"
[[test]]
name = "macro_expansion_property_tests"
path = "tests/macro_expansion_property_tests.rs"
[[test]]
name = "malloc_ptr_test"
path = "tests/malloc_ptr_test.rs"
[[test]]
name = "malloc_size_precedence_test"
path = "tests/malloc_size_precedence_test.rs"
[[test]]
name = "malloc_struct_ptr_test"
path = "tests/malloc_struct_ptr_test.rs"
[[test]]
name = "malloc_vec_type_test"
path = "tests/malloc_vec_type_test.rs"
[[test]]
name = "mixed_declarations_documentation_test"
path = "tests/mixed_declarations_documentation_test.rs"
[[test]]
name = "nested_struct_test"
path = "tests/nested_struct_test.rs"
[[test]]
name = "null_to_option_test"
path = "tests/null_to_option_test.rs"
[[test]]
name = "nullable_pointer_test"
path = "tests/nullable_pointer_test.rs"
[[test]]
name = "option_box_test"
path = "tests/option_box_test.rs"
[[test]]
name = "pattern_gen_tests"
path = "tests/pattern_gen_tests.rs"
[[test]]
name = "pointer_arithmetic_safe_test"
path = "tests/pointer_arithmetic_safe_test.rs"
[[test]]
name = "postfix_increment_test"
path = "tests/postfix_increment_test.rs"
[[test]]
name = "prefix_increment_test"
path = "tests/prefix_increment_test.rs"
[[test]]
name = "pthread_mutex_transformation_tests"
path = "tests/pthread_mutex_transformation_tests.rs"
[[test]]
name = "raw_ptr_return_test"
path = "tests/raw_ptr_return_test.rs"
[[test]]
name = "realloc_to_vec_test"
path = "tests/realloc_to_vec_test.rs"
[[test]]
name = "realloc_void_cast_test"
path = "tests/realloc_void_cast_test.rs"
[[test]]
name = "restrict_keyword_documentation_test"
path = "tests/restrict_keyword_documentation_test.rs"
[[test]]
name = "safety_comments_test"
path = "tests/safety_comments_test.rs"
[[test]]
name = "scanf_documentation_test"
path = "tests/scanf_documentation_test.rs"
[[test]]
name = "signature_property_tests"
path = "tests/signature_property_tests.rs"
[[test]]
name = "size_t_typedef_test"
path = "tests/size_t_typedef_test.rs"
[[test]]
name = "size_types_test"
path = "tests/size_types_test.rs"
[[test]]
name = "sizeof_edge_cases_test"
path = "tests/sizeof_edge_cases_test.rs"
[[test]]
name = "slice_to_ptr_test"
path = "tests/slice_to_ptr_test.rs"
[[test]]
name = "sprint19_codegen_tests"
path = "tests/sprint19_codegen_tests.rs"
[[test]]
name = "strcpy_test"
path = "tests/strcpy_test.rs"
[[test]]
name = "string_handling_codegen_test"
path = "tests/string_handling_codegen_test.rs"
[[test]]
name = "string_iteration_test"
path = "tests/string_iteration_test.rs"
[[test]]
name = "strlen_test"
path = "tests/strlen_test.rs"
[[test]]
name = "struct_pointer_field_index_test"
path = "tests/struct_pointer_field_index_test.rs"
[[test]]
name = "switch_integration_test"
path = "tests/switch_integration_test.rs"
[[test]]
name = "ternary_operator_documentation_test"
path = "tests/ternary_operator_documentation_test.rs"
[[test]]
name = "typedef_codegen_test"
path = "tests/typedef_codegen_test.rs"
[[test]]
name = "typedef_documentation_test"
path = "tests/typedef_documentation_test.rs"
[[test]]
name = "typedef_property_tests"
path = "tests/typedef_property_tests.rs"
[[test]]
name = "typedef_struct_test"
path = "tests/typedef_struct_test.rs"
[[test]]
name = "unions_documentation_test"
path = "tests/unions_documentation_test.rs"
[[test]]
name = "unsigned_hash_test"
path = "tests/unsigned_hash_test.rs"
[[test]]
name = "variadic_documentation_test"
path = "tests/variadic_documentation_test.rs"
[[test]]
name = "vec_return_test"
path = "tests/vec_return_test.rs"
[[test]]
name = "vla_to_vec_test"
path = "tests/vla_to_vec_test.rs"
[[test]]
name = "void_pointer_param_test"
path = "tests/void_pointer_param_test.rs"
[[test]]
name = "volatile_documentation_test"
path = "tests/volatile_documentation_test.rs"
[[bench]]
name = "codegen_benchmarks"
path = "benches/codegen_benchmarks.rs"
harness = false
[dependencies.anyhow]
version = "1.0"
[dependencies.decy-analyzer]
version = "2.0.0"
[dependencies.decy-hir]
version = "2.0.0"
[dependencies.decy-ownership]
version = "2.0.0"
[dependencies.proc-macro2]
version = "1.0"
[dependencies.quote]
version = "1.0"
[dependencies.syn]
version = "2.0"
features = [
"full",
"parsing",
]
[dependencies.thiserror]
version = "2.0"
[dependencies.tracing]
version = "0.1"
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.decy-core]
version = "2.0.0"
[dev-dependencies.decy-parser]
version = "2.0.0"
[dev-dependencies.proptest]
version = "1.4"
[dev-dependencies.tempfile]
version = "3.8"