Conversation
The renaming SHOULD still work, even if the names are reverse renamed according to what you (as a human) would expect. There may also be some methods that STILL collide, I don't think I added any assertions to that degree.
This ensures that if we have an overload of a special name, we don't accidentally set its base method to the same as that of the special named method.
Basically, when we ask for the type name, we ask for it as a literal, with generics set to false. Even if we have generics set to false, we still want to get our declaring type's generic parameters, but if we are ourselves AND we have generics set to false, we want to ensure that we don't suffix our name with our OWN generic parameter(s).
… actually found were 'inline')
Still lots to CHECK for this, but the example methods used at least work now
PLEASE PLEASE PLEASE read the comments, I made a ton of them. Basic idea is there, but at the moment, CppContextSerializer.DuplicateDefinition is not called correctly -- It should be called at the start of a cycle with offendingType = include that _causes_ the cycle, not offendingType = ourselves.
Added some QOL comment changes and removed unused methods/irrelevant comments. We could actually completely remove _ctor, and only serialize ctor methods in the ctor serializer, instead of having a (potentially) misleading _ctor function that should never be called except after a call to New
Since they could come from different declaring types but should still be the same name and thus be mappable. Need to double, triple, quadruple check that we are actually resolving the CppNames for argMapping in the correct context
Also remove old static ctor serializer, move it to method serializer since they shared so much, add CppTypeContext.IsGenericParameter, remove redundancies from CppTypeDataSerializer
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lots of changes to design, finally builds code that can compile, albeit with ENORMOUSLY slow compile times...