2012-11-09  Jesper Öqvist <jesper.oqvist@cs.lth.se>

	* Fixed error in fullCopy NTA exclusion - excluded wrong children
	Trac ticket: http://svn.cs.lth.se/trac/jastadd-trac/ticket/89

	* Minor improvements to indentation in generated code

	* Added SVN revision number to version string

2012-10-26  Jesper Öqvist

    * New release: 20121026

    * Fixed error that caused faulty code generation when a comment before
    an import statement contained a semicolon.
    Trac ticket: http://svn.cs.lth.se/trac/jastadd-trac/ticket/84
--------------------------------------------------------------------------------
2012-10-25:  (JO)

    * Added generated getNumXNoTransform method to count number items
    in list children without triggering rewrites.
    Trac ticket: http://svn.cs.lth.se/trac/jastadd-trac/ticket/82

    * Fixed static import codegen error.
    Trac ticket: http://svn.cs.lth.se/trac/jastadd-trac/ticket/83
--------------------------------------------------------------------------------
2012-10-19: (JO)

    *  Synthesized attributes with no equation generate an abstract method
    even if another attribute with the same name has an equation in the same
    node type. Trac ticket: http://svn.cs.lth.se/trac/jastadd-trac/ticket/78
    
    * Removed the generated attribute for accessing parameterized non-terminal
    value maps due to possible faulty code generation.
    Trac ticket: http://svn.cs.lth.se/trac/jastadd-trac/ticket/80
--------------------------------------------------------------------------------
2012-10-18: (JO)

    * Properly escape backslashes in filenames generated in documentation
    comments. Trac ticket: http://svn.cs.lth.se/trac/jastadd-trac/ticket/76

    * Do not copy NTA children in fullCopy. Trac ticket:
    http://svn.cs.lth.se/trac/jastadd-trac/ticket/77
--------------------------------------------------------------------------------
2012-10-11: (GH) New release: 20121011
--------------------------------------------------------------------------------
2012-09-18: (JO) all errors, warnings and help messages are printed to stderr
--------------------------------------------------------------------------------
2012-09-17: (JO) getChild now returns null if the children array is null
--------------------------------------------------------------------------------
2012-06-29: (JO) Add comment to each generated file with the JastAdd2 version
--------------------------------------------------------------------------------
2012-06-29: (JO) Added low-level attribute to access parameterized
non-terminal value maps
--------------------------------------------------------------------------------
2012-06-13: (JO) Updated option descriptions.
Updated the descriptions for the defaultMap and defaultSet options.
--------------------------------------------------------------------------------
2012-05-30: (JO) It is no longer possible to comple inherited equations that
lack a return statement.
--------------------------------------------------------------------------------
2012-04-27: (JO) A new class was added to handle command line options passed
to JastAdd. The new jastadd.Option class is responsible for option matching
and help printing. Options can be made deprecated and non-standard.
Only standard, non-deprecated, options are printed in the default help text.
The non-standard options can be printed with the --X option.

Command line options are no longer case sensitive.

If a deprecated option is used JastAdd prints a warning.

If an option is given twice JastAdd prints a warning.

If an unknown option is used (string starting with --) JastAdd prints a
warning.

If an option that requires a value does not have one, JastAdd prints a
warning.

Some option descriptions were slightly modified.

In order to make JastAdd behave the same when invoked from
command line and Ant task, the options --noComponentCheck, --lazyMaps and
--refineLegacy are now default ON. They can be switched off using
--componentCheck, --noLazyMaps and --noRefineLegacy respectively.

Print the error output from the test runner in the ant log rather than sending
it to test_results.

Test runner prints the command used to invoke JastAdd.
--------------------------------------------------------------------------------
2012-04-26: (JO) Running JastAdd with the --version or --help flags now
makes JastAdd print the requested information and exit with exit code zero.
--------------------------------------------------------------------------------
2012-04-26: (JO) The Ant build now uses lazyMaps="false" since the lazyMaps
implementation currently causes build errors in some projects. This option
can be re-enabled later when the bug has been fixed properly.
--------------------------------------------------------------------------------
2012-04-24: (JO) Added cast in fullCopy: can't assume that the child
array has type ASTNode[]
--------------------------------------------------------------------------------
2012-04-23: (JO) Added cast in removeChild: can't assume that the child
array has type ASTNode[]
--------------------------------------------------------------------------------
2012-04-18: (JO) The pattern matching for the refined keyword is now sensitive
to word boundaries: the substring "refined" is not treated as the refined
keyword if it appears inside e.g. the string "unrefined"
--------------------------------------------------------------------------------
2012-03-26: (ES) The generated code for syn nta with parameters now allows
null values.
--------------------------------------------------------------------------------
2012-03-01: (JO) fullCopy now sets the parent of the copied tree to null
--------------------------------------------------------------------------------
2012-02-22: (JO) Fixed build errors when invoking the ant script
from another working directory than the project's base directory.
--------------------------------------------------------------------------------
2012-01-30: (JO) Makefile is now deprecated
-------------------------------------------------------
2012-01-27: (ES) Added a sort of the file list given to
aspectj in Makefile to make sure ast.AST.TokenComponent is
handled before ast.AST.TokenComponentNTA. The order of the
file list apparently affects the result of aspectj 1.5.3
and if not sorted an error will occur. This problem does
not occur when the ant script is run because it the 
file list given to aspectj has a different order.
-------------------------------------------------------
2011-01-09: (JO) Improved the generated documentation comments
-------------------------------------------------------
2012-01-08: (JO) Removed source file name for constructors,
methods and node types (ASTNode, List, Opt) generated without
an actual source file. This improves the declaredat tag output.
-------------------------------------------------------
2011-12-30: (JO) Generate production tags for the RagDoll tool.
-------------------------------------------------------
2011-12-30: (JO) Filenames for AST decls is now set
the full path, not the base file name.
-------------------------------------------------------
2011-12-01: (JO) Added Apache Ant build script.
Moved version name to resource bundle which is generated
at build time -- this removes the frequent changes in
JastAdd.java due to the version name updating after each
build.
-------------------------------------------------------
2011-12-01: (JO) Rewrite debug code escapes file names
in strings. This fixes a bug where JastAdd on Windows
systems could output code that did not compile.
Also added the AspectName token to the Rewrite node type,
so that the actual aspect name could be returned in the
Rewrite.aspectName attribute.
-------------------------------------------------------
2011-09-25: (ES) Moved weaving of interfaces to earlier
Weaving of interfaces after the weaving of attribute/aspect
definitions prevents the second phase to access certain
cached attributes. Attributes that cache their declaration
and which have their declaration in an interface will not
find their declaration until after the interface has been
weaved in. If this attribute is called before this happens
null will be cached eventhough the definition is available
after the interface weaving phase. This causes an error
and prevents generation of Java files.
-------------------------------------------------------
2011-09-24: (ES/JO) Fix of missing "when" problem
There was a bug for contributes classes missing a when
part: an if statement with no condition was generated.
This is now checked in Test119 and a fix is added in
jrag/CollectionAttributes.jrag. The Contribute.getCondition
method probably used to return null but now returns
an empty string when there is no condition. The code
now checks the length of the string in addition to a
null check.
-------------------------------------------------------
2011-09-21: (ES) New bootstrap with nameless Ast aspect
This is basically a revert back to a nameless .ast aspect
which requires less maintenance since there is no aspect
name that may collide with user defined aspect names.
This revert requires a boostrap since it includes an
update of the refines in the jastadd2 code base.
-------------------------------------------------------
2011-09-13: (ES) Update of the first bootstrap step
There was a bug in the generation of visited flags
missed in the last update. The test target of the
Makefile has been updated to prevent this in the future.
It know depends on the "jar" target and not only the
"all" target. Test 117 was added to expose the bug in
the previous bootstrapping attempt.
--------------------------------------------------------
2011-09-08: (ES) Update of generated code for java5
There was a name collison when generating java5 code
due to an added method with a generic return type.
The offending method "Iterator ASTDecl.getClassBodyDecls"
was renamed to "Iterator ASTDecl.getClassBodyDeclsItr".
The java5 generated method could have been used with
some adjustments (it generates a list which could be
used to get an iterator) but this would not work for
java1.4 code.
--------------------------------------------------------
2011-09-08: (ES) First bootstrap step
Did a bootstrap with the java1.4 flag on. Updated the
refinement syntax in JragCodeGen.jrag and hand to rename
the "String ASTDecl.flushCollectionCache" to 
"String ASTDecl.flushCollectionCacheString" to prevent
a collision with the now generated 
"void ASTDecl.flushCollectionCache".
--------------------------------------------------------
2011-09-08: (ES) Added generation of java1.4 code
The previous generation of java1.4 code for circular attributes
resulted in java5 code.
--------------------------------------------------------
2011-09-08: (ES) Preparing for boostrap
Changed the Makefile so that jastadd is run with the "--java1.4"
flag to avoid version related compile errors.
Changed the use of "refine" in JragCodeGen.jrag to use
the "refined()" construct instead of the "A.C.m()" construct.
The tests for the latter alternative fails.
--------------------------------------------------------
2011-09-08: (ES) Added support for refinement of grammar generated methods
(from .ast) via an "Ast" aspect. 
--------------------------------------------------------
2011-09-08: (ES) Added tests for refine (110-116)
--------------------------------------------------------
2011-09-02: (GH) New release: 20110902
--------------------------------------------------------------------------------
2011-09-02: (JO) Changed the name of the RagDoll tag
apilvl to apilevel
--------------------------------------------------------
2011-05-31: (JO) Added JavaDoc tag output for attributes
and methods.
--------------------------------------------------------
2011-05-31: (JO) Added test target to Makefile.
You can use make test to run all the unit tests and
compare the test results with expected test results.
--------------------------------------------------------
2011-05-10: (JO) Added WINDOWS / CYGWIN notes to README
--------------------------------------------------------
2011-05-09: (JO) ASTNode Java error fixed
Changed type of node parameter in setChild and insertChild to ASTNode.
This change fixes Java errors that previously were undetected by javac,
but with the latest JDK7 versions from Oracle these errors are reported.
The error was access of childIndex in a context where that field is not
visible.
--------------------------------------------------------
2011-05-06: (GH) Added reference-manual, release-notes, and release script.
--------------------------------------------------------
2011-04-25: (GH) Revised tests
Added .info files for test documentation.
RunTests now uses JastAdd2.jar instead of class files.
RunTests now runs JastAdd2.jar as exec process to avoid exit at generation-time errors.
RunTests now accepts tests from 1 to 200.
Added test case Test101.
Refactored some tests to make them succeed under JastAdd2.
--------------------------------------------------------
2011-04-06: (GH) Added documentation files in JastAdd2
Added readme, change log file, etc.
Ticket http://svn.cs.lth.se/trac/jastadd-trac/ticket/2
--------------------------------------------------------
2011-01-24: (ES) Repository moved
The repo was moved from CVS vitter.cs.lthse to SVN svn.cs.lth.se.
For older change logs, see ChangeLogUntil2010.txt
--------------------------------------------------------
Year-Month-Day: (Who) Short Description
Longer description, or pointer to trac ticket.
--------------------------------------------------------
