-
-
Notifications
You must be signed in to change notification settings - Fork 7.4k
[C#] Fixes array TypeDeclaration parsing order to fix deep aliases #21600
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
[C#] Fixes array TypeDeclaration parsing order to fix deep aliases #21600
Conversation
64e6b31 to
23c0bf7
Compare
|
Thank you for the PR. If this PR is merged we should leave the issue open since there are still some errors after this change. I was going to make this code from the abstract recursive to fix the remaining generic issues, but it seems like a work around to a bug. Maybe you know a better way. String[] nestedTypes = {"List", "Collection", "ICollection", "Dictionary"};
Arrays.stream(nestedTypes).forEach(nestedType -> {
// fix incorrect data types for maps of maps
if (property.datatypeWithEnum.contains(", " + nestedType + ">") && property.items != null) {
property.datatypeWithEnum = property.datatypeWithEnum.replace(", " + nestedType + ">", ", " + property.items.datatypeWithEnum + ">");
property.dataType = property.datatypeWithEnum;
}
if (property.datatypeWithEnum.contains("<" + nestedType + ">") && property.items != null) {
property.datatypeWithEnum = property.datatypeWithEnum.replace("<" + nestedType + ">", "<" + property.items.datatypeWithEnum + ">");
property.dataType = property.datatypeWithEnum;
}
}); |
|
The author of the original issue was not very elaborate on exactly what issues they faced. I have created a separate issue for the deep alias problem which I have attempted to fix. I have updated the PR description to refer to that issue instead. |
8a99cea to
5638058
Compare
df9dbed to
e63e044
Compare
…eep-inline-aliases
|
thanks for the pr let's give it a try |
…penAPITools#21600) * Adjust array TypeDeclaration parsing order to fix deep inline aliases * Update samples
fixes: #21605
Adjusts the CSharp TypeDeclarationCodegen to properly parse a deep alias chain (currently it only traverses to a depth of 1). I have used the same structure as the JavaCodegen.
PR checklist
Commit all changed files.
This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
These must match the expectations made by your contribution.
You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example
./bin/generate-samples.sh bin/configs/java*.IMPORTANT: Do NOT purge/delete any folders/files (e.g. tests) when regenerating the samples as manually written tests may be removed.
master(upcoming7.x.0minor release - breaking changes with fallbacks),8.0.x(breaking changes without fallbacks)@mandrean (2017/08) @shibayan (2020/02) @Blackclaws (2021/03) @lucamazzanti (2021/05) @iBicha (2023/07)