The javac parser changed recently so that boolean literal values are now saved in JCTree.JCLiteral.value as Integer objects of 0 and 1 rather than Boolean. That's fine for internal values (if a bit C-like), but LiteralTree.getValue() should not return an Integer when its Kind is BOOLEAN_LITERAL.