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

Improve sequence point coverage for debug info #3639

Closed

Conversation

pri-3x
Copy link

@pri-3x pri-3x commented Oct 22, 2024

Problem

Closes #3618
...

Solution

  • Add saveSequencePoint calls for various AST node types.
    ...

Copy link
Member

@AnnaShaleva AnnaShaleva left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And please, read and follow our contribution guidelines: https://github.com/nspcc-dev/.github/blob/master/git.md#commits

@@ -662,6 +662,7 @@ func (c *codegen) Visit(node ast.Node) ast.Visitor {
return nil

case *ast.AssignStmt:
c.saveSequencePoint(n)
Copy link
Member

@AnnaShaleva AnnaShaleva Oct 22, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need a lot of tests for it. It's easy to place these missing lines of code to every AST node handler, I don't need an issue for that. But it's not a solution. What we need is to ensure that the resulting sequence points are:

  1. Properly generated and match the expectations.
  2. There are no duplicating sequence points.
  3. Match (or at least relatively match) the corresponding C# debugger output for similar AST nodes.
  4. There are no more statements that don't have corresponding sequence points.

@roman-khimov
Copy link
Member

Unmaintained. Feel free to reopen if you have any updates wrt review comments left here.

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.

Some of statements are missing sequence points in the debug info
3 participants