Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Design and implement reflection #423

Closed
wants to merge 20 commits into from

Conversation

RiscadoA
Copy link
Member

@RiscadoA RiscadoA commented Jun 16, 2023

  • Add reflection base type Type.
  • Add type kinds PrimitiveType, ObjectType, VariantType, ArrayType and DictionaryType.
  • Add utility macros for implement reflection easily.
  • Document code througly and add a reflection sample.
  • Achieve 100% coverage or near it for the reflection module.
  • Automatically set default and move constructors for compiled types.

Implementing new serialization system will be left to the next PR.

@RiscadoA RiscadoA linked an issue Jun 16, 2023 that may be closed by this pull request
10 tasks
@RiscadoA RiscadoA self-assigned this Jun 16, 2023
@RiscadoA RiscadoA added the core label Jun 16, 2023
@codecov
Copy link

codecov bot commented Jun 16, 2023

Codecov Report

Patch coverage: 81.14% and project coverage change: +3.45 🎉

Comparison is base (d1169a0) 24.55% compared to head (02bd4f5) 28.01%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #423      +/-   ##
==========================================
+ Coverage   24.55%   28.01%   +3.45%     
==========================================
  Files          86      106      +20     
  Lines        7005     7461     +456     
==========================================
+ Hits         1720     2090     +370     
- Misses       5285     5371      +86     
Impacted Files Coverage Δ
core/include/cubos/core/reflection/type_map.hpp 0.00% <0.00%> (ø)
core/src/cubos/core/reflection/hints.cpp 0.00% <0.00%> (ø)
core/src/cubos/core/reflection/object.cpp 62.85% <62.85%> (ø)
core/src/cubos/core/reflection/primitive.cpp 66.66% <66.66%> (ø)
core/include/cubos/core/reflection/object.hpp 70.58% <70.58%> (ø)
core/src/cubos/core/reflection/array.cpp 73.17% <73.17%> (ø)
core/src/cubos/core/reflection/dictionary.cpp 78.37% <78.37%> (ø)
core/src/cubos/core/reflection/variant.cpp 80.32% <80.32%> (ø)
core/src/cubos/core/reflection/type.cpp 91.48% <91.48%> (ø)
core/include/cubos/core/reflection/array.hpp 100.00% <100.00%> (ø)
... and 10 more

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@RiscadoA RiscadoA force-pushed the 415-design-and-implement-reflection branch 2 times, most recently from 8f4a8d3 to ce66307 Compare June 18, 2023 09:21
@RiscadoA RiscadoA added this to the Core: Reflection 1 milestone Jun 20, 2023
@RiscadoA RiscadoA force-pushed the 415-design-and-implement-reflection branch from 968afe8 to b127488 Compare June 20, 2023 10:23
@RiscadoA RiscadoA marked this pull request as draft June 29, 2023 15:20
@RiscadoA RiscadoA force-pushed the 415-design-and-implement-reflection branch from 6c7556d to 02bd4f5 Compare June 29, 2023 15:48
@RiscadoA RiscadoA removed this from the Core: Reflection 1 milestone Aug 27, 2023
@RiscadoA
Copy link
Member Author

Closed in favor of multiple smaller PRs.

@RiscadoA RiscadoA closed this Sep 21, 2023
@RiscadoA RiscadoA deleted the 415-design-and-implement-reflection branch September 21, 2023 14:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Design and implement reflection
1 participant