Skip to content

Complete .NET runtime documentation in five namespaces - #1147

Merged
jonathanpeppers merged 6 commits into
mainfrom
jonathanpeppers-supreme-waddle
Oct 23, 2026
Merged

jonathanpeppers merged 6 commits into
mainfrom
jonathanpeppers-supreme-waddle

Conversation

@jonathanpeppers

Copy link
Copy Markdown
Member

Summary

Fill all 44 exact XML documentation placeholders remaining in the five issue scopes below. These entries describe .NET runtime members, not missing Java declarations.

  • Document explicit IJavaPeerable.UnregisterFromRuntime implementations using the existing interface contract.
  • Document JniPeerMembers overrides using the existing .NET metadata contract and the correct owning type.
  • Use the exact declared JniValueManager.PeekValue(JniObjectReference) DocId for new cross-references.
  • Preserve all previously authored documentation, metadata, attribution and formatting. Shared importer, guide, tests, configuration and generated indexes are unchanged.

Fixes: #299
Fixes: #251
Fixes: #284
Fixes: #295
Fixes: #272

Each closing reference covers the entire issue namespace, including its ns-*.xml file. The issues close when the completed change merges, not because a local count reached zero. PDF selection issue #112 is completed separately by #1146.

Exact placeholder counts

Issue Namespace Before After
#299 Org.Apache.Http.Client.Methods 4 0
#251 Java.Util.Logging 6 0
#284 Org.Apache.Http.Conn.Routing 6 0
#295 Org.Apache.Http.Util 14 0
#272 Javax.Xml.Datatype 14 0

Counts use complete XML element contents equal to To be added with an optional final period, not arbitrary substring matches. The previous raw phrase count for #272 was 15: one match is valid existing Duration.Add prose about two durations "to be added". That entire method is preserved byte-for-byte. Its namespace has zero actual placeholders after this change, while the legitimate phrase match remains.

Sources

No Android/Java importer fills were used for these .NET-only members.

Verification

  • Parsed all 56 XML files across the five explicit namespace-directory-plus-namespace-file scopes, including all 21 changed files.
  • Verified 44 real placeholder replacements and zero remaining placeholders in every completed scope.
  • Restoring only the selected placeholder elements reproduces the baseline file contents exactly, with Git LF represented as the existing Windows CRLF working-file format.
  • Checked each newly added cross-reference against actual existing DocIds.
  • Verified Duration.Add and all other pre-existing non-placeholder content are unchanged.
  • git diff --check passes.

An existing importer self-test failure was observed by the datatype session before edits, in TestControlsTemplatesRangeSource: "actual pipeline preserves an old-layout list with authored code whose comment newline changed". The importer is outside this documentation-only change and was not modified. That failure is recorded, not presented as a passing check.

jonathanpeppers and others added 6 commits October 23, 2026 10:36
Document explicit IJavaPeerable.UnregisterFromRuntime implementations using the existing .NET interface contract. Refs #299.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Document the three explicit IJavaPeerable.UnregisterFromRuntime implementations using the existing .NET interface contract. Replace all six remaining namespace placeholders without changing API metadata or other documentation.

Related to #251.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Document the explicit IJavaPeerable.UnregisterFromRuntime implementations using the existing .NET interface contract. Refs #284.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Replace all 14 remaining summary and value placeholders for the seven
JniPeerMembers overrides. Reuse the Java.Lang.Object summary and name each
actual declaring type in its value description. Preserve all existing
non-placeholder documentation, attribution and binding metadata.

The .NET contract and generated per-type metadata are verified against:
https://github.com/dotnet/java-interop/blob/92b5d471f1e0f6164fc332b1f661b472f5cf3aad/src/Java.Interop/Documentation/Java.Interop/IJavaPeerable.xml
https://github.com/dotnet/java-interop/blob/92b5d471f1e0f6164fc332b1f661b472f5cf3aad/tools/generator/SourceWriters/ClassInvokers.cs
https://github.com/dotnet/java-interop/blob/92b5d471f1e0f6164fc332b1f661b472f5cf3aad/tools/generator/SourceWriters/PeerMembersField.cs

Refs #295. Keep the issue open until main has a fresh zero-placeholder count.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Fill 14 actual .NET documentation placeholders using the existing Java.Lang.Object JniPeerMembers and IJavaPeerable.UnregisterFromRuntime contracts. Preserve Duration.Add and all other non-placeholder documentation. Its valid 'to be added' source prose is not a placeholder.

Refs #272.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Correct only the newly added PeekValue references to the declared DocId, including the nested type and parameter signature.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 23, 2026 15:38
@jonathanpeppers
jonathanpeppers enabled auto-merge (squash) October 23, 2026 15:39

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The scoped documentation changes match the existing runtime contracts and cross-reference targets, with no unresolved blocking issues.

No open issues 🎉

What changed in this PR

Completes 44 XML documentation placeholders for .NET runtime members across five namespaces, addressing the remaining documentation scopes in #299, #251, #284, #295, and #272.

Changes:

  • Documents IJavaPeerable.UnregisterFromRuntime behavior with exact PeekValue cross-references.
  • Documents JniPeerMembers metadata and identifies each owning type.
  • Preserves existing prose, API metadata, and attribution; leaves importer tooling and generated indexes unchanged.
File Description
docs/​xml/​Org.Apache.Http.Util/​VersionInfo.xml Documents peer metadata for VersionInfo.
docs/​xml/​Org.Apache.Http.Util/​LangUtils.xml Documents peer metadata for LangUtils.
docs/​xml/​Org.Apache.Http.Util/​ExceptionUtils.xml Documents peer metadata for ExceptionUtils.
docs/​xml/​Org.Apache.Http.Util/​EntityUtils.xml Documents peer metadata for EntityUtils.
docs/​xml/​Org.Apache.Http.Util/​EncodingUtils.xml Documents peer metadata for EncodingUtils.
docs/​xml/​Org.Apache.Http.Util/​CharArrayBuffer.xml Documents peer metadata for CharArrayBuffer.
docs/​xml/​Org.Apache.Http.Util/​ByteArrayBuffer.xml Documents peer metadata for ByteArrayBuffer.
docs/​xml/​Org.Apache.Http.Conn.Routing/​RouteTracker.xml Documents runtime unregistration and interface access.
docs/​xml/​Org.Apache.Http.Conn.Routing/​HttpRoute.xml Documents runtime unregistration and interface access.
docs/​xml/​Org.Apache.Http.Conn.Routing/​BasicRouteDirector.xml Documents runtime unregistration and interface access.
docs/​xml/​Org.Apache.Http.Client.Methods/​HttpRequestBase.xml Documents runtime unregistration and interface access.
docs/​xml/​Org.Apache.Http.Client.Methods/​HttpEntityEnclosingRequestBase.xml Documents runtime unregistration and interface access.
docs/​xml/​Javax.Xml.Datatype/​XMLGregorianCalendar.xml Documents runtime unregistration and peer metadata.
docs/​xml/​Javax.Xml.Datatype/​Duration.xml Documents peer metadata; preserves Add prose.
docs/​xml/​Javax.Xml.Datatype/​DatatypeFactory.xml Documents peer metadata for DatatypeFactory.
docs/​xml/​Javax.Xml.Datatype/​DatatypeConstants+Field.xml Documents peer metadata for DatatypeConstants.Field.
docs/​xml/​Javax.Xml.Datatype/​DatatypeConstants.xml Documents peer metadata for DatatypeConstants.
docs/​xml/​Javax.Xml.Datatype/​DatatypeConfigurationException.xml Documents peer metadata for the exception type.
docs/​xml/​Java.Util.Logging/​LogRecord.xml Documents explicit runtime unregistration behavior.
docs/​xml/​Java.Util.Logging/​LoggingPermission.xml Documents explicit runtime unregistration behavior.
docs/​xml/​Java.Util.Logging/​Level.xml Documents explicit runtime unregistration behavior.

Review effort: Balanced

@jonathanpeppers

Copy link
Copy Markdown
Member Author

@dalexsoto review

@dalexsoto

Copy link
Copy Markdown
Member

@jonathanpeppers Not reviewing this request in this iteration: The recovered source/static pass found no blocking documentation issue, but its actual target was 7b66fb6 and main has since advanced to ae74444. This cycle also encountered two GitHub source-retrieval transport errors. I am keeping the formal review queued for a clean current-target safety pass; the completed static findings and original failure evidence are retained.

@jonathanpeppers

Copy link
Copy Markdown
Member Author

@dalexsoto review

@dalexsoto dalexsoto left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All 44 exact placeholders are filled across the five complete namespace scopes; owning-type metadata and cross-references match existing contracts, and the unrelated PDF target update leaves every inspected dependency unchanged.

Source/static review only; no runtime or documentation-renderer execution is claimed.

@jonathanpeppers
jonathanpeppers merged commit 9ae59ce into main Oct 23, 2026
4 checks passed
@jonathanpeppers
jonathanpeppers deleted the jonathanpeppers-supreme-waddle branch October 23, 2026 23:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants