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

eclipse-aascw / aas-core-codegen
85%

Build:
DEFAULT BRANCH: main
Repo Added 08 Sep 2026 12:32PM UTC
Token 6OEr7MwyCApRy9pVaul2mNkdHJbxMzUly regen
Build 21 Last
Files 269
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

LAST BUILD ON BRANCH main
branch: SELECT
CHANGE BRANCH
x
Sync Branches
  • No branch selected
  • main
  • mristin/Compose-Go-XML-de-serialization
  • mristin/Compose-Go-XML-serialization
  • mristin/De-compose-XML-de-serialization-in-Java
  • mristin/Decompose-csharp-xml-serialization
  • mristin/Decompose-csharp-xmlization-property-reading
  • mristin/Simplify-JSON-and-XML-serialization
  • mristin/Support-named-unions
  • mristin/Support-tuples
  • remove-textwrap-dedent
  • simplify-csharp-jsonization-modeltype

14 Sep 2026 08:00PM UTC coverage: 85.304% (+0.02%) from 85.286%
34890273264

push

github

web-flow
Compose the Java XML de-serialization (#690)

Java is the third backend to have its XML read side decomposed, after C#
(#686) and Go (#688), and it carried the repetition #686 described at four
levels rather than three.

Every property inlined its whole reading procedure into its own ``case``
block. Everything is now read through one composable shape, and
the pieces which do not vary are generated once:

    case "contentType": {
      final Reporting.Result<String> value =
        readTextAs_string(reader, isEmptyProperty);
      if (value.isError()) {
        valueError = value.getError();
      } else {
        theContentType = value.getResult();
      }
      break;
    }

The rationale and the design:

* A method reference to a ``static`` method captures nothing, so its
  ``invokedynamic`` call site is linked once and hands back
  the same instance afterwards; passing
  ``_DeserializeImplementation::readReference`` costs nothing.

  A capturing lambda is not free, and the old code had one in
  every ``try<X>FromElement`` and in every dispatcher, both closing over the
  enclosing ``reader``: an allocation on every single instance read. The
  read side now contains no lambdas at all -- every reader passed
  anywhere is a method reference to a static method -- so nothing can
  accidentally capture.

* Two shapes, and two only. ``ContentReader<T>`` reads the content of an
  element which has already been opened, ``ElementReader<T>`` reads a whole
  element. They are duals, and the wire format forces both, because it is
  asymmetric: an instance element is self-describing -- its local name *is*
  its type -- whereas a scalar element is not, its name being its position
  (the property's name, ``v`` in a list, ``v1``, ``v2``, ... in a tuple).

* One primitive, ``peekElementName``. It consumes nothing, and it is the
  single answer to "we are at an element, and this is its name". The framer
  ``readNamedElement`` checks that name against the one its cont... (continued)

229 of 231 new or added lines in 1 file covered. (99.13%)

33968 of 39820 relevant lines covered (85.3%)

2.56 hits per line

Relevant lines Covered
Build:
Build:
39820 RELEVANT LINES 33968 COVERED LINES
2.56 HITS PER LINE
Source Files on main
  • Tree
  • List 269
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
34890273264 main Compose the Java XML de-serialization (#690) Java is the third backend to have its XML read side decomposed, after C# (#686) and Go (#688), and it carried the repetition #686 described at four levels rather than three. Every property inlined its... push 14 Sep 2026 08:05PM UTC web-flow github
85.3
34878369796 mristin/De-compose-XML-de-serialization-in-Java Merge 7a4622e3c into 5e4bd0b3f Pull #690 14 Sep 2026 06:09PM UTC web-flow github
85.3
34782402679 main Compose the Go XML serialization (#689) Write-side dual of #688, as #687 was of #686 in C#. Measured on the AAS meta-model fixture, the serialization region of ``xmlization.go`` goes 11,080 -> 4,727 lines (-57%), and the file as a whole 16,692 -... push 13 Sep 2026 09:04PM UTC web-flow github
85.29
34778173263 mristin/Compose-Go-XML-serialization Merge 5fff1d0d1 into 731884040 Pull #689 13 Sep 2026 07:42PM UTC web-flow github
85.29
34776303801 main Compose the Go XML de-serialization (#688) This is the Go counterpart of #686, but the C# design does not carry over: the shape that works there fails to compile in Go, so the read side is composed out of generated dispatchers instead of composed... push 13 Sep 2026 07:04PM UTC web-flow github
85.27
34775836793 mristin/Compose-Go-XML-de-serialization Merge 74a535062 into 2542c019b Pull #688 13 Sep 2026 06:56PM UTC web-flow github
85.27
34750135279 main Compose the C# XML serialization out of writers (#687) This is the write-side dual of #686, and finishes the decomposition of ``csharp/lib/_generate_xmlization.py``: every property is now written by one call whose content writer has been composed... push 13 Sep 2026 09:48AM UTC web-flow github
85.25
34749764234 mristin/Decompose-csharp-xml-serialization Merge 436da8ce5 into cc1bacf8f Pull #687 13 Sep 2026 09:42AM UTC web-flow github
85.25
34747597692 mristin/Decompose-csharp-xml-serialization Merge ab3cad5f4 into cc1bacf8f Pull #687 13 Sep 2026 08:29AM UTC web-flow github
85.25
34741996127 main Compose the C# XML de-serialization out of readers (#686) The generated ``xmlization.cs`` repeated itself at three levels. Every property of every concrete class inlined its whole reading procedure into its own ``case`` block -- the self-closing ... push 13 Sep 2026 06:13AM UTC web-flow github
85.25
See All Builds (21)

Badge your Repo: aas-core-codegen

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

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

Refresh
  • Settings
  • Repo on GitHub
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