[core] Wire processing stages into SourceCodeProcessor#1796
Conversation
b92327c to
332a52b
Compare
|
By the way, I figured out why travis doesn't build, even though the PR is build on the merge commit with pmd/7.0.x : the important change is in You'll get rid of the two "Merge branch '7.0.x' into wire-processing-stages" commits then. If you needed to resolve conflicts back then, you probably need to resolve them again during rebase. |
332a52b to
7d6a6dd
Compare
Generated by 🚫 Danger |
https://travis-ci.org/pmd/pmd/jobs/526201635#L6720, it seems that the server has no local pmd/7.0.x branch. I'll fix the issue in another PR. |
Antlr root nodes need to implement RootNode. Also, I didn't like the fact that the swift module didn't use the conventional package structure (lang.swift.ast) but was rolling its own convention (lang.swift.antlr4). I moved base classes for the antlr implementations into nspmd.lang.ast.impl.antlr4. The fact that a module is implemented with antlr is an implementation detail, and it doesn't deserve its own toplevel package in nspmd.lang.
Follow up on #1426 (including PR comments from the later reviews)
This is a temporary solution until we change RuleSet. You can see when running with the benchmark that the stages are properly executed for any language (though the benchmark reporter doesn't preserve the order of execution).
With this, plus #1759, we can plug-in a naive name disambiguation stage, which unlocks progress on the updating of type resolution (and on a long-term solution for stages). This is what I've tried to schematize on the wiki