Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
132 commits
Select commit Hold shift + click to select a range
3ac76f2
Update OpenAL name overrides to match the 2 character acronym thresho…
Exanite Mar 24, 2026
634e736
Start of feature/nested-struct-name-affixes branch
Exanite Mar 24, 2026
35f0f59
Cleanup leftover return statement
Exanite Mar 25, 2026
cd2ccfd
Split TransformHandles into two mods
Exanite Mar 25, 2026
4b119b2
Rename UseDSL to UseDsl
Exanite Mar 25, 2026
f3900b9
Cleanup unused property in TransformHandles
Exanite Mar 25, 2026
851c3ff
Cleanup usages of redundant collections expressions in TransformHandles
Exanite Mar 25, 2026
2f018ff
Add NameAffixer.AddResolvedNameAffix() for handling compound names
Exanite Mar 27, 2026
50a4115
Use AddResolvedNameAffix for extracted function pointer delegate types
Exanite Mar 27, 2026
8388878
Use AddResolvedNameAffix for extracted nested structs and remove name…
Exanite Mar 27, 2026
674c61a
Rename resolved affix to referenced affix and add parsing code for re…
Exanite Mar 27, 2026
d2ae93d
Add extra ConsecutiveNumbers test case documenting that Xs between nu…
Exanite Mar 27, 2026
d51a68e
Fix incorrect declarationOrder implementation
Exanite Mar 27, 2026
a30ac45
Change Prettify to not prefix identifiers starting with numbers
Exanite Mar 28, 2026
fb98f40
Change the list and order of INameTrimmers used to be statically conf…
Exanite Jan 15, 2026
68153ff
Replace now outdated comment
Exanite Mar 28, 2026
e0fb52e
Move PrettifyNamesTrimmer higher up in the class to make it more obvi…
Exanite Mar 28, 2026
044c84b
Remove INameTrimmer.Version
Exanite Mar 28, 2026
e9b2377
Add PrefixIfStartsWithNumberTrimmer
Exanite Mar 28, 2026
464703c
Remove TrimmerBaseline config option
Exanite Mar 28, 2026
adf4eee
Rename INameTrimmer to INameProcessor and update rest of codebase
Exanite Mar 28, 2026
f321238
Simplify name affixer name processor names to be StripAffixesNameProc…
Exanite Mar 28, 2026
d8e808d
Shorten names a bit more for readability
Exanite Mar 28, 2026
6983172
Decide to only support references within the same scope depth
Exanite Mar 28, 2026
14d9d65
Restrict feature set of AddReferencedNameAffix even more for simplicity
Exanite Mar 28, 2026
0228a56
Implement referenced affixes and change how -Delegate types generated…
Exanite Mar 28, 2026
5a4b6cd
Update OpenAL name overrides in generator.json
Exanite Mar 30, 2026
16ba7ea
Update doc comment in ServiceCollectionExtensions to indicate removal…
Exanite Mar 30, 2026
3ced75c
Merge branch 'feature/update-openal-name-overrides' into feature/nest…
Exanite Mar 30, 2026
86e12c4
Update name overrides for OpenAL to match new Delegate type naming co…
Exanite Mar 30, 2026
2ecb6b1
Optimize comparison by hoisting the calculation
Exanite Mar 31, 2026
5788cb7
Add topological sort to ReapplyAffixesProcessor
Exanite Mar 31, 2026
e56b4cf
Improve error handling by checking for case where dependencies are no…
Exanite Mar 31, 2026
85e2461
Edit error message
Exanite Mar 31, 2026
0edec2b
Add test: PrettifyNamesTests.SuccessfullyUsesReferencedAffixes
Exanite Mar 31, 2026
aad7a0b
Use "SDL.gen.cs" for test document name
Exanite Mar 31, 2026
f200deb
Add tests for referenced affix behavior
Exanite Mar 31, 2026
6a791b0
Alphabetically sort the mod names
Exanite Mar 31, 2026
64fb7c6
Add start of IdentifySharedPrefixes mod
Exanite Mar 31, 2026
7e7442d
Work on IdentifySharedPrefixes
Exanite Mar 31, 2026
e416196
Remove ApplyPrettifyOnlyPipeline
Exanite Mar 31, 2026
2763385
Rename BreakIntoWords as SplitIntoWords
Exanite Mar 31, 2026
6160704
Remove the double legacy NameTrimmers
Exanite Mar 31, 2026
07a0d2f
Fix compile errors
Exanite Mar 31, 2026
3ec90a7
Temporary: Disable all mods after PrettifyNames
Exanite Mar 31, 2026
d5d17fe
Add SharedPrefix affix config to Vulkan job
Exanite Mar 31, 2026
7ac5953
Remove unused isContainer param from GetTrimmingName
Exanite Apr 1, 2026
069a4a2
Work on IdentifySharedPrefixes
Exanite Apr 1, 2026
df44424
Replace regex based NameUtils.LenientUnderscore() with NameSplitter.U…
Exanite Apr 1, 2026
0fd7efc
Merge branch 'exp/identify-shared-prefixes-1' into feature/identify-s…
Exanite Apr 1, 2026
e1e6785
Fix compile errors due to changes
Exanite Apr 1, 2026
5a1b95e
Remove NonDeterminant/Transformed attribute handling from PrettifyNames
Exanite Apr 1, 2026
bb05c07
Slightly simplify NameTrimmer
Exanite Apr 1, 2026
b20ed78
Remove NameTrimmer usage from ExtractNestedTyping and slightly optimi…
Exanite Apr 1, 2026
7d9297b
Slightly cleanup NameTrimmer
Exanite Apr 1, 2026
3cfd17a
Annotate the param names for NameTrimmer's GetPrefix call for readabi…
Exanite Apr 1, 2026
ce27490
Implement visitor for IdentifySharedPrefixes
Exanite Apr 2, 2026
4ee05ac
Properly store scopes
Exanite Apr 2, 2026
a6ab813
Handle filtering of non C-prefixed names
Exanite Apr 2, 2026
bab0385
Work on migrating the NameTrimmer code over to IdentifySharedPrefixes
Exanite Apr 2, 2026
6455a62
Cleanup
Exanite Apr 2, 2026
26bd209
Add affix handling to IdentifySharedPrefixes
Exanite Apr 2, 2026
4fc2479
Implement shared prefix identification output to name affixes
Exanite Apr 2, 2026
af0a1df
Fix incorrect Rewriter implementation
Exanite Apr 2, 2026
e7af8dc
Simplify code
Exanite Apr 2, 2026
9da2aaa
Add missing ModConfiguration attribute
Exanite Apr 2, 2026
925269e
Fix incorrect method call
Exanite Apr 2, 2026
4cfaacb
Fix incorrect member name output for identified prefixes
Exanite Apr 2, 2026
64b00db
Fix duplicate key exception caused by functions being able to have du…
Exanite Apr 2, 2026
d93c3b8
Revert "Temporary: Disable all mods after PrettifyNames"
Exanite Apr 2, 2026
4c64485
Update generator config for OpenAL, OpenGL, and SDL to use IdentifySh…
Exanite Apr 3, 2026
a3dcf33
Add another test case as an example of how "2D" is split
Exanite Apr 3, 2026
655ae58
Add another prefix override for SeparableTargetEXT
Exanite Apr 3, 2026
b9383b9
Migrate over most prefix trimming/identification tests from PrettifyN…
Exanite Apr 3, 2026
33ed566
Update PrettifyNamesTests now that prefix identification is done sepa…
Exanite Apr 3, 2026
d4c80c8
Migrate over the NameTrimmerTests
Exanite Apr 4, 2026
f4a3054
Remove IdentifiesSharedPrefix_WhenPrefixesDeclared
Exanite Apr 4, 2026
b78c728
Also remove the snapshot for IdentifiesSharedPrefix_WhenPrefixesDeclared
Exanite Apr 4, 2026
7f84c72
Change INameProcessor to be private to PrettifyNames
Exanite Apr 4, 2026
466d92b
Change nPasses to be a class constant to allow usage of doc comments
Exanite Apr 4, 2026
0986ecc
Rename _forbiddenTrimmings to _forbiddenPrefixes and adjust docs
Exanite Apr 4, 2026
566de49
Change GetPrefix to use a non-null scope parameter for consistency
Exanite Apr 4, 2026
29b0672
Add comment explaining why the topological sort exists
Exanite Apr 4, 2026
8a9b611
Begin replacing the "container" terminology with "scope"
Exanite Apr 4, 2026
9e5e54b
Fix failing tests since the global scope is now represented with an e…
Exanite Apr 4, 2026
e32d647
Cleanup IdentifySharedPrefixes
Exanite Apr 4, 2026
c8843fe
Combine EnumInProgress with TypeInProgress
Exanite Apr 4, 2026
8ae006b
Simplify affix data storage and retrieval
Exanite Apr 4, 2026
7a3518d
Update docs for Visitor.AffixData
Exanite Apr 4, 2026
c2af084
Edit docs for IdentifySharedPrefixes
Exanite Apr 4, 2026
145ff77
Swap parameter order on ReportName in IdentifySharedPrefixes
Exanite Apr 4, 2026
c23fbcf
Rewrite PrettifyNames.Visitor to match IdentifySharedPrefixes.Visitor
Exanite Apr 4, 2026
d20a1c5
Reorder PrettifyNames.Configuration members to improve scannability
Exanite Apr 4, 2026
711165d
Begin rewriting the name processing part of PrettifyNames.ExecuteAsync
Exanite Apr 5, 2026
07f0f8b
Adjust error message for cycle detection
Exanite Apr 5, 2026
b1aef87
Fix missing method declaration data
Exanite Apr 5, 2026
3998686
Fix missing name data
Exanite Apr 5, 2026
46765ad
Add todos and work on updating docs
Exanite Apr 5, 2026
9166f4a
Change code and comments to refer to trimming names as original names…
Exanite Apr 5, 2026
c01a707
Move CandidateNames into PrettifyNames
Exanite Apr 5, 2026
d60978e
Fix typo
Exanite Apr 5, 2026
c389fc5
Rename DiscrimStr to GetMethodDiscriminator
Exanite Apr 5, 2026
632bdc3
Cleanup naming
Exanite Apr 5, 2026
8967453
Use if statements instead of ternaries for populating dictionaries
Exanite Apr 5, 2026
232183d
Update name conflict resolution code to account for non-method and me…
Exanite Apr 5, 2026
e3d3e94
Add another todo
Exanite Apr 5, 2026
ab0fba0
Change NameProcessorContext to be a class
Exanite Apr 5, 2026
6034d3d
Begin exposing the entire set of names to name processors and rewriti…
Exanite Apr 5, 2026
408d7a2
Roughly outline the final implementation and move code to where it ro…
Exanite Apr 5, 2026
6109e73
Define name processor inputs
Exanite Apr 5, 2026
f0bd1dd
Also provide affix config to ReapplyAffixesProcessor
Exanite Apr 5, 2026
4224b76
Implement HandleOverridesProcessor
Exanite Apr 6, 2026
555ba1b
Cleanup NameProcessorContext
Exanite Apr 6, 2026
7e7ee74
Remove helper data retrieval methods from ScrapedNameData since it ca…
Exanite Apr 6, 2026
7bbd7ef
Remove ScrapedNameData since it's now just an empty wrapper class
Exanite Apr 6, 2026
2d02f57
Reimplement StripAffixesProcessor
Exanite Apr 6, 2026
05919c0
Reimplement PrettifyProcessor
Exanite Apr 6, 2026
8081f59
Reimplement ReapplyAffixesProcessor
Exanite Apr 6, 2026
d263a47
Reimplement PrefixIfStartsWithNumberProcessor
Exanite Apr 6, 2026
36f67e7
Edit documentation and add RemoveUnmodifiedFinalNamesProcessor
Exanite Apr 6, 2026
15c9541
Add docs for PrefixIfStartsWithNumberProcessor
Exanite Apr 6, 2026
d980e53
Implement ResolveConflictsProcessor using adapted name conflict resol…
Exanite Apr 7, 2026
86440b0
Add remark doc comment on ResolveConflictsProcessor about it copying …
Exanite Apr 7, 2026
425bce4
Add NameSymbolVisitor for gathering symbols to rename
Exanite Apr 7, 2026
6061a26
Add remark comment on nested type support in PrettifyNames
Exanite Apr 7, 2026
7a5eb0b
Fix constructors not getting renamed
Exanite Apr 7, 2026
4062c5f
Add PrettifyNamesTests.ConflictsAreResolved_ForMethodsAndConstants (c…
Exanite Apr 8, 2026
887f7ea
Work on non-method/method conflict resolution
Exanite Apr 8, 2026
983ee2b
Also add test case: ConflictsAreResolved_ForMethodsAndConstants_WithA…
Exanite Apr 8, 2026
c259e3c
Ensure conflicts are iterated deterministically
Exanite Apr 8, 2026
3a751f4
Add ConflictsAreResolved_ForMethodsAndConstants_WithAdditionalDiscrim…
Exanite Apr 8, 2026
0858b9a
Implement non-method/method conflict resolution and fix secondaries n…
Exanite Apr 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified .silktouch/openal-clangsharp.stout
Binary file not shown.
Binary file modified .silktouch/vulkan-clangsharp.stout
Binary file not shown.
73 changes: 48 additions & 25 deletions generator.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,12 @@
"AddIncludes",
"ClangScraper",
"MarkNativeNames",
"ExtractHandles",
"ExtractNestedTyping",
"TransformHandles",
"TransformFunctions",
"TransformProperties",
"IdentifySharedPrefixes",
"PrettifyNames",
"TransformEnums",
"AddVTables",
Expand All @@ -59,17 +61,23 @@
"InputTestRoot": "tests/SDL"
},
"TransformHandles": {
"AssumeMissingTypesOpaque": true,
"UseDSL": true
"UseDsl": true
},
"TransformFunctions": {
"BoolTypes": {
"SDL_bool": null
}
},
"PrettifyNames": {
"IdentifySharedPrefixes": {
"GlobalPrefixHints": ["SDL"]
},
"PrettifyNames": {
"Affixes": {
"SharedPrefix": {
"Remove": true
}
}
},
"TransformEnums": {
"AddNoneMemberToFlags": true,
"RewriteMemberValues": true
Expand All @@ -95,6 +103,7 @@
"MixKhronosData",
"AddOpaqueStructs",
"TransformFunctions",
"IdentifySharedPrefixes",
"PrettifyNames",
"TransformEnums",
"AddVTables",
Expand Down Expand Up @@ -171,14 +180,17 @@
}
]
},
"PrettifyNames": {
"IdentifySharedPrefixes": {
"GlobalPrefixHints": ["gl"],
"PrefixOverrides": {
"SyncObjectMask": "GL_SYNC",
"OcclusionQueryParameterNameNV": "GL",
"TexStorageAttribs": "GL",
"ContainerType": "GL"
},
"ContainerType": "GL",
"SeparableTargetEXT": "GL"
}
},
"PrettifyNames": {
"Affixes": {
"HandleType": {
"Order": 1
Expand All @@ -197,6 +209,9 @@
},
"KhronosNonExclusiveVendor": {
"Remove": true
},
"SharedPrefix": {
"Remove": true
}
}
},
Expand Down Expand Up @@ -228,10 +243,12 @@
"ChangeNativeClass",
"AddApiProfiles",
"MixKhronosData",
"ExtractHandles",
"ExtractNestedTyping",
"TransformHandles",
"InterceptNativeFunctions",
"TransformFunctions",
"IdentifySharedPrefixes",
"PrettifyNames",
"TransformEnums",
"AddVTables",
Expand Down Expand Up @@ -294,29 +311,27 @@
}
]
},
"IdentifySharedPrefixes": {
"GlobalPrefixHints": ["alc", "al"]
},
"PrettifyNames": {
"GlobalPrefixHints": ["alc", "al"],
"NameOverrides": {
"ALContext": "ALContext",
"EFXEAXREVERBPROPERTIES": "EfxEaxReverbProperties",
"EFXEAXREVERBPROPERTIES_flReflectionsPan": "EfxEaxReverbPropertiesFlReflectionsPan",
"EFXEAXREVERBPROPERTIES_flLateReverbPan": "EfxEaxReverbPropertiesFlLateReverbPan",
"EFXEAXREVERBPROPERTIESflReflectionsPan": "EfxEaxReverbPropertiesFlReflectionsPan",
"EFXEAXREVERBPROPERTIESflLateReverbPan": "EfxEaxReverbPropertiesFlLateReverbPan",
"ALCcontextHandle": "ContextHandle",
"ALCdeviceHandle": "DeviceHandle",
"ALBUFFERCALLBACKTYPESOFT": "BufferCallbackSOFT",
"ALBUFFERCALLBACKTYPESOFTDelegate": "BufferCallbackDelegateSOFT",
"ALBUFFERCALLBACKTYPESOFTDelegate": "BufferCallbackSOFTDelegate",
"ALCEVENTPROCTYPESOFT": "ContextEventProcSOFT",
"ALCEVENTPROCTYPESOFTDelegate": "ContextEventProcDelegateSOFT",
"ALCEVENTPROCTYPESOFTDelegate": "ContextEventProcSOFTDelegate",
"ALEVENTPROCSOFT": "EventProcSOFT",
"ALEVENTPROCSOFTDelegate": "EventProcDelegateSOFT",
"ALEVENTPROCSOFTDelegate": "EventProcSOFTDelegate",
"ALDEBUGPROCEXT": "DebugProcEXT",
"ALDEBUGPROCEXTDelegate": "DebugProcDelegateEXT",
"ALDEBUGPROCEXTDelegate": "DebugProcEXTDelegate",
"LPALFOLDBACKCALLBACK": "FoldbackCallback",
"LPALFOLDBACKCALLBACKDelegate": "FoldbackCallbackDelegate",
"EAXSetDirect": "EAXSetDirect",
"EAXGetDirect": "EAXGetDirect",
"EAXGetBufferModeDirect": "EAXGetBufferModeDirect",
"EAXSetBufferModeDirect": "EAXSetBufferModeDirect"
"LPALFOLDBACKCALLBACKDelegate": "FoldbackCallbackDelegate"
},
"Affixes": {
"HandleType": {
Expand All @@ -336,6 +351,9 @@
},
"KhronosNonExclusiveVendor": {
"Remove": true
},
"SharedPrefix": {
"Remove": true
}
}
},
Expand All @@ -351,8 +369,7 @@
"BenefitOfTheDoubtArrayTransformation": true
},
"TransformHandles": {
"AssumeMissingTypesOpaque": true,
"UseDSL": true
"UseDsl": true
},
"StripAttributes": {
"Remove": [
Expand All @@ -370,13 +387,15 @@
"AddIncludes",
"ClangScraper",
"MarkNativeNames",
"ExtractHandles",
"ExtractNestedTyping",
"TransformHandles",
"MixKhronosData",
"AddApiProfiles",
"InterceptNativeFunctions",
"TransformFunctions",
"TransformProperties",
"IdentifySharedPrefixes",
"PrettifyNames",
"TransformEnums",
"AddVTables",
Expand Down Expand Up @@ -423,15 +442,16 @@
}
},
"TransformHandles": {
"AssumeMissingTypesOpaque": true,
"UseDSL": true
"UseDsl": true
},
"PrettifyNames": {
"GlobalPrefixHints": ["PFN_vk","vk"],
"IdentifySharedPrefixes": {
"GlobalPrefixHints": ["PFN_vk", "vk"],
"PrefixOverrides": {
"VkPipelineCreateFlags2": "VK_PIPELINE_CREATE_2",
"VkMemoryDecompressionMethodFlagsEXT": "VK_MEMORY_DECOMPRESSION_METHOD"
},
}
},
"PrettifyNames": {
"NameOverrides": {
"numAABBs": "NumAabbs"
},
Expand All @@ -450,6 +470,9 @@
},
"KhronosHandleType": {
"Remove": true
},
"SharedPrefix": {
"Remove": true
}
}
},
Expand Down
Loading