Skip to content

Add static fixed TypeCode support - #2600

Merged
jwillemsen merged 2 commits into
DOCGroup:masterfrom
jwillemsen:jwi-fixed-typecode-static
Oct 7, 2026
Merged

jwillemsen merged 2 commits into
DOCGroup:masterfrom
jwillemsen:jwi-fixed-typecode-static

Conversation

@jwillemsen

@jwillemsen jwillemsen commented Oct 7, 2026 •

Copy link
Copy Markdown
Member

Summary

  • add the library-backed static specialization for fixed TypeCodes
  • generate static fixed TypeCodes from TAO IDL
  • cover generated fixed TypeCode precision and scale in IDL_Test

Validation

  • built ACE, TAO IDL, core TAO, and TAO AnyTypeCode
  • regenerated fixed.idl with the rebuilt compiler and verified it includes Fixed_TypeCode_Static.h
  • compiled and ran the generated fixed TypeCode precision/scale check

Summary by CodeRabbit

  • Bug Fixes
    • Corrected generated fixed-point TypeCodes to use the static implementation and retain their digits and scale.
  • Tests
    • Added checks confirming that fixed-point TypeCodes report the expected digits and scale.

@coderabbitai

coderabbitai Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: d6f6ad34-f8f4-4044-9aab-b9e190cb2401
📥 Commits

Reviewing files that changed from the base of the PR and between db5cdb4 and 1483ae3.

📒 Files selected for processing (1)
  • TAO/tao/AnyTypeCode/Fixed_TypeCode_Static.h

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.


Walkthrough

The change adds a static fixed TypeCode implementation, updates IDL code generation and build sources to use it, and adds test checks for the digits and scale of two fixed-point types.

Changes

Static Fixed TypeCode

Layer / File(s) Summary
Static fixed TypeCode implementation
TAO/tao/AnyTypeCode/Fixed_TypeCode_Static.h, TAO/tao/AnyTypeCode/Fixed_TypeCode_Static.inl, TAO/tao/AnyTypeCode/Fixed_TypeCode_Static.cpp
Adds a Fixed<TAO::Null_RefCount_Policy> specialization that stores digits and scale, marshals those values, implements equality and equivalence, returns a compact TypeCode reference, and exposes digits and scale.
Code generation, build, and test wiring
TAO/TAO_IDL/be/be_codegen.cpp, TAO/tao/AnyTypeCode/AnyTypeCode.mpc, TAO/tests/IDL_Test/main.cpp
Code generation now includes Fixed_TypeCode_Static.h, and the AnyTypeCode source list includes its implementation. The IDL test checks the digits and scale of WholeNumber and Amount.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Feature

Merge Risk: ⚪ Minimal · up to 1483a

The fixed TypeCode implementation is connected to IDL generation and the AnyTypeCode build, with an IDL check for generated precision and scale. No material merge-blocking risk was identified.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 6.67% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 15 functions across 4 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main change: adding static fixed TypeCode support.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

A rabbit checks the digits bright,
And scale set neatly, just right.
Static TypeCodes marshal along,
While tests confirm each fixed-point song.
One hop for build, one hop for code,
Then carrots down the testing road.

Comment @coderabbitai help to get the list of available commands.

@mergify

mergify Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

This pull request does not currently match the merge queue conditions, so it cannot be queued from here. The box comes back if it matches again.

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 10 complexity

Metric Results
Complexity 10

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@jwillemsen
jwillemsen merged commit 5676c1e into DOCGroup:master Oct 7, 2026
39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant