Are you ready....
for MetricsReloaded?
My metrics plugin is now code complete, and will be shipping after I put it through a full QA cycle and figure out exactly what incantations I need to do to redistribute an LGPL graphing library (JFreeChart). 108 source code metrics, at the project, module, package, class, and method levels. Shipping Monday. Pallada 2008 required.
--Dave Griffith
Please sign in to leave a comment.
Hello Dave,
Can't wait!
Give it to us!
Who cares about QA anyway. It is overrated like unit testing... ;-P
Jacques
You're insane.. but who cares, give us the goods! :)
Really really cool. (although, 2008 only? Really?)
Vince.
2008 only. Really. For some unknown reason, JetBrains changed the numbering of token types in the PSI, and refactored the definitions into a different class. This is already creating bugs in InspectionGadgets, and prevents me from shipping/compiling against 4.0 and 2008 without jumping through severe hoops. For 0.1, at least, I'm shipping the 2008 version only.
--Dave Griffith
Dave Griffith wrote:
If I not missing something those constants weren't opened. Did you use just plain numbers?
--
Maxim Shafirov
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"
Hi,
In 4.0 weren't but in 2008 seems opened. There are many useful classes not in OpenAPI and plugin authors very often use them cause they don't offuscated. Please leave it unobfuscated without them plugins become foreign to IDE. May be their transition to OpenAPI may be more smooth?
TIA,
Dmitry
As near as I can determine:
PsiJavaToken was available in all the pre-4.0 EAPs of Aurora. It contains a bunch of public static final integers representing token types. These constants are used extensively throughout InspectionGadgets and IntentionPowerPack, and in a couple of places in MetricsReloaded.
In the 4.0 release, those numeric constants were still present, but their values were changed. Since static final integers in Java are bound at compile-time, rather than run-time, this means that IPP and IG compiled against
the EAP versions will run, but have incorrect sementics, if run under 4.0. (This is the cause of the "x1 can be replaced by x" bug, in the trivial arithmetic expression bug. I'm comparing the operation to see if it is "*", and that comparison is succeeding since the token values have been shifted. IG thinks that "x1" is actually "x*1", and recommends that you simplify it.)
In 2008, those constants have been moved to a new class JavaTokenType. This means that IG and IPP will no longer even compile against the 2008 libraries, and that I have to choose which to ship MetricsReloaded against. Since I'm personally using the EAP version, it's about a hundred times easier for me to ship against it. Assuming you guys are serious about including IPP and IG in Pallada, those are blissfully not my problem, otherwise I've got some hard choices to make.
--Dave Griffith
Dave, you rock!