Skip to content

Refelection improvements - #18

Closed
BionicCode wants to merge 274 commits into
masterfrom
develop
Closed

BionicCode wants to merge 274 commits into
masterfrom
develop

Conversation

@BionicCode

Copy link
Copy Markdown
Owner

@codex review for bugs and regression a) SymbolInfoDataCacheKey paths for key creation including for parameters and properties) b) SymbolReflectionInfoCache key resolving (like resolving/creating the facade wrappers (like PropertyData etc.) based on the provided keys.

…y property setter support.

Add constructor signature generation
BionicCode and others added 29 commits February 6, 2026 22:34
Reformatted code to use file-scoped namespace and moved using directives outside the namespace. Improved and expanded XML documentation for the struct and its constructor. Minor readability refactor in the constructor; no functional changes to logic or behavior. Changes are focused on code style, formatting, and documentation clarity.
Reformatted code to use file-scoped namespaces and improved readability. Added comprehensive XML documentation to the AnonymousEventDescriptor struct and its constructor, detailing parameters and exception conditions. No functional changes were made; updates are limited to documentation, formatting, and minor variable renaming for clarity.
Update the workflow to include debug output and commit logic for .editorconfig.
Removed various .NET analyzer settings and coding conventions from the .editorconfig file.
Removed redundant namespaces and improved XML comments for clarity.
Moved struct to top-level scope and consolidated using statements.
No changes to struct implementation; enhanced readability.
- Introduce MethodSignatureEqualityComparer for signature-based equality of MethodInfo/MethodData, ignoring declaring type.
- Simplify WellKnownMethodDescriptor, removing explicit interface implementation tracking.
- Make key properties/methods public in EventData, MemberData, ParameterizedMemberData, and SymbolInfoData for better data view support.
- Refactor EventData to cache explicit implementation and type handles, determining explicitness via add/remove methods.
- Update MethodData to use underscore-prefixed fields and add EqualsBySignature.
- Extend SymbolReflectionInfoCache with IEventDataView caching and retrieval.
- Update EventDataView to new data view pattern and consistent property naming.
- Clean up code: use collection initializers, modern C# syntax, and remove obsolete code.
- Clarify ParameterizedSymbolKind enum.
- Move toward a public, facade-based API for symbol reflection data.
Replaced GetMethodInfo() calls with direct MethodInfo access in MethodData and related classes for improved performance and clarity. Made many MethodData properties public for broader API access. Added MethodInfo property to WellKnownMethodDescriptor. Refactored explicit interface implementation detection logic for greater reliability and maintainability. Updated EventData to use new explicit interface implementation logic.
Removed commented-out code for handling explicit interface
implementations declared directly on interfaces. The method
now skips this check and iterates over implemented interfaces.
Fixed typo ("ture" → "true") in XML documentation comments. Updated remarks to reference the correct InvokeOpenGeneric overload for open generic methods, improving clarity for users.
Removed the XML documentation comment for the MethodHandle property in WellKnownMethodDescriptor. The property's functionality is unchanged; only its descriptive summary and remarks were deleted.
Converted to file-scoped namespace syntax for consistency and modern C# style. No functional changes; only formatting and indentation were updated.
Renamed all private backing fields in ParameterData.cs to use the C# convention of an underscore prefix (e.g., _isRef instead of isRef). Updated all property implementations to reference the new field names. No functional changes; this is a naming consistency refactor.
Refactored the ParameterData class constructor to accept only a SymbolReflectionInfoCacheKey, extracting the parameter name and ParameterInfo from its ParameterDescriptor. Updated null checks and base constructor call accordingly.
@BionicCode BionicCode closed this Feb 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants