...
| Final Array & Anonymous Class | Generic Constructors | Capture Conversion Idiom | Overloaded Methods | Covariant Arrays | Improved Exception Handling |
---|---|---|---|---|---|---|
JTL |
| X | X |
| X |
|
BBQ | X | X | X | ? | X |
|
SOUL |
|
|
|
|
|
|
JQuery | X | X | X | ? | X |
|
.QL |
|
|
|
| X |
|
Jackpot |
|
|
|
|
|
|
PMD |
|
|
|
| X |
|
...
- no working Eclipse plugin found. (authors emailed)
- argument list pattern (sec 2.2) public _ (_, String, *) : any public method that accept a String as its second argument and returns any type
- quantifiers
- anonymous class
- pattern naming (integral := byte | short | int | long)
- variable binding
- no structural matching of AST (deemed difficult because uses class files) (so can't look match on a loop for example or find all local variables in method)
Wiki Markup read\[F\]/write\[F\] predicates to indicate whether a method reads/write to a field. Nice feature: write\[_\] tells whether method writes to a field at all. How do we do this recursively? All methods within the method are not writing to fields...
- no support for generics (according to documentation)
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
...
Overview
Content Tools
ThemeBuilder