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

Add AST node IDs to types.Err for errorable expressions #862

Merged
merged 1 commit into from
Nov 30, 2023

Conversation

kortschak
Copy link
Contributor

I have tried to make this as minimally invasive as possible and hopefully the naming is within project style.

Please take a look.

Pull Requests Guidelines

See CONTRIBUTING.md for more details about when to create
a GitHub Pull Request and when other kinds of contributions or
consultation might be more desirable.

When creating a new pull request, please fork the repo and work within a
development branch.

Commit Messages

  • Most changes should be accompanied by tests.
  • Commit messages should explain why the changes were made.
Add AST node IDs to types.Err for errorable expressions

Currently, it is not possible to obtain the source location of a runtime
error making it difficult sometimes to identify the cause of an issue.
If an AST node ID is available, the source location can be obtained, so
add this information to runtime errors.

ref.Val values returned by the following types are examined for error
state and if an error and no AST node has been set, the node ID of the
Interpretable is added to the error.

* evalAnd
* evalAttr
* evalBinary
* evalExhaustiveConditional
* evalList
* evalMap
* evalMap
* evalObj
* evalOr
* evalTestOnly
* evalUnary
* evalVarArgs
* evalWatchAttrQual
* evalWatchConstQual
* evalWatchQual
* evalZeroArity

Reviews

  • Perform a self-review. ✔️
  • Make sure the Travis CI build passes. ✔️
  • Assign a reviewer once both the above have been completed.

Merging

  • If a CEL maintaner approves the change, it may be merged by the author if
    they have write access. Otherwise, the change will be merged by a maintainer.
  • Multiple commits should be squashed before merging.
  • Please append the line closes #<issue-num>: description in the merge message,
    if applicable.

Currently, it is not possible to obtain the source location of a runtime
error making it difficult sometimes to identify the cause of an issue.
If an AST node ID is available, the source location can be obtained, so
add this information to runtime errors.

ref.Val values returned by the following types are examined for error
state and if an error and no AST node has been set, the node ID of the
Interpretable is added to the error.

* evalAnd
* evalAttr
* evalBinary
* evalExhaustiveConditional
* evalList
* evalMap
* evalMap
* evalObj
* evalOr
* evalTestOnly
* evalUnary
* evalVarArgs
* evalWatchAttrQual
* evalWatchConstQual
* evalWatchQual
* evalZeroArity
@TristonianJones
Copy link
Collaborator

/gcbrun

Copy link
Collaborator

@TristonianJones TristonianJones left a comment

Choose a reason for hiding this comment

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

Thanks for the contribution @kortschak!

@TristonianJones TristonianJones merged commit 8657c98 into google:master Nov 30, 2023
2 checks passed
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.

None yet

2 participants