...
| Final Array & Anonymous Class | Generic Constructors | Capture Conversion Idiom | Overloaded Methods | Covariant Arrays |
---|---|---|---|---|---|
JTL |
|
| X |
|
|
BBQ | X | X | X | ? |
|
SOUL |
|
|
|
|
|
JQuery | X | X | X | ? | X |
.QL |
|
|
|
|
|
Jackpot |
|
|
|
|
|
PMD |
|
|
|
| X |
JTL
- no working Eclipse plugin found. (authors emailed)
BBQ
- doesn't detect local inner classes (local & anonymous). Only inner classes (doesn't differentiate): class in all classes
- no access to local variable declared in methods
- no support for generics.
- no support for constructors (considered as method init)
- no AST structural matching. (e.g loops ...)
- no variable binding/unification
- set operators (union, intersection)
- support for read/write of fields references
...
- http://jquery.cs.ubc.ca/documentation/toc.html
- http://jquery.cs.ubc.ca/documentation/appendix2.html
- variable binding through predicates
Wiki Markup support for read & mutation of fields (write) \[writes(?B,?F,?L) means: "Block ?B writes to field ?F at location ?L"\]
- no structural matching (e.g pattern match on a loop or body of a method)
- no generics support
Wiki Markup |
---|
*+.QL \[authors emailed Oege\]+* |
Wiki Markup |
---|
*{+}Jackpot \[emailed Jan from Netbeans\]+* |
PMD
- http://www.ing.iac.es/~docs/external/java/pmd/rules/design.html
- http://code.google.com/p/code-cop-code/wiki/PmdRulesCodecop
- structural matching: all AST hiearchy can be queried through Xpath expression
- can't express subtype relations. E.g. assignments where RHS is supertype of left handside and different
- no variable binding
- support generic constructors but not bind it to enclosing class: //ConstructorDeclaration//TypeParameters
...
Overview
Content Tools
ThemeBuilder