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

Expressions need type annotations in the parse trees #3184

Open
MDoerner opened this issue Jul 29, 2017 · 1 comment
Open

Expressions need type annotations in the parse trees #3184

MDoerner opened this issue Jul 29, 2017 · 1 comment
Labels
code-path-analysis Involves simulating execution paths / interpreting the user code ..to an extent. difficulty-04-quackhead Dare? enhancement Feature requests, or enhancements to existing features. Ideas. Anything within the project's scope.

Comments

@MDoerner
Copy link
Contributor

We should annotate the expression nodes and all their sumnodes with types. This could either be a type interface or simply a string. (The latter would allow the annotation even before resolving references.)

This would be a first step towards code-path analysis. Moreover, this would allow for new inspections and to hugely simplify existing ones like the ObjectNotSetInspection.

@MDoerner MDoerner added code-path-analysis Involves simulating execution paths / interpreting the user code ..to an extent. difficulty-04-quackhead Dare? enhancement Feature requests, or enhancements to existing features. Ideas. Anything within the project's scope. labels Jul 29, 2017
@retailcoder
Copy link
Member

The Rubberduck.Parsing.Preprocessing namespace quite possibly includes a lot of reusable stuff, especially for evaluating If conditions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code-path-analysis Involves simulating execution paths / interpreting the user code ..to an extent. difficulty-04-quackhead Dare? enhancement Feature requests, or enhancements to existing features. Ideas. Anything within the project's scope.
Projects
None yet
Development

No branches or pull requests

2 participants