Skip to content

[java] Implement pattern binding scoping#3755

Merged
oowekyala merged 49 commits into
pmd:pmd/7.0.xfrom
oowekyala:java-pattern-binding-scopes
Feb 24, 2022
Merged

[java] Implement pattern binding scoping#3755
oowekyala merged 49 commits into
pmd:pmd/7.0.xfrom
oowekyala:java-pattern-binding-scopes

Conversation

@oowekyala

@oowekyala oowekyala commented Jan 28, 2022

Copy link
Copy Markdown
Member

Describe the PR

Implement scoping for pattern-binding variables, according to JLS 17 and JEP 406, but not JEP 405.

There are some tests failing related to while(true), I'll investigate...

Related issues

Ready?

@oowekyala oowekyala added this to the 7.0.0 milestone Jan 28, 2022
@oowekyala oowekyala marked this pull request as draft January 28, 2022 21:01
@ghost

ghost commented Jan 29, 2022

Copy link
Copy Markdown
2 Messages
📖 Compared to pmd/7.0.x:
This changeset changes 89 violations,
introduces 63 new violations, 0 new errors and 0 new configuration errors,
removes 44 violations, 0 errors and 0 configuration errors.
Full report
📖 Compared to master:
This changeset changes 49302 violations,
introduces 26778 new violations, 5 new errors and 0 new configuration errors,
removes 146038 violations, 25 errors and 0 configuration errors.
Full report
Compared to pmd/7.0.x:
This changeset changes 89 violations,
introduces 63 new violations, 0 new errors and 0 new configuration errors,
removes 44 violations, 0 errors and 0 configuration errors.
Full report
Compared to master:
This changeset changes 49302 violations,
introduces 26778 new violations, 5 new errors and 0 new configuration errors,
removes 146038 violations, 25 errors and 0 configuration errors.
Full report
Compared to pmd/7.0.x:
This changeset changes 89 violations,
introduces 63 new violations, 0 new errors and 0 new configuration errors,
removes 44 violations, 0 errors and 0 configuration errors.
Full report
Compared to master:
This changeset changes 49302 violations,
introduces 26778 new violations, 5 new errors and 0 new configuration errors,
removes 146038 violations, 25 errors and 0 configuration errors.
Full report
Compared to pmd/7.0.x:
This changeset changes 89 violations,
introduces 65 new violations, 90 new errors and 0 new configuration errors,
removes 24798 violations, 0 errors and 0 configuration errors.
Full report
Compared to master:
This changeset changes 47423 violations,
introduces 25657 new violations, 95 new errors and 0 new configuration errors,
removes 169800 violations, 25 errors and 0 configuration errors.
Full report
Compared to pmd/7.0.x:
This changeset changes 0 violations,
introduces 63 new violations, 0 new errors and 0 new configuration errors,
removes 42 violations, 0 errors and 0 configuration errors.
Full report
Compared to master:
This changeset changes 49341 violations,
introduces 26849 new violations, 5 new errors and 0 new configuration errors,
removes 140335 violations, 25 errors and 0 configuration errors.
Full report
Compared to pmd/7.0.x:
This changeset changes 0 violations,
introduces 63 new violations, 0 new errors and 0 new configuration errors,
removes 42 violations, 0 errors and 0 configuration errors.
Full report
Compared to master:
This changeset changes 49341 violations,
introduces 26849 new violations, 5 new errors and 0 new configuration errors,
removes 140335 violations, 25 errors and 0 configuration errors.
Full report
Compared to pmd/7.0.x:
This changeset changes 0 violations,
introduces 63 new violations, 0 new errors and 0 new configuration errors,
removes 42 violations, 0 errors and 0 configuration errors.
Full report
Compared to master:
This changeset changes 49341 violations,
introduces 26849 new violations, 5 new errors and 0 new configuration errors,
removes 140335 violations, 25 errors and 0 configuration errors.
Full report
Compared to pmd/7.0.x:
This changeset changes 0 violations,
introduces 63 new violations, 0 new errors and 0 new configuration errors,
removes 42 violations, 0 errors and 0 configuration errors.
Full report
Compared to master:
This changeset changes 49341 violations,
introduces 26849 new violations, 5 new errors and 0 new configuration errors,
removes 140335 violations, 25 errors and 0 configuration errors.
Full report
Compared to pmd/7.0.x:
This changeset changes 0 violations,
introduces 63 new violations, 5 new errors and 0 new configuration errors,
removes 2584 violations, 0 errors and 0 configuration errors.
Full report
Compared to master:
This changeset changes 49148 violations,
introduces 26091 new violations, 10 new errors and 0 new configuration errors,
removes 142639 violations, 25 errors and 0 configuration errors.
Full report
Compared to pmd/7.0.x:
This changeset changes 0 violations,
introduces 63 new violations, 5 new errors and 0 new configuration errors,
removes 2584 violations, 0 errors and 0 configuration errors.
Full report
Compared to master:
This changeset changes 49148 violations,
introduces 26091 new violations, 10 new errors and 0 new configuration errors,
removes 142639 violations, 25 errors and 0 configuration errors.
Full report
Compared to pmd/7.0.x:
This changeset changes 2 violations,
introduces 94 new violations, 0 new errors and 0 new configuration errors,
removes 85 violations, 0 errors and 0 configuration errors.
Full report
Compared to master:
This changeset changes 49341 violations,
introduces 26435 new violations, 5 new errors and 0 new configuration errors,
removes 140433 violations, 25 errors and 0 configuration errors.
Full report
Compared to pmd/7.0.x:
This changeset changes 2 violations,
introduces 94 new violations, 0 new errors and 0 new configuration errors,
removes 85 violations, 0 errors and 0 configuration errors.
Full report
Compared to master:
This changeset changes 49341 violations,
introduces 26435 new violations, 5 new errors and 0 new configuration errors,
removes 140433 violations, 25 errors and 0 configuration errors.
Full report

Generated by 🚫 Danger

@oowekyala oowekyala marked this pull request as ready for review January 29, 2022 20:05
@adangel adangel self-requested a review February 4, 2022 15:57
@oowekyala oowekyala linked an issue Feb 7, 2022 that may be closed by this pull request
@oowekyala oowekyala self-assigned this Feb 24, 2022
@oowekyala oowekyala merged commit ed69dbd into pmd:pmd/7.0.x Feb 24, 2022
@oowekyala oowekyala deleted the java-pattern-binding-scopes branch February 24, 2022 20:17

@adangel adangel left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks for implementing this! 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

in:symbol-table Affects the symbol table code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[java] Make symbol table support instanceof pattern bindings

3 participants