-
-
Notifications
You must be signed in to change notification settings - Fork 183
Fix locals initialization of generic instance type #3188
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
Fix locals initialization of generic instance type #3188
Conversation
- Now the generic type is instanciated. Not using the TypeSpec anymore.
…tack (nanoframework#3186)" This reverts commit 4854f6b.
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the WalkthroughThe changes update the handling of generic instance type initialization in local variables and simplify object data type extraction in the interpreter. Special case logic for generic instances and by-reference types is removed, replaced by unified parsing and extraction methods. No exported or public entity signatures are modified. Changes
Sequence Diagram(s)sequenceDiagram
participant ExecutionEngine
participant SignatureParser
participant TypeDescriptor
ExecutionEngine->>SignatureParser: Parse TypeSpec for local variable (generic instance)
SignatureParser-->>ExecutionEngine: Return class and data type
ExecutionEngine->>TypeDescriptor: Initialize local variable with parsed type
sequenceDiagram
participant Interpreter
participant TypeDescriptor
Interpreter->>TypeDescriptor: Extract object and data type (CEE_LDFLD/CEE_STFLD)
TypeDescriptor-->>Interpreter: Return object and data type
Interpreter->>Interpreter: Proceed with field load/store using extracted type
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
Description
Motivation and Context
How Has This Been Tested?
Span<T>
.[build with MDP buildId 56229]
Screenshots
Types of changes
Checklist
Summary by CodeRabbit