Ryan Gustafson 00249eb78d Allow the ClassLoader used by PMD for Type Resolution to be specified. This ClassLoader can be distinctly different than the ClassLoader used to load PMD itself.
IDE plugins can create ClassLoaders representing the "project" settings in the IDE, providing PMD with that ClassLoader, such that PMD can truly see the classes being represented in the IDE.  In the specific case of Eclipse, the IDE plugin runs in a ClassLoader which does not contain the details of the "project" settings, which means without this feature PMD would never be able to do proper Type Resolution.

I've not had a chance to benchmark this change.  I expect there to be some performance changes given that 'static' reference to the PMDASMClassLoader is no longer used.  Further tuning may need to be done.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5819 51baf565-9d33-0410-a72c-fc3788e3496d
2008-02-28 09:34:24 +00:00
2007-12-18 14:15:29 +00:00
2007-12-18 14:20:11 +00:00
2008-01-26 12:12:54 +00:00
Languages
Java 75.5%
Apex 9.7%
Kotlin 9.1%
ANTLR 2.7%
PLSQL 1%
Other 1.8%