-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Generated XML does not distinguish "new HashSet()" from "new HashSet<>()" #2751
Comments
I've changed XmlPrinter so it now outputs an empty NodeList property as an empty element: with
(Note the empty |
Making this change for all properties of all nodes does turn out to be rather disruptive. So perhaps the change needs to be confined to cases where there is actually a semantic difference between a null property and an empty property? Unfortunately it's not easy to enumerate those cases. |
Change XML generator so that an empty type argument list is emmitted as an empty XML element. All other empty lists keep not being emmitted.
Fix: issue #2751 new HashSet()" != "new HashSet<>()
# By jlerbsc (56) and others # Via GitHub (67) and others * tag 'javaparser-parent-3.25.6': (136 commits) [maven-release-plugin] prepare release javaparser-parent-3.25.6 update readme Update changelog Fix: issue javaparser#2751 new HashSet()" != "new HashSet<>() Added messages to LambdaExprContext Added messages to LambdaExprContext and TypeExtractor chore(deps): update dependency org.apache.maven.plugins:maven-clean-plugin to v3.3.2 Modified exception message thrown for unknown change type Changes unknown to not supported Modified and added message to UnsupportedOperationException() in ConcreteSyntaxModel, Difference and NodeText class Modified and added message to UnsupportedOperationException() in Added.java Modified and added message to UnsupportedOperationException() in LexicalDifferenceCalculator Modified and added message to UnsupportedOperationException() chore(deps): update dependency org.apache.maven.plugins:maven-checkstyle-plugin to v3.3.1 chore(deps): update dependency org.apache.maven.plugins:maven-dependency-plugin to v3.6.1 chore(deps): update dependency org.apache.maven.plugins:maven-surefire-plugin to v3.2.1 Java 8 compatibility fix. Test custom XML Test streaming to file Test cleanup and temp file support ... # Conflicts: # .github/workflows/maven_tests.yml # changelog.md # javaparser-core-generators/pom.xml # javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/utils/CodeUtils.java # javaparser-core-metamodel-generator/pom.xml # javaparser-core-serialization/pom.xml # javaparser-core-testing-bdd/pom.xml # javaparser-core-testing/pom.xml # javaparser-core-testing/src/test/java/com/github/javaparser/ast/ParseResultTest.java # javaparser-core-testing/src/test/java/com/github/javaparser/printer/lexicalpreservation/LexicalPreservingPrinterTest.java # javaparser-core/pom.xml # javaparser-core/src/main/java/com/github/javaparser/UnicodeEscapeProcessingProvider.java # javaparser-core/src/main/java/com/github/javaparser/ast/body/CallableDeclaration.java # javaparser-core/src/main/java/com/github/javaparser/ast/body/CompactConstructorDeclaration.java # javaparser-core/src/main/java/com/github/javaparser/ast/body/ConstructorDeclaration.java # javaparser-core/src/main/java/com/github/javaparser/ast/body/FieldDeclaration.java # javaparser-core/src/main/java/com/github/javaparser/ast/body/MethodDeclaration.java # javaparser-core/src/main/java/com/github/javaparser/ast/type/VarType.java # javaparser-core/src/main/java/com/github/javaparser/ast/validator/ProblemReporter.java # javaparser-core/src/main/java/com/github/javaparser/ast/validator/language_level_validations/Java1_0Validator.java # javaparser-core/src/main/java/com/github/javaparser/printer/concretesyntaxmodel/CsmElement.java # javaparser-core/src/main/java/com/github/javaparser/printer/concretesyntaxmodel/CsmToken.java # javaparser-core/src/main/java/com/github/javaparser/printer/lexicalpreservation/ChildTextElement.java # javaparser-core/src/main/java/com/github/javaparser/printer/lexicalpreservation/Difference.java # javaparser-core/src/main/java/com/github/javaparser/printer/lexicalpreservation/LexicalDifferenceCalculator.java # javaparser-core/src/main/java/com/github/javaparser/printer/lexicalpreservation/LexicalPreservingPrinter.java # javaparser-core/src/main/java/com/github/javaparser/printer/lexicalpreservation/TokenTextElement.java # javaparser-core/src/main/java/com/github/javaparser/resolution/logic/ConstructorResolutionLogic.java # javaparser-core/src/main/java/com/github/javaparser/resolution/types/ResolvedIntersectionType.java # javaparser-core/src/main/java/com/github/javaparser/resolution/types/ResolvedUnionType.java # javaparser-core/src/main/javacc/java.jj # javaparser-symbol-solver-core/pom.xml # javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/JavaSymbolSolver.java # javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/JavaParserFacade.java # javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/JavaParserFactory.java # javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/TypeExtractor.java # javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/AbstractJavaParserContext.java # javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/ContextHelper.java # javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/LambdaExprContext.java # javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/MethodCallExprContext.java # javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/StatementContext.java # javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/declarations/JavaParserTypeParameter.java # javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javassistmodel/JavassistAnnotationDeclaration.java # javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javassistmodel/JavassistFactory.java # javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/reflectionmodel/ReflectionAnnotationMemberDeclaration.java # javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/reflectionmodel/ReflectionEnumDeclaration.java # javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/reflectionmodel/ReflectionFactory.java # javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/resolution/promotion/NumericConditionalExprHandler.java # javaparser-symbol-solver-testing/pom.xml # javaparser-symbol-solver-testing/src/test/java/com/github/javaparser/symbolsolver/model/typesystem/ReferenceTypeTest.java # javaparser-symbol-solver-testing/src/test/java/com/github/javaparser/symbolsolver/resolution/CompilationUnitContextResolutionTest.java # javaparser-symbol-solver-testing/src/test/java/com/github/javaparser/symbolsolver/resolution/ImplementedOrExtendedTypeResolutionTest.java # javaparser-symbol-solver-testing/src/test/java/com/github/javaparser/symbolsolver/resolution/typeinference/LeastUpperBoundTest.java # pom.xml # readme.md
The XML serializer does not distinguish an empty NodeList property from a null NodeList property.
In consequence "new HashSet()" and "new HashSet<>()" produce the same output: in one case type.typeArguments is null, in the other case it is empty.
The text was updated successfully, but these errors were encountered: