Skip to content
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

[wasm][debugger] Enable onCallFrame evaluation of static fields in classes/interfaces from a static method. #70135

Closed
3 tasks done
ilonatommy opened this issue Jun 2, 2022 · 1 comment · Fixed by #70560
Closed
3 tasks done
Assignees
Labels
arch-wasm WebAssembly architecture area-Debugger-mono
Milestone

Comments

@ilonatommy
Copy link
Member

ilonatommy commented Jun 2, 2022

Static fields evaluation works only in an instance method. Otherwise, we have to address the field with the fill namespace. It should not be required as the field belongs to locals.

  • Static fields in DIMs:

Reproduction steps:
in interface IDefaultInterface in src\mono\wasm\debugger\tests\debugger-test\debugger-test.cs we have a static field: defaultInterfaceMember. Its visibility in interface's method is tested in EvaluateLocalsInDefaultInterfaceMethodStatic.

Current behavior:
When we useEvaluateOnCallFrameAndCheck with defaultInterfaceMember as evaluated value inside of interface's method, it fails. We would need to pass the full name: IDefaultInterface.defaultInterfaceMember to get the right value. In this location we should have access to the static fields without referencing to it with a full name.

Expected behavior:
EvaluateOnCallFrameAndCheck with defaultInterfaceMember passed (without interface name) should result in "defaultInterfaceMember".

  • Static fields in a static class evaluated from a static method of this class.
  • Static fields in an instance class, evaluated from a static method of this class.
@ilonatommy ilonatommy added arch-wasm WebAssembly architecture area-Debugger-mono labels Jun 2, 2022
@ilonatommy ilonatommy self-assigned this Jun 2, 2022
@ghost
Copy link

ghost commented Jun 2, 2022

Tagging subscribers to this area: @thaystg
See info in area-owners.md if you want to be subscribed.

Issue Details

Reproduction steps:
in interface IDefaultInterface in src\mono\wasm\debugger\tests\debugger-test\debugger-test.cs we have a static field: defaultInterfaceMember. Its visibility in interface's method is tested in EvaluateLocalsInDefaultInterfaceMethodStatic.

Current behavior:
When we useEvaluateOnCallFrameAndCheck with defaultInterfaceMember as evaluated value inside of interface's method, it fails. We would need to pass the full name: IDefaultInterface.defaultInterfaceMember to get the right value. In this location we should have access to the static fields without referencing to it with a full name.

Expected behavior:
EvaluateOnCallFrameAndCheck with defaultInterfaceMember passed (without interface name) should result in "defaultInterfaceMember".

Author: ilonatommy
Assignees: ilonatommy
Labels:

arch-wasm, area-Debugger-mono

Milestone: -

@ghost ghost added the untriaged New issue has not been triaged by the area owner label Jun 2, 2022
@ilonatommy ilonatommy changed the title [wasm][debugger] Enable onCallFrame evaluation of static fields in Default Interface Method [wasm][debugger] Enable onCallFrame evaluation of static fields in classes/interfaces from a static method. Jun 7, 2022
@radical radical removed the untriaged New issue has not been triaged by the area owner label Jun 9, 2022
@radical radical added this to the 7.0.0 milestone Jun 9, 2022
@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Jun 10, 2022
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Jul 8, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Aug 7, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-wasm WebAssembly architecture area-Debugger-mono
Projects
None yet
2 participants