Version 3.0.0-alpha.11

  • 547 595 Node.range is now using Optional instead of Range.UNKNOWN
  • 584 588 548 585 bug fixes and improvements

Version 3.0.0-alpha.10

  • 578 579 577 575 290 570 568 567 562 564 551 bug fixes and improvements

Version 3.0.0-alpha.9

  • 403 358 549 Make all names nodes: either SimpleName or Name. This makes every name in the AST visitable. NameExpr is now a wrapper to use SimpleName in an expression.
  • 516 536 use Optional<> for return values.
  • 556 557 558 550 small improvements and fixes.
  • 560 559 make nodes observable.

Version 3.0.0-alpha.8

  • 344 529 turn DumpVisitor into an official PrettyPrinter
  • 532 508 427 530 531 513 528 cleanups

Version 3.0.0-alpha.7

  • 515 roll back attempt at using Optional
  • 522 504 make NodeList not a Node (restores parent/children behaviour to before alpha.4)
  • 527 526 rename getChildrenNodes to getChildNodes
  • 525 495 520 bug fix

Version 3.0.0-alpha.6

  • 503 modified ImportDeclaration hierarchy to have getters for static and "asterisk" again
  • 506 bug fix

Version 3.0.0-alpha.5

Version 3.0.0-alpha.4

  • 463 471 nodes can now be removed easily
  • 491 import handling changed. Instead of "ImportDeclaration", we now have the four types of import as described in the JLS. See issue
  • 452 355 474 494 various improvements
  • 493 492 485 Simplify the JavaParser interface

Version 3.0.0-alpha.3

  • 112 237 466 465 461 460 458 457 fundamentally changes how we deal with arrays. It is explained in the last post here
  • 472 456 makes the "data" field on every node more structured.
  • 477 468 refactor TypeArguments. You will find that TypeArguments is no longer a type, it is just a list in some nodes.
  • 482 adds the "nodeTypes" packages to the osgi export.
  • 479 476 makes all setters on nodes return this so they become chainable.
  • 473 437 clean up CloneVisitor.

Version 3.0.0-alpha.2

Version 3.0.0-alpha.1

  • 400 405 introduce many "builder" style methods for constructing code. Thanks DeepSnowNeeL!
  • 409 remove ASTHelper (methods are now on specific Node subclasses)
  • 414 JavaParser can now be instantiated and reused. InstanceJavaParser removed
  • 418 417 411 408 bugs
  • 367 420 407 402 various cleanups

Version 2.5.1

  • 394 OSGi manifest added
  • 391 fix ModifierVisitor NullPointerException bug
  • 385 a few new parse methods
  • 386 fix dumping an empty import (a single ; after the package declaration)

Version 2.5.0

API breaking changes:

  • 191: moved TreeVisitor to visitor package

  • 368, 162, 303, 302, 360: use correct type in some places.

  • 371: code is now compiled with Java 8

  • 342, 331: ModifierVisitorAdapter detects and removes broken nodes

  • 328, 270: upgrade JavaCC (use TokenMgrException now) Other changes:

  • 297: enable access to tokens.

  • 341, 361: node positions are now OO

  • 211, 373: escaping of \n \r for string literals

  • 336, 276, 141: JavaDoc support now works

  • 337, 281: reorganize the stream reading code

  • 343, 309, 332, 57: take advantage of common interfaces

  • 329, 326, 327: deal with platform issues

  • 163, 236, 252, 296, 269, 339, 321, 322, 252, 253, 293, 295: various fixes

  • 310, 311, 313, 301, 294: some code clean-ups

Version 2.4.0

  • several fixes in DumpVisitor for bugs due to lazy initialization
  • make TypeDeclaration implements DocumentableNode directly
  • TypedNode interface introduced
  • introduce MultiBoundType
  • refactored IntersectionType and UnionType
  • refactored CatchClause
  • parsing annotations in throws declarations
  • parse orphan semicolons in import statements
  • added PackageDeclaration.getPackageName
  • solved issue with newlines in string literals
  • fixed handling of UnknownType in EqualsVisitor
  • improvements to CommentsParser
  • removing old grammar

Version 2.3.0

  • ClassOrInterfaceType implements NamedNode
  • DumpVisitor can now be extended
  • Improved documentation
  • AST: lists are now lazy initialized

Version 2.1.0-SNAPSHOT

Code changes

Version 2.0.0

  • support Java 8