<commit_before>Migration Guide for JastAddJ Extensions
=======================================

* created by GH (jan 2014)
* updated by JO (jan 2014)

The JastAddJ API up to version 7.1 was mostly much unchanged for several years.
Since version 7.1 though many things have changed in JastAddJ in order to
remove side effects, fix errors, and make the code more understandable. The
next release should be much more stable, but right now JastAddJ is changing
very much.

If you are maintaining a JastAddJ extension we understand that these API
changes can be difficult or frustrating to keep up with, but we see the changes
are seen as a necessary evil.

This guide is meant to help with migrating an extension from an older version
of JastAddJ to the current version.  Migrating to the latest version of
JastAddJ means that your extensions will become more conformant with the Java
specification, due to the bug fixes that have been added to JastAddJ since
version 7.1. You should also see increased performance after updating.

Please keep in mind that we are still changing JastAddJ rapidly at this moment,
so if you want to continue with a more stable version you may want to wait for
the next release.

To migrate your extension, we recommend that you start out with an older
version of JastAddJ that works with your extension (in most cases version 7.1
will work), and apply the adaptations one after the other, verifying after each
step that your extension works as expected. You can easily change your
currently checked out version of JastAddJ with the commands

    cd jastaddj
    git checkout commit-id

This guide should be used together with the ChangeLog. The ChangeLog has less
detailed descriptions of some commits, but some changes may be omitted here
and are better covered in the ChangeLog.

If you encounter problems not listed here, please report them on the [JastAddJ
issue tracker at bitbucket][1].

2013-10-22: Remove variable declaration rewrites
------------------------------------------------

**JastAddJ commit [f24288f][30]**

`VarDeclStmt` is no longer rewritten to a separate `VariableDeclaration`
statements in the JastAddJ AST and `VariableDeclaration` no longer inherits
from Stmt. This can cause problems for extensions that add code generation or
attributes on VariableDeclaration, expecting to find it in the AST. Instead,<commit_msg>Updated extension migration guide<commit_after>Migration Guide for JastAddJ Extensions
=======================================

* created by GH (jan 2014)
* updated by JO (jan 2014)
* updated by JO (jan 2015)

The JastAddJ API up to version 7.1 was mostly unchanged for several years.
Since version 7.1 though many things have changed in JastAddJ in order to
remove side effects, fix errors, and make the code more understandable. The
next release should be much more stable, but right now JastAddJ is changing
very much.

If you are maintaining a JastAddJ extension we understand that these API
changes can be difficult or frustrating to keep up with, but we see the changes
as a necessary evil.

This guide is meant to help with migrating an extension from an older version
of JastAddJ to the current version.  Migrating to the latest version of
JastAddJ means that your extensions will become more conformant with the Java
specification, due to the bug fixes that have been added to JastAddJ since
version 7.1. You should also see improved performance after updating.

Please keep in mind that we are still changing JastAddJ rapidly at this moment,
so if you want to continue with a more stable version you may want to wait for
the next release.

To migrate your extension, we recommend that you start out with an older
version of JastAddJ that works with your extension (in most cases version 7.1
will work), and apply the adaptations one after the other, verifying after each
step that your extension works as expected. You can easily change your
currently checked out version of JastAddJ with the commands

    cd jastaddj
    git checkout commit-id

This guide should be used together with the ChangeLog. The ChangeLog has less
detailed descriptions of some commits, but some changes may be omitted here
and are better covered in the ChangeLog. This is an incomplete list of changes
that _may_ affect your extension. We can not guarantee that your extension
will work even if you followed this guide.

If you encounter problems not listed here, please report them on the [JastAddJ
issue tracker at bitbucket][1].

2013-10-22: Remove variable declaration rewrites
------------------------------------------------

**JastAddJ commit [f24288f][30]**

`VarDeclStmt` is no longer rewritten to a separate `VariableDeclaration`
statements in the JastAddJ AST and `VariableDeclaration` no longer inherits
from Stmt. This can cause problems for extensions that add code generation or
attributes on VariableDeclaration, expecting to find it in the AST. Instead,
{'fraction_non_alphanumeric': 0.06229707792207792, 'fraction_numerical': 0.013798701298701298, 'mean_word_length': 4.210359408033827, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '632482', 'n_tokens_mistral': 1246, 'n_tokens_neox': 1158, 'n_words': 755}