-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Remove unused code from azure-json and azure-xml #47612
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
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR removes dead code from azure-json and azure-xml modules, primarily eliminating unused classes and simplifying type hierarchies by flattening deep inheritance structures.
Key changes:
- Removes unused classes including versioning utilities, delegate patterns, and duplicate detection functionality
- Simplifies type hierarchies by eliminating intermediate base classes (e.g.,
JsonGeneratorImpl,JsonParserBase) - Removes support for various JSON parsing features that were not being used (single quotes, unquoted field names, trailing commas, etc.)
- Inlines constants and removes unnecessary abstraction layers
Reviewed changes
Copilot reviewed 89 out of 132 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| ByteBasedPNameFactory.java | Removes unused DO_INTERN flag and changes return type from ByteBasedPName to PName |
| ByteBasedPName.java | Entire class removed (unused intermediate base class) |
| IoStreamException.java | Entire class removed (unused exception wrapper) |
| ErrorConsts.java | Inlines tokenTypeDesc method instead of delegating to external utility |
| CommonConfig.java | Moves property constants from external class to inline definitions |
| WFCException.java | Entire class removed (unused exception type) |
| spotbugs-exclude.xml | Updates class names to match refactored code |
| VersionUtil.java | Entire class removed (unused versioning utility) |
| TextBuffer.java | Removes unused factory method and several content conversion methods |
| RequestPayload.java | Entire class removed (unused payload container) |
| JsonParserSequence.java | Entire class removed (unused parser composition utility) |
| JsonParserDelegate.java | Entire class removed (unused delegation pattern) |
| JsonGeneratorDelegate.java | Entire class removed (unused delegation pattern) |
| JacksonFeatureSet.java | Entire class removed (unused feature management) |
| JacksonFeature.java | Entire class removed (unused feature interface) |
| BufferRecyclers.java | Removes deprecated legacy methods |
| BufferRecycler.java | Removes unused base64 codec buffer constant |
| package-info.java | Entire file removed (various packages) |
| WritableTypeId.java | Entire class removed (unused type ID handling) |
| TypeReference.java | Entire class removed (unused generic type handling) |
| ResolvedType.java | Entire class removed (unused type abstraction) |
| Name.java | Entire class removed (unused name abstraction) |
| CharsToNameCanonicalizer.java | Removes flags parameter and simplifies construction |
| ByteQuadsCanonicalizer.java | Removes flags parameter and hardcodes intern/overflow settings |
| WriterBasedJsonGenerator.java | Flattens hierarchy by extending JsonGenerator directly, removes unused write methods |
| UTF8StreamJsonParser.java | Flattens hierarchy by extending JsonParser directly, removes unused features |
| UTF8JsonGenerator.java | Flattens hierarchy by extending JsonGenerator directly, removes configuration complexity |
| ReaderBasedJsonParser.java | Flattens hierarchy by extending JsonParser directly, removes unused features |
| PackageVersion.java.in | Entire file removed (template no longer needed) |
| PackageVersion.java | Entire class removed (versioning no longer needed) |
| JsonWriteFeature.java | Removes unused feature enum values and simplifies to single feature |
| JsonWriteContext.java | Removes duplicate detection support and DupDetector integration |
| JsonReadFeature.java | Removes most feature enum values, keeps only essential ones |
| JsonReadContext.java | Removes duplicate detection and current value tracking |
| JsonParserBase.java | Entire class removed (intermediate base class no longer needed) |
| JsonGeneratorImpl.java | Entire class removed (intermediate base class no longer needed) |
| DupDetector.java | Entire class removed (duplicate detection not used) |
| ByteSourceJsonBootstrapper.java | Simplifies parser construction by removing codec and flags parameters |
| SegmentedStringWriter.java | Entire class removed (unused writer implementation) |
| OutputDecorator.java | Entire class removed (unused decorator pattern) |
| NumberOutput.java | Simplifies notFinite methods to use Java 8+ isFinite methods |
Description
Removes dead code from azure-json and azure-xml. Additionally modifies code to remove needless types, such as the merging of serialization types from having deep hierarchies to flattened hierarchies as the code is implementation.
All SDK Contribution checklist:
General Guidelines and Best Practices
Testing Guidelines