dart-lang / dart-lang/webdev

Evaluated variables that are DOM elements do not have any fields/getters

Open
#2,183 4 comments 0 reactions 0 assignees View on GitHub
P2 package:dwds triaged
Dominant language
Dart
Stars
224
Forks
94
Avg merge
7h 14m
Merged PRs (30d)
2

Description

Moving this from https://github.com/Dart-Code/Dart-Code/issues/4673 as it feels like a DWDS issue.

When hitting a breakpoint and looking at local variables (which come from the `topFrame`), variables that are DOM elements do not contain any `fields` like a standard class would.

When we walk up the class hierarchy looking for getters, we also find no getters - but I do see fields on the superclasses:

```
<== {
"jsonrpc": "2.0",
"result": {
// ...
"fields": [
{
"type": "@Field",
"id": "742",
"name": "mouseWheelEvent",
// ...
},
```

In the VM, fields from superclasses show up on the variable, so this seems like a difference. I think if these fields are really fields they should be on the variable itself, or if they are considered getters they should be marked as such (instead of fields).

Contributor guide

Open the contributing guide

Research direction

Start by tracing how DWDS exposes local variables from the topFrame and how it maps DOM-element fields and getters in the JSON-RPC response. Compare this behavior with the VM, then confirm that DOM-element variables consistently expose inherited fields or getters as intended.

Written by the indexing model from the issue text.

Assessment

Tech stack
dart
Domain
devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.