openscad-cpp-evaluator 1.28.3__tar.gz → 1.28.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/PKG-INFO +1 -1
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/eval_use.hpp +4 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/pyproject.toml +1 -1
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/csg_resolve.cpp +4 -1
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/eval_use.cpp +5 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_coverage.cpp +28 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/uv.lock +1 -1
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/.github/workflows/ci.yml +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/.github/workflows/wheels.yml +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/.gitignore +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/.gitmodules +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/CLAUDE.md +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/LICENSE +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/README.md +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/bindings/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/bindings/ast_to_py.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/bindings/module.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/cmake/embed_font.cmake +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/examples/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/examples/eval_perf_benchmark.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/examples/manifold_cache_reuse.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/examples/minimal_debugger.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/.github/workflows/ci.yml +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/.gitignore +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/CLAUDE.md +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/README.md +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/include/openscad_cpp_parser/api.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/ast_node.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/comments.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/declarations.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/expression.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/module_instantiation.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/scope_builder.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/vector_element.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/include/openscad_cpp_parser/comments.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/include/openscad_cpp_parser/position.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/include/openscad_cpp_parser/pretty_print.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/include/openscad_cpp_parser/scope.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/include/openscad_cpp_parser/scope_table.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/include/openscad_cpp_parser/serialization.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/include/openscad_cpp_parser/source_map.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/api.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/ast/ast_node.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/ast/declarations.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/ast/expression.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/ast/format_utils.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/ast/module_instantiation.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/ast/scope_builder.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/ast/vector_element.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/comment_attach_internal.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/comments.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/grammar/driver.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/grammar/driver.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/grammar/lexer.l +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/grammar/lexer_api.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/grammar/oscad_location.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/grammar/parser.y +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/inline_comment_attach.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/position.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/pretty_print.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/scope.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/serialization/json_io.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/serialization/yaml_io.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/src/source_map.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/test_assignments.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/test_ast_generation.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/test_comments_and_files.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/test_const_borrow.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/test_control.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/test_expressions.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/test_functions.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/test_helpers.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/test_inline_comments.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/test_lexical.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/test_modules.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/test_node_str.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/test_pretty_print.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/test_render_expression.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/test_scope.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/test_serialization.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/test_smoke.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/test_source_map.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/test_strict_commas.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/test_use_include.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tests/test_vectors.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tools/cli/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/external/openscad_cpp_parser/tools/cli/main.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/bound_args.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/bytecode.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/bytecode_compiler.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/bytecode_vm.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/call_args.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/colored_body.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/coverage.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/csg_node.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/css_colors.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/debug_hooks.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/debug_repl.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/dispatch.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/dxf_svg_import.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/eval_context.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/eval_error.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/evaluator.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/export.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/font_match.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/font_provider.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/format_closure.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/freetype_font_provider.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/function_builtins.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/import_builtin.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/manifold_cache.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/mesh_check.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/mesh_import.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/osc_range.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/profile.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/scope_trail.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/segments.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/surface_load.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/text_metrics.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/utf8.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/value.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/include/openscad_cpp_evaluator/zip_stored.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/python/openscad_cpp_evaluator/__init__.py +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/resources/fonts/LICENSE +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/resources/fonts/LiberationSans-Bold.ttf +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/resources/fonts/LiberationSans-BoldItalic.ttf +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/resources/fonts/LiberationSans-Italic.ttf +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/resources/fonts/LiberationSans-Regular.ttf +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/booleans.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/builtins.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/call_args.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/color.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/control.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/dxf_dim.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/extrude.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/function_builtins.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/import.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/modifiers.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/primitives_2d.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/primitives_3d.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/registry.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/roof.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/segments.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/surface.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/text.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/topology.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/transforms.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/bytecode_compiler.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/bytecode_vm.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/colored_body.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/coverage.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/csg_generate.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/css_colors.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/debug/debug_repl.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/debug_profile.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/eval_context.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/eval_error.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/export.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/expr_eval.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/format_closure.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/import/dxf_import.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/import/mesh_import.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/import/surface_load.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/import/svg_import.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/manifold_cache.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/measure_geometry.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/mesh_check.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/stmt_eval.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/text/font_match.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/text/freetype_font_provider.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/text/text_metrics.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/user_calls.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/utf8.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/value.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/zip_stored.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_booleans.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_bytecode_compiler.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_children_separate.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_cli.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_control_flow.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_csg_tree.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_debug_hooks.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_dxf_svg_import.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_eval_context.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_export.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_expr_eval.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_extrude_roof.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_feature_detection.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_function_builtins.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_helpers.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_import_export.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_include_cache.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_manifold_cache.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_mesh_check.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_multi_color_merge.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_primitives.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_profiling.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_python_bindings.py +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_render_expr.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_scope_trail.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_scoping.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_surface.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_tail_calls.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_text.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_transforms.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_unexpected_args.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_use.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_value.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_viewport_params.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_zip_stored.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tools/cli/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tools/cli/cli_lib.cpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tools/cli/cli_lib.hpp +0 -0
- {openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tools/cli/main.cpp +0 -0
|
@@ -24,6 +24,10 @@ namespace oscadeval {
|
|
|
24
24
|
struct UsedFileGlobals {
|
|
25
25
|
const oscad::Scope* root = nullptr;
|
|
26
26
|
std::vector<const oscad::ASTNode*> assignments;
|
|
27
|
+
// Every module/function the file sees -- its own and what it use<>d --
|
|
28
|
+
// for coverage, which is otherwise handed only the top file's nodes, so
|
|
29
|
+
// a file reached only by a nested use<> went unreported.
|
|
30
|
+
std::vector<const oscad::ASTNode*> declarations;
|
|
27
31
|
};
|
|
28
32
|
|
|
29
33
|
struct ResolvedUseScopes {
|
|
@@ -303,7 +303,10 @@ std::vector<ColoredBody> Evaluator::evaluateImpl(const NodeList& nodes, EvalCont
|
|
|
303
303
|
roots.reserve(nodes.size());
|
|
304
304
|
for (const auto& n : nodes) roots.push_back(&*n);
|
|
305
305
|
std::vector<const oscad::ASTNode*> extra;
|
|
306
|
-
for (const UsedFileGlobals& g : usedFileGlobals_)
|
|
306
|
+
for (const UsedFileGlobals& g : usedFileGlobals_) {
|
|
307
|
+
extra.insert(extra.end(), g.assignments.begin(), g.assignments.end());
|
|
308
|
+
roots.insert(roots.end(), g.declarations.begin(), g.declarations.end()); // merged by position
|
|
309
|
+
}
|
|
307
310
|
coverageResult = buildCoverageResult(roots, extra, coverageRecorder_);
|
|
308
311
|
}
|
|
309
312
|
|
|
@@ -92,6 +92,11 @@ ResolvedUseScopes resolveUseScopesInto(const std::vector<const oscad::ASTNode*>&
|
|
|
92
92
|
for (const oscad::ASTNode* n : nested.ownNodesFiltered) {
|
|
93
93
|
if (n->kind() == oscad::NodeKind::Assignment) globals.assignments.push_back(n);
|
|
94
94
|
}
|
|
95
|
+
for (const oscad::ASTNode* n : nested.processedNodes) {
|
|
96
|
+
if (n->kind() == oscad::NodeKind::ModuleDeclaration || n->kind() == oscad::NodeKind::FunctionDeclaration) {
|
|
97
|
+
globals.declarations.push_back(n);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
95
100
|
result.usedFileGlobals.push_back(std::move(globals));
|
|
96
101
|
}
|
|
97
102
|
|
|
@@ -299,4 +299,32 @@ TEST(Coverage, AFileUsedTwiceIsListedOnce) {
|
|
|
299
299
|
fs::remove_all(dir);
|
|
300
300
|
}
|
|
301
301
|
|
|
302
|
+
// A file reached only through a used file's own use<> ran too. Only the top
|
|
303
|
+
// file's nodes were handed to coverage, so its declarations went unlisted.
|
|
304
|
+
TEST(Coverage, AFileReachedByNestedUseIsListed) {
|
|
305
|
+
namespace fs = std::filesystem;
|
|
306
|
+
const fs::path dir = fs::temp_directory_path() / "oscad_cov_nested";
|
|
307
|
+
fs::create_directories(dir);
|
|
308
|
+
const fs::path lib = dir / "lib.scad", mid = dir / "mid.scad", main = dir / "main.scad";
|
|
309
|
+
std::ofstream(lib) << "g = 1;\nfunction hit(x) = x + g;\nfunction miss(x) = x;\n";
|
|
310
|
+
std::ofstream(mid) << "use <lib.scad>\nfunction f() = hit(1);\n";
|
|
311
|
+
std::ofstream(main) << "use <mid.scad>\necho(f(), f());\n";
|
|
312
|
+
auto ast = oscad::getASTFromFile(main.string());
|
|
313
|
+
ResolvedUseScopes uses = resolveUseScopes(ast, main.string(), {});
|
|
314
|
+
Evaluator ev({}, nullptr, nullptr, {}, false, /*coverage=*/true);
|
|
315
|
+
ev.setUsedFileGlobals(uses.usedFileGlobals);
|
|
316
|
+
EvalContext ctx = EvalContext::makeRoot(uses.rootScope.get());
|
|
317
|
+
ev.evaluate(uses.processedNodes, ctx, {}, false);
|
|
318
|
+
ASSERT_TRUE(ev.coverageResult.has_value());
|
|
319
|
+
std::map<std::pair<int, CoverageKind>, std::vector<std::uint32_t>> libSpans;
|
|
320
|
+
for (const CoverageSpan& s : ev.coverageResult->spans) {
|
|
321
|
+
if (fs::path(s.origin).filename() == "lib.scad") libSpans[{s.line, s.kind}].push_back(s.hits);
|
|
322
|
+
}
|
|
323
|
+
auto hits = [&](int line, CoverageKind kind) { return libSpans[std::make_pair(line, kind)]; };
|
|
324
|
+
EXPECT_EQ(hits(2, CoverageKind::Body), std::vector<std::uint32_t>{2u});
|
|
325
|
+
EXPECT_EQ(hits(3, CoverageKind::Body), std::vector<std::uint32_t>{0u});
|
|
326
|
+
EXPECT_EQ(hits(1, CoverageKind::Statement), std::vector<std::uint32_t>{1u}); // its global, read and so evaluated, once
|
|
327
|
+
fs::remove_all(dir);
|
|
328
|
+
}
|
|
329
|
+
|
|
302
330
|
} // namespace oscadeval
|
|
File without changes
|
{openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/.github/workflows/wheels.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/examples/eval_perf_benchmark.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/examples/manifold_cache_reuse.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/examples/minimal_debugger.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/function_builtins.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/primitives_2d.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/builtins/primitives_3d.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/src/text/freetype_font_provider.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_bytecode_compiler.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_children_separate.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_dxf_svg_import.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_feature_detection.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_function_builtins.cpp
RENAMED
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_import_export.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_include_cache.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_manifold_cache.cpp
RENAMED
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_multi_color_merge.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_python_bindings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_unexpected_args.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.28.3 → openscad_cpp_evaluator-1.28.4}/tests/test_viewport_params.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|