• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

eclipse-aascw / aas-core-codegen / 35530445776
90%

Build:
DEFAULT BRANCH: main
Ran 20 Sep 2026 06:56PM UTC
Jobs 3
Files 264
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

20 Sep 2026 06:52PM UTC coverage: 86.864% (+0.04%) from 86.823%
35530445776

push

github

web-flow
Polish JSON and XML de/serialization (#738)

We made a sweep over all the targets to prepare them for JSON-value
(value-only) de/serialization. This change contains all the minor fixes
and refactorings which simplify and re-group the de/serializations.

C++. The error paths in the verification were built back to front: the
statements run deepest-segment-first, so appending them rendered
``[3].some_property`` where ``.some_property[3]`` was meant. This was
introduced in #653 and stayed invisible while the single-segment paths
dominated.

C#, the JSON serialization. Every property was written out as
a statement of its own, guarded by a ``try``/``catch`` only where
``reaches_a_number``, which was buggy and not fool proof.

Every property now goes through one ``SetProperty<T>`` instead, which
holds the handler once and prepends the property there.

The serializer has to be handed over as a value, and a method
group converted to a delegate allocates on every conversion under
``LangVersion 8``, so it comes from a cached ``Serializer<T>`` field,
beside the ones the lists and the tuples already had. The fields are keyed
by the serializer and not by the type -- every class goes through
``TransformIClass``, a named union through ``TransformIUnion`` and
a constrained primitive through the ``ToJsonValue`` of its constrainee --
and ``Serializer<in T>`` is contravariant, so the field is declared on the
general type.

The path names the C# property, and not the JSON one, and renders through
a new ``Reporting.GenerateCSharpPath``: a serialization error answers
a call the caller made on an *instance*, which they hold, and not on
a document which has not been written yet.

``{Enum}ToJsonValue`` used to let an invalid literal escape as a raw
``System.ArgumentException``, although ``ToJsonObject`` documents
a ``SerializationException``. It raises a ``SerializationFailure`` like
everything else now.

C#, the XML serialization. The writer threw ``ArgumentException`` with
n... (continued)

186 of 187 new or added lines in 16 files covered. (99.47%)

3 existing lines in 2 files now uncovered.

35244 of 40574 relevant lines covered (86.86%)

2.61 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
96.45
-0.43% aas_core_codegen/java/lib/_generate_jsonization.py

Coverage Regressions

Lines Coverage ∆ File
2
96.45
-0.43% aas_core_codegen/java/lib/_generate_jsonization.py
1
95.69
0.65% aas_core_codegen/csharp/lib/_generate_jsonization.py
Jobs
ID Job ID Ran Files Coverage
1 3.10 - 35530445776.1 20 Sep 2026 06:58PM UTC 264
86.86
GitHub Action Run
2 3.11 - 35530445776.2 20 Sep 2026 06:58PM UTC 264
86.86
GitHub Action Run
3 3.12 - 35530445776.3 20 Sep 2026 06:58PM UTC 264
86.86
GitHub Action Run
Source Files on build 35530445776
  • Tree
  • List 264
  • Changed 18
  • Source Changed 0
  • Coverage Changed 18
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • cb88bb3b on github
  • Prev Build on main (#35415302810)
  • Next Build on main (#35609393177)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc