Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 

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

...