-
Notifications
You must be signed in to change notification settings - Fork 545
[RGen] Add the new added methods to smart enums. #22250
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
Conversation
In order to simplify the BindAs/BindFrom code, nes methods were added to the smart enums generated by bgen. We have to do the same in rgen.
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
||
// get value from a handle, this is a helper method used in the BindAs bindings. | ||
using (var getValueFromHandle = | ||
classBlock.CreateBlock ($"public static {binding.Name} GetValueFromHandle (NativeHandle handle)", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can this be internal instead of public? That way we don't have to worry about API diffs, etc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can it when we are using it for bindings? I don't think so right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That depends on where these methods are going to be used. Is it always going to be from the same assembly?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
well, this are a diff assembly if bgen is used to generate the bindings for a client or third party. If they use BindAs in their code, they'll need this to be public.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can just use GetValue
, it'll be an overload of the other `GetValue method:
classBlock.CreateBlock ($"public static {binding.Name} GetValueFromHandle (NativeHandle handle)", | |
classBlock.CreateBlock ($"public static {binding.Name} GetValue (NativeHandle handle)", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let me land this and change it in bgen too. Because bgen is already doing GetValueFromHandle. Sounds good?
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
✅ [PR Build #0dd0b98] Build passed (Detect API changes) ✅Pipeline on Agent |
✅ [PR Build #0dd0b98] Build passed (Build packages) ✅Pipeline on Agent |
✅ [PR Build #0dd0b98] Build passed (Build macOS tests) ✅Pipeline on Agent |
💻 [PR Build #0dd0b98] Tests on macOS M1 - Mac Monterey (12) passed 💻✅ All tests on macOS M1 - Mac Monterey (12) passed. Pipeline on Agent |
💻 [PR Build #0dd0b98] Tests on macOS X64 - Mac Sonoma (14) passed 💻✅ All tests on macOS X64 - Mac Sonoma (14) passed. Pipeline on Agent |
💻 [PR Build #0dd0b98] Tests on macOS M1 - Mac Ventura (13) passed 💻✅ All tests on macOS M1 - Mac Ventura (13) passed. Pipeline on Agent |
💻 [PR Build #0dd0b98] Tests on macOS arm64 - Mac Sequoia (15) passed 💻✅ All tests on macOS arm64 - Mac Sequoia (15) passed. Pipeline on Agent |
✅ API diff for current PR / commit.NET ( No breaking changes )❗ API diff vs stable (Breaking changes).NET ( ❗ Breaking changes ❗ )ℹ️ Generator diffGenerator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes) Pipeline on Agent |
💻 [CI Build #0dd0b98] Windows Integration Tests passed 💻✅ All Windows Integration Tests passed. Pipeline on Agent |
🔥 [CI Build #0dd0b98] Test results 🔥Test results❌ Tests failed on VSTS: test results 0 tests crashed, 1 tests failed, 111 tests passed. Failures❌ dotnettests tests (MacCatalyst)
Html Report (VSDrops) Download Successes✅ cecil: All 1 tests passed. Html Report (VSDrops) Download Pipeline on Agent |
|
||
// get value from a handle, this is a helper method used in the BindAs bindings. | ||
using (var getValueFromHandle = | ||
classBlock.CreateBlock ($"public static {binding.Name} GetValueFromHandle (NativeHandle handle)", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can just use GetValue
, it'll be an overload of the other `GetValue method:
classBlock.CreateBlock ($"public static {binding.Name} GetValueFromHandle (NativeHandle handle)", | |
classBlock.CreateBlock ($"public static {binding.Name} GetValue (NativeHandle handle)", |
In order to simplify the BindAs/BindFrom code, new methods were added to the smart enums generated by bgen. We have to do the same in rgen.