- needed to remove statefulness of rules - allow them to grab the LanguageProcessor before execution (#3782) - better error reporting (#3868)) - enable custom rule impl, eg with groovy script - being a visitor vs. having a visitor - note: AntlrBaseRule has a visitor instead of being one: https://github.com/pmd/pmd/blob/9bc62266a22baa9095e172f5299c5bf6e8a86d1c/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/antlr4/AntlrBaseRule.java#L30-L37
pmd/pmd-core/src/main/java/net/sourceforge/pmd/lang/ast/impl/antlr4/AntlrBaseRule.java
Lines 30 to 37 in 9bc6226