1.8.1.20140523140000
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajde/core/AjCompiler.class b/org.aspectj.ajde/classes/org/aspectj/ajde/core/AjCompiler.class
index 57ad202..291ab64 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajde/core/AjCompiler.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajde/core/AjCompiler.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajde/core/JavaOptions.class b/org.aspectj.ajde/classes/org/aspectj/ajde/core/JavaOptions.class
index bcbd300..126a887 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajde/core/JavaOptions.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajde/core/JavaOptions.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajde/core/internal/AjdeCoreBuildManager.class b/org.aspectj.ajde/classes/org/aspectj/ajde/core/internal/AjdeCoreBuildManager.class
index cea3740..7ef6704 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajde/core/internal/AjdeCoreBuildManager.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajde/core/internal/AjdeCoreBuildManager.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/AjdtCommand.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/AjdtCommand.class
index 904dc2f..4638ebf 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/AjdtCommand.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/AjdtCommand.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/BuildArgParser$AjcConfigParser.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/BuildArgParser$AjcConfigParser.class
index 6bc7549..f97909a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/BuildArgParser$AjcConfigParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/BuildArgParser$AjcConfigParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/BuildArgParser.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/BuildArgParser.class
index fb47291..8f6a247 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/BuildArgParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/BuildArgParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/ConfigParser$1.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/ConfigParser$1.class
index e331a34..33fa81e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/ConfigParser$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/ConfigParser$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/ConfigParser$2.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/ConfigParser$2.class
index 7152989..d623684 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/ConfigParser$2.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/ConfigParser$2.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/ConfigParser.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/ConfigParser.class
index 8efffdd..8105eba 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/ConfigParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/ConfigParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/messages.properties b/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/messages.properties
index 64ca22c..51bbc92 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/messages.properties
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/ajc/messages.properties
@@ -4,8 +4,8 @@
The -Xlintfile:lint.properties allows fine-grained control. In tools.jar, see
org/aspectj/weaver/XlintDefault.properties for the default behavior and a template to copy.
### AspectJ-specific messages
-compiler.name = AspectJ Compiler 1.8.0
-compiler.version = Eclipse Compiler BETA_JAVA8_8661797, 3.9
+compiler.name = AspectJ Compiler 1.8.1
+compiler.version = Eclipse Compiler BETA_JAVA8_3f60ba6, 3.10
compiler.copyright =
## this next one superceded by above...
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.class
index 424d2e1..7a913c6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/AjPipeliningCompilerAdapter.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/AjPipeliningCompilerAdapter.class
index 4ce108f..8d0d977 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/AjPipeliningCompilerAdapter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/AjPipeliningCompilerAdapter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/CommonPrinter.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/CommonPrinter.class
index 741b31d..3f4e311 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/CommonPrinter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/CommonPrinter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/CompilerAdapter.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/CompilerAdapter.class
index ef1ea6e..77b2a93 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/CompilerAdapter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/CompilerAdapter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/WeaverAdapter.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/WeaverAdapter.class
index 8e6fc7f..436119b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/WeaverAdapter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/WeaverAdapter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/WeaverMessageHandler.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/WeaverMessageHandler.class
index ae77504..5a9f3c3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/WeaverMessageHandler.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/WeaverMessageHandler.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AdviceDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AdviceDeclaration.class
index f502000..54383df 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AdviceDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AdviceDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AjConstructorDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AjConstructorDeclaration.class
index 7188ff2..b248d5e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AjConstructorDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AjConstructorDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AjMethodDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AjMethodDeclaration.class
index 86f191a..1e431ba 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AjMethodDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AjMethodDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectClinit.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectClinit.class
index eb94411..fd3de4f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectClinit.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectClinit.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$1.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$1.class
index c64886c..8f41016 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$10.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$10.class
index 3f73f5e..a675cf0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$10.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$10.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$11.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$11.class
index fc8c01f..5a80929 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$11.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$11.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$12.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$12.class
index 9af7482..9d0f829 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$12.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$12.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$13.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$13.class
index 4aa30ac..0dd371f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$13.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$13.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$14.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$14.class
index 6278ce8..9723c7c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$14.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$14.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$15.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$15.class
index 072287c..5d57e07 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$15.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$15.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$16.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$16.class
index 6c5dc8e..b07d5bc 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$16.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$16.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$17.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$17.class
index 609e60e..a2d00dd 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$17.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$17.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$18.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$18.class
index 9e33563..c9f4775 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$18.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$18.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$19.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$19.class
index 390d337..e99296f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$19.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$19.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$2.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$2.class
index cf497c5..1c9edc3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$2.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$2.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$20.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$20.class
index 0189a9e..1a5bd7b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$20.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$20.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$3.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$3.class
index 979d906..67e6eed 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$3.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$3.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$4.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$4.class
index d9f00f6..8533d46 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$4.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$4.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$5.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$5.class
index a0c4296..d9e3722 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$5.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$5.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$6.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$6.class
index c495837..2ab2889 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$6.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$6.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$7.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$7.class
index 7cf5255..7cce014 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$7.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$7.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$8.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$8.class
index 799be56..9caea9d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$8.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$8.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$9.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$9.class
index b5ba720..7b27ce3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$9.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration$9.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration.class
index ac0460b..216a82e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AstUtil.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AstUtil.class
index c8d9c27..ccb869b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AstUtil.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AstUtil.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AtAspectJAnnotationFactory.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AtAspectJAnnotationFactory.class
index 5793e32..f2a4c57 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AtAspectJAnnotationFactory.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/AtAspectJAnnotationFactory.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/DeclareAnnotationDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/DeclareAnnotationDeclaration.class
index c8a3b4e..df2576f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/DeclareAnnotationDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/DeclareAnnotationDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/DeclareDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/DeclareDeclaration.class
index de38997..11f08ef 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/DeclareDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/DeclareDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/IfMethodDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/IfMethodDeclaration.class
index 36322c9..5f36432 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/IfMethodDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/IfMethodDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/IfPseudoToken.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/IfPseudoToken.class
index 43d113f..b2cdcc0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/IfPseudoToken.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/IfPseudoToken.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/InterSuperFixerVisitor.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/InterSuperFixerVisitor.class
index f755c46..5dda980 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/InterSuperFixerVisitor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/InterSuperFixerVisitor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/InterTypeConstructorDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/InterTypeConstructorDeclaration.class
index 131e3bc..4afe302 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/InterTypeConstructorDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/InterTypeConstructorDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/InterTypeDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/InterTypeDeclaration.class
index 56784c0..5fdb2ce 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/InterTypeDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/InterTypeDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/InterTypeFieldDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/InterTypeFieldDeclaration.class
index 3fe5319..6d62f8c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/InterTypeFieldDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/InterTypeFieldDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/InterTypeMethodDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/InterTypeMethodDeclaration.class
index f238569..d0cd7d2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/InterTypeMethodDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/InterTypeMethodDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/IntertypeMemberClassDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/IntertypeMemberClassDeclaration.class
index d6edf6c..4c6a134 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/IntertypeMemberClassDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/IntertypeMemberClassDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/KnownFieldReference.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/KnownFieldReference.class
index 8e66191..f0c63e2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/KnownFieldReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/KnownFieldReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/PointcutDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/PointcutDeclaration.class
index d17157a..198d6d7 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/PointcutDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/PointcutDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/ProceedVisitor.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/ProceedVisitor.class
index ea1d9c9..c5d5160 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/ProceedVisitor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/ProceedVisitor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/PseudoTokens.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/PseudoTokens.class
index ea12e65..8f57311 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/PseudoTokens.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/PseudoTokens.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/SuperFixerVisitor.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/SuperFixerVisitor.class
index 61eb8aa..c839a1e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/SuperFixerVisitor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/SuperFixerVisitor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/ThisJoinPointVisitor.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/ThisJoinPointVisitor.class
index cbbe73f..2bd253f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/ThisJoinPointVisitor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/ThisJoinPointVisitor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/ValidateAtAspectJAnnotationsVisitor$1.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/ValidateAtAspectJAnnotationsVisitor$1.class
index da0bcb1..ae628b1 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/ValidateAtAspectJAnnotationsVisitor$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/ValidateAtAspectJAnnotationsVisitor$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/ValidateAtAspectJAnnotationsVisitor$HasIfPCDVisitor.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/ValidateAtAspectJAnnotationsVisitor$HasIfPCDVisitor.class
index 0365ccc..095cc87 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/ValidateAtAspectJAnnotationsVisitor$HasIfPCDVisitor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/ValidateAtAspectJAnnotationsVisitor$HasIfPCDVisitor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/ValidateAtAspectJAnnotationsVisitor.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/ValidateAtAspectJAnnotationsVisitor.class
index 4703ed3..c04c0b9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/ValidateAtAspectJAnnotationsVisitor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/ast/ValidateAtAspectJAnnotationsVisitor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/AjLookupEnvironment.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/AjLookupEnvironment.class
index 131b078..291219b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/AjLookupEnvironment.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/AjLookupEnvironment.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/AjTypeConstants.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/AjTypeConstants.class
index 1bc85bf..256c54a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/AjTypeConstants.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/AjTypeConstants.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/AnonymousClassPublisher.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/AnonymousClassPublisher.class
index 7abcc48..dda51f2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/AnonymousClassPublisher.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/AnonymousClassPublisher.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseAnnotationConvertor.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseAnnotationConvertor.class
index 43f38da..f728792 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseAnnotationConvertor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseAnnotationConvertor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseFactory.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseFactory.class
index 84f05a7..2e13435 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseFactory.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseFactory.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseResolvedMember.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseResolvedMember.class
index 554505b..a0e688a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseResolvedMember.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseResolvedMember.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseScope.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseScope.class
index 7777db1..00b9276 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseScope.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseScope.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseShadow.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseShadow.class
index 25f828f..5470d5a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseShadow.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseShadow.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceLocation.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceLocation.class
index 29debf5..af4b55e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceLocation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceLocation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceType.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceType.class
index b55aea3..c62a732 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceType.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceType.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseTypeMunger.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseTypeMunger.class
index 08982ca..cb8938d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseTypeMunger.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/EclipseTypeMunger.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/HelperInterfaceBinding.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/HelperInterfaceBinding.class
index 0375361..2dc2960 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/HelperInterfaceBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/HelperInterfaceBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/InlineAccessFieldBinding.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/InlineAccessFieldBinding.class
index f03bcd7..a64889f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/InlineAccessFieldBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/InlineAccessFieldBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/InterTypeFieldBinding.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/InterTypeFieldBinding.class
index 72d695c..d3d59bc 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/InterTypeFieldBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/InterTypeFieldBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/InterTypeMemberFinder.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/InterTypeMemberFinder.class
index cd197b9..e7c6d14 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/InterTypeMemberFinder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/InterTypeMemberFinder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/InterTypeMethodBinding.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/InterTypeMethodBinding.class
index 92e5f16..5643154 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/InterTypeMethodBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/InterTypeMethodBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/IntertypeMemberTypeFinder.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/IntertypeMemberTypeFinder.class
index 6ef5db1..093a4b8 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/IntertypeMemberTypeFinder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/IntertypeMemberTypeFinder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/OwningClassSupportForFieldBindings.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/OwningClassSupportForFieldBindings.class
index fa301db..5cf7c5f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/OwningClassSupportForFieldBindings.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/OwningClassSupportForFieldBindings.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/OwningClassSupportForMethodBindings.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/OwningClassSupportForMethodBindings.class
index 2f239f1..28a8096 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/OwningClassSupportForMethodBindings.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/OwningClassSupportForMethodBindings.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/PointcutBinding.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/PointcutBinding.class
index f0fc225..0cda303 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/PointcutBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/PointcutBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/PrivilegedFieldBinding.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/PrivilegedFieldBinding.class
index ae424ac..c66baee 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/PrivilegedFieldBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/PrivilegedFieldBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/PushinCollector.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/PushinCollector.class
index 64a5c52..51ecc13 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/PushinCollector.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/PushinCollector.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/WarnOnSwallowedException.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/WarnOnSwallowedException.class
index 88fa7b6..89ebc3b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/WarnOnSwallowedException.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/lookup/WarnOnSwallowedException.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/parser/AllowAssertAndEnumAsIdentifierTokensInPointcutExpressions.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/parser/AllowAssertAndEnumAsIdentifierTokensInPointcutExpressions.class
index 63358eb..1577c65 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/parser/AllowAssertAndEnumAsIdentifierTokensInPointcutExpressions.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/parser/AllowAssertAndEnumAsIdentifierTokensInPointcutExpressions.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter$1.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter$1.class
index 1a91b90..77367a9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter$MessageIssued.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter$MessageIssued.class
index 43cdcf3..b340b56 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter$MessageIssued.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter$MessageIssued.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter.class
index 30417bb..9a18fbc 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildConfig$1.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildConfig$1.class
index 7bbead0..c058a97 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildConfig$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildConfig$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildConfig.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildConfig.class
index fd1df5d..bef339a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildConfig.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildConfig.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager$1.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager$1.class
index ca53404..7d04109 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager$2.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager$2.class
index 30bd597..c0286f5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager$2.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager$2.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager$3.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager$3.class
index bc278fc..5250b65 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager$3.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager$3.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager$4.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager$4.class
index 69da9d5..160e9af 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager$4.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager$4.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager$AjBuildContexFormatter.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager$AjBuildContexFormatter.class
index ec7d496..01dc19d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager$AjBuildContexFormatter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager$AjBuildContexFormatter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager.class
index a22dd01..edcb840 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjBuildManager.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjCompilerOptions.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjCompilerOptions.class
index f757dae..5b052aa 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjCompilerOptions.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjCompilerOptions.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjState$ClassFile$1.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjState$ClassFile$1.class
index ac13e39..c14b8df 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjState$ClassFile$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjState$ClassFile$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjState$ClassFile.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjState$ClassFile.class
index d522b3e..3b5a769 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjState$ClassFile.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjState$ClassFile.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjState$SoftHashMap$SoftReferenceKnownKey.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjState$SoftHashMap$SoftReferenceKnownKey.class
index 6c1e548..83618a5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjState$SoftHashMap$SoftReferenceKnownKey.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjState$SoftHashMap$SoftReferenceKnownKey.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjState.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjState.class
index 554afe7..25208c3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjState.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AjState.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AsmElementFormatter.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AsmElementFormatter.class
index 39b3728..8470f40 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AsmElementFormatter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AsmElementFormatter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.class
index a19af29..392dc5f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AspectJBuilder$1.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AspectJBuilder$1.class
index 93750ab..911f340 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AspectJBuilder$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AspectJBuilder$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AspectJBuilder$UnhandledMessageHandler.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AspectJBuilder$UnhandledMessageHandler.class
index 555cc5f..e9dc4f1 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AspectJBuilder$UnhandledMessageHandler.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AspectJBuilder$UnhandledMessageHandler.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AspectJBuilder$UnwovenResultCollector.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AspectJBuilder$UnwovenResultCollector.class
index 08b1663..246f245 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AspectJBuilder$UnwovenResultCollector.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AspectJBuilder$UnwovenResultCollector.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AspectJBuilder.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AspectJBuilder.class
index b2acf61..fc68835 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AspectJBuilder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/AspectJBuilder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/EclipseAdapterUtils.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/EclipseAdapterUtils.class
index 1018813..bc02d9e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/EclipseAdapterUtils.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/EclipseAdapterUtils.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/EclipseClassPathManager.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/EclipseClassPathManager.class
index 3b8dc50..0f868fd 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/EclipseClassPathManager.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/EclipseClassPathManager.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/EclipseSourceContext.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/EclipseSourceContext.class
index 6c0a494..2cfb0e3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/EclipseSourceContext.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/EclipseSourceContext.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/EmacsStructureModelManager$SExpressionPrinter.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/EmacsStructureModelManager$SExpressionPrinter.class
index 9840c52..8d828bc 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/EmacsStructureModelManager$SExpressionPrinter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/EmacsStructureModelManager$SExpressionPrinter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/EmacsStructureModelManager.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/EmacsStructureModelManager.class
index 67cfc03..2150c1b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/EmacsStructureModelManager.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/EmacsStructureModelManager.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/StatefulNameEnvironment.class b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/StatefulNameEnvironment.class
index fe0c75e..1245003 100644
--- a/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/StatefulNameEnvironment.class
+++ b/org.aspectj.ajde/classes/org/aspectj/ajdt/internal/core/builder/StatefulNameEnvironment.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/CompletionRequestor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/CompletionRequestor.class
index 3e546bd..e1b2a99 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/CompletionRequestor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/CompletionRequestor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/CorrectionEngine$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/CorrectionEngine$1.class
index 2ef1c33..cc3f9f1 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/CorrectionEngine$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/CorrectionEngine$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/CorrectionEngine.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/CorrectionEngine.class
index 96ab977..cfeb475 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/CorrectionEngine.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/CorrectionEngine.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/ICompilationUnit.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/ICompilationUnit.class
index dd2d0af..7e3e0ed 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/ICompilationUnit.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/ICompilationUnit.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/IType.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/IType.class
index 1eae03d..11ddffc 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/IType.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/IType.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/JavaConventions.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/JavaConventions.class
index 4a2a467..d53eb1a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/JavaConventions.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/JavaConventions.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/JavaCore$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/JavaCore$1.class
index a3d6c6a..757d97b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/JavaCore$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/JavaCore$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/JavaCore$2.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/JavaCore$2.class
index acd6cc2..cbeab42 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/JavaCore$2.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/JavaCore$2.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/JavaCore.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/JavaCore.class
index 60b99cd..5d45ed7 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/JavaCore.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/JavaCore.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/JavaModelException.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/JavaModelException.class
index 67ffa14..71ad91e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/JavaModelException.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/JavaModelException.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/NamingConventions$NamingRequestor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/NamingConventions$NamingRequestor.class
index 124464d..0dbf0b4 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/NamingConventions$NamingRequestor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/NamingConventions$NamingRequestor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/NamingConventions.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/NamingConventions.class
index 0fef36a..0138b47 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/NamingConventions.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/NamingConventions.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/Signature.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/Signature.class
index 9c8c2d8..165c899 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/Signature.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/Signature.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/ToolFactory.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/ToolFactory.class
index 176e380..1e89063 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/ToolFactory.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/ToolFactory.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/compiler/CharOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/compiler/CharOperation.class
index 2b2c3ec..b497305 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/compiler/CharOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/compiler/CharOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/compiler/IProblem.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/compiler/IProblem.class
index 2c44ffe..01cdc09 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/compiler/IProblem.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/compiler/IProblem.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AST.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AST.class
index 512ab82..ae1b502 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AST.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AST.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ASTConverter.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ASTConverter.class
index a6bbb65..40514cc 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ASTConverter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ASTConverter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ASTMatcher.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ASTMatcher.class
index 24c73c5..f092346 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ASTMatcher.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ASTMatcher.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ASTNode.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ASTNode.class
index f33aa7b..9fe0b66 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ASTNode.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ASTNode.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ASTParser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ASTParser.class
index a529d07..752b384 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ASTParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ASTParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ASTRecoveryPropagator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ASTRecoveryPropagator.class
index 5d67877..f983529 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ASTRecoveryPropagator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ASTRecoveryPropagator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AbstractBooleanTypePattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AbstractBooleanTypePattern.class
index 25e4669..22b05b6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AbstractBooleanTypePattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AbstractBooleanTypePattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AbstractTypeDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AbstractTypeDeclaration.class
index d4b9de8..f8c2221 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AbstractTypeDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AbstractTypeDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AdviceDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AdviceDeclaration.class
index 7d837ae..7587c6c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AdviceDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AdviceDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AfterAdviceDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AfterAdviceDeclaration.class
index 8842330..e2af87f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AfterAdviceDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AfterAdviceDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AfterReturningAdviceDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AfterReturningAdviceDeclaration.class
index 58fb198..12748a2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AfterReturningAdviceDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AfterReturningAdviceDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AfterThrowingAdviceDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AfterThrowingAdviceDeclaration.class
index f9cc8d7..c19c668 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AfterThrowingAdviceDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AfterThrowingAdviceDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AjAST.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AjAST.class
index 9144a18..2917553 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AjAST.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AjAST.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AjASTConverter.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AjASTConverter.class
index 8f2159b..78515a3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AjASTConverter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AjASTConverter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AjASTMatcher.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AjASTMatcher.class
index b06e154..669d223 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AjASTMatcher.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AjASTMatcher.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AjNaiveASTFlattener.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AjNaiveASTFlattener.class
index 1f4d911..e43a26b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AjNaiveASTFlattener.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AjNaiveASTFlattener.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AjTypeDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AjTypeDeclaration.class
index b88c025..7e9bea7 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AjTypeDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AjTypeDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AndPointcut.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AndPointcut.class
index 854d5d4..f3989d0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AndPointcut.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AndPointcut.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AndTypePattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AndTypePattern.class
index 62f64b4..8503620 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AndTypePattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AndTypePattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnnotationBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnnotationBinding.class
index 6958ff0..2c6fcaa 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnnotationBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnnotationBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnnotationTypeDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnnotationTypeDeclaration.class
index fff5819..59b87a9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnnotationTypeDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnnotationTypeDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnnotationTypeMemberDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnnotationTypeMemberDeclaration.class
index d36af13..73ce49e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnnotationTypeMemberDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnnotationTypeMemberDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnonymousClassDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnonymousClassDeclaration.class
index 9b09954..9eeebcc 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnonymousClassDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnonymousClassDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnyTypePattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnyTypePattern.class
index 667e50c..cf973e7 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnyTypePattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnyTypePattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnyWithAnnotationTypePattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnyWithAnnotationTypePattern.class
index 2be6c0a..9cb8159 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnyWithAnnotationTypePattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AnyWithAnnotationTypePattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AroundAdviceDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AroundAdviceDeclaration.class
index 21d13f4..941ea6f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AroundAdviceDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AroundAdviceDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ArrayAccess.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ArrayAccess.class
index 9d2f8c5..478e49b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ArrayAccess.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ArrayAccess.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ArrayCreation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ArrayCreation.class
index 17bc833..b430ff6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ArrayCreation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ArrayCreation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ArrayInitializer.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ArrayInitializer.class
index d69e01a..d859257 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ArrayInitializer.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ArrayInitializer.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ArrayType.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ArrayType.class
index f64193f..e35e47f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ArrayType.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ArrayType.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AspectDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AspectDeclaration.class
index cbed8d4..7e62cf4 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AspectDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AspectDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AssertStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AssertStatement.class
index 01b4898..c4324fe 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AssertStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/AssertStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Assignment$Operator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Assignment$Operator.class
index 542534c..473fc71 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Assignment$Operator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Assignment$Operator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Assignment.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Assignment.class
index c859b7c..2ffd542 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Assignment.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Assignment.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BeforeAdviceDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BeforeAdviceDeclaration.class
index 6f3954e..b483315 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BeforeAdviceDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BeforeAdviceDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BindingComparator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BindingComparator.class
index 2e77e8f..3726ee6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BindingComparator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BindingComparator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BindingTypePattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BindingTypePattern.class
index bb2d94d..a113789 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BindingTypePattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BindingTypePattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Block.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Block.class
index 8c94f5a..7601eea 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Block.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Block.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BlockComment.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BlockComment.class
index 56b91c0..9cbe277 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BlockComment.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BlockComment.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BooleanLiteral.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BooleanLiteral.class
index 7b559eb..cf774d5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BooleanLiteral.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BooleanLiteral.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BreakStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BreakStatement.class
index f9ac6cc..8fc71c7 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BreakStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/BreakStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CastExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CastExpression.class
index 4d4b6ae..28c578a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CastExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CastExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CatchClause.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CatchClause.class
index 0df0f80..e9bb8f5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CatchClause.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CatchClause.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CflowPointcut.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CflowPointcut.class
index 9295f4e..7b64711 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CflowPointcut.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CflowPointcut.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CharacterLiteral.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CharacterLiteral.class
index b5d7d0c..3e3178f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CharacterLiteral.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CharacterLiteral.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ClassInstanceCreation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ClassInstanceCreation.class
index 6653474..1d3b036 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ClassInstanceCreation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ClassInstanceCreation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CompilationUnit.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CompilationUnit.class
index 32148c3..c27286b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CompilationUnit.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CompilationUnit.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CompilationUnitResolver$1Requestor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CompilationUnitResolver$1Requestor.class
index ae0d9b7..6e6b678 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CompilationUnitResolver$1Requestor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CompilationUnitResolver$1Requestor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CompilationUnitResolver.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CompilationUnitResolver.class
index 3f0ebd1..60eeb89 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CompilationUnitResolver.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CompilationUnitResolver.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ConditionalExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ConditionalExpression.class
index 06e954b..29ec273 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ConditionalExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ConditionalExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ConstructorInvocation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ConstructorInvocation.class
index df26e68..b9f345a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ConstructorInvocation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ConstructorInvocation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ContinueStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ContinueStatement.class
index a9e489c..0362390 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ContinueStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ContinueStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CreationReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CreationReference.class
index 5d2b8ac..8057e28 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CreationReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/CreationReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareAnnotationDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareAnnotationDeclaration.class
index 462ce1a..3e33d4c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareAnnotationDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareAnnotationDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareAtConstructorDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareAtConstructorDeclaration.class
index 775d10d..6a43ba1 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareAtConstructorDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareAtConstructorDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareAtFieldDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareAtFieldDeclaration.class
index a574bc0..45a1f0c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareAtFieldDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareAtFieldDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareAtMethodDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareAtMethodDeclaration.class
index 4850fac..794d086 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareAtMethodDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareAtMethodDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareAtTypeDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareAtTypeDeclaration.class
index 37a6c6e..057e73e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareAtTypeDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareAtTypeDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareDeclaration.class
index a06953b..a2084d4 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareErrorDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareErrorDeclaration.class
index 0b7a260..41d8777 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareErrorDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareErrorDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareParentsDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareParentsDeclaration.class
index 49538c9..badeee2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareParentsDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareParentsDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclarePrecedenceDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclarePrecedenceDeclaration.class
index 409ccbf..a6a2830 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclarePrecedenceDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclarePrecedenceDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareSoftDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareSoftDeclaration.class
index 171ff44..99dad424 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareSoftDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareSoftDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareWarningDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareWarningDeclaration.class
index 091a7bd..a8ac546 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareWarningDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DeclareWarningDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultBindingResolver.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultBindingResolver.class
index e0501fc..d32cae9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultBindingResolver.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultBindingResolver.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultCommentMapper$CommentMapperVisitor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultCommentMapper$CommentMapperVisitor.class
index e7f794d..f6c7a66 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultCommentMapper$CommentMapperVisitor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultCommentMapper$CommentMapperVisitor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultCommentMapper.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultCommentMapper.class
index d8ee103..8c1cbf4 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultCommentMapper.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultCommentMapper.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultPointcut.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultPointcut.class
index d260115..7297f69 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultPointcut.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultPointcut.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultTypePattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultTypePattern.class
index 0cc8332..053be5a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultTypePattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultTypePattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultValuePairBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultValuePairBinding.class
index 8aabc54..52a1e76 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultValuePairBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DefaultValuePairBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Dimension.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Dimension.class
index fa438a0..5c573c9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Dimension.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Dimension.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DoStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DoStatement.class
index 5bc3e5f..ac54299 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DoStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DoStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DocCommentParser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DocCommentParser.class
index 9630aca..147a445 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DocCommentParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/DocCommentParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/EllipsisTypePattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/EllipsisTypePattern.class
index 6f01b99..164f454 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/EllipsisTypePattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/EllipsisTypePattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/EmptyStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/EmptyStatement.class
index 19c73a3..c6c3ad5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/EmptyStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/EmptyStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/EnhancedForStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/EnhancedForStatement.class
index e703f0c..6f76d9e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/EnhancedForStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/EnhancedForStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/EnumConstantDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/EnumConstantDeclaration.class
index 9f851b2..47dc961 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/EnumConstantDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/EnumConstantDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/EnumDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/EnumDeclaration.class
index 0d1c0b5..fdba930 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/EnumDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/EnumDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ExpressionMethodReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ExpressionMethodReference.class
index 9c00a69..adcdb32 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ExpressionMethodReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ExpressionMethodReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ExpressionStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ExpressionStatement.class
index 45d2bb0..a1109d9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ExpressionStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ExpressionStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/FieldAccess.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/FieldAccess.class
index b229fd7..90e6488 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/FieldAccess.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/FieldAccess.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/FieldDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/FieldDeclaration.class
index db1270d..f081c05 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/FieldDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/FieldDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ForStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ForStatement.class
index 0338711..0178d10 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ForStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ForStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/FormalBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/FormalBinding.class
index ead5493..5bbf842 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/FormalBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/FormalBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/HasMemberTypePattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/HasMemberTypePattern.class
index 0cd31a9..9726b85 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/HasMemberTypePattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/HasMemberTypePattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/IfStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/IfStatement.class
index 9cbdba7..75c854d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/IfStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/IfStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ImportDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ImportDeclaration.class
index 9fe89da..9a34c83 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ImportDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ImportDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InfixExpression$Operator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InfixExpression$Operator.class
index 8c1ee74..676e2f6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InfixExpression$Operator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InfixExpression$Operator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InfixExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InfixExpression.class
index ea1749c..7ee406c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InfixExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InfixExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Initializer.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Initializer.class
index b3a4fa9..c481431 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Initializer.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Initializer.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InstanceofExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InstanceofExpression.class
index f30949d..5d799f4 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InstanceofExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InstanceofExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InterTypeFieldDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InterTypeFieldDeclaration.class
index 47274d1..a98788e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InterTypeFieldDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InterTypeFieldDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InterTypeMethodDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InterTypeMethodDeclaration.class
index 8b5af9a..e3d7d37 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InterTypeMethodDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InterTypeMethodDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InternalASTRewrite.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InternalASTRewrite.class
index 6ae651f..7d959c0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InternalASTRewrite.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/InternalASTRewrite.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/IntersectionType.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/IntersectionType.class
index fba86cb..1439dd8 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/IntersectionType.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/IntersectionType.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Javadoc.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Javadoc.class
index eccd04b..adf411a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Javadoc.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Javadoc.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/LabeledStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/LabeledStatement.class
index ce02536..8834859 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/LabeledStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/LabeledStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/LambdaExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/LambdaExpression.class
index 0857a03..4e406f9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/LambdaExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/LambdaExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/LineComment.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/LineComment.class
index d8af2fe..a20f0b5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/LineComment.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/LineComment.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MarkerAnnotation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MarkerAnnotation.class
index c22e561..8b14c52 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MarkerAnnotation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MarkerAnnotation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MemberRef.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MemberRef.class
index 431e893..5c9e6b4 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MemberRef.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MemberRef.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MemberValuePair.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MemberValuePair.class
index 22aa923..c644db2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MemberValuePair.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MemberValuePair.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MemberValuePairBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MemberValuePairBinding.class
index 3f46c91..7a264d0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MemberValuePairBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MemberValuePairBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Message.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Message.class
index 58814fd..60560a0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Message.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Message.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MethodBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MethodBinding.class
index 1675cc5..4746e00 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MethodBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MethodBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MethodDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MethodDeclaration.class
index e3632c4..b400587 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MethodDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MethodDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MethodInvocation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MethodInvocation.class
index a3f9285..b744159 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MethodInvocation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MethodInvocation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MethodRef.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MethodRef.class
index fe6c57d..63a7bee 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MethodRef.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MethodRef.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MethodRefParameter.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MethodRefParameter.class
index 54ca9bf..cda21f9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MethodRefParameter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/MethodRefParameter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Modifier$ModifierKeyword.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Modifier$ModifierKeyword.class
index 52c9c74..f97de72 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Modifier$ModifierKeyword.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Modifier$ModifierKeyword.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Modifier.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Modifier.class
index eaca496..65845c5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Modifier.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/Modifier.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NameQualifiedType.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NameQualifiedType.class
index b4d9e7a..bf6b717 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NameQualifiedType.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NameQualifiedType.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NormalAnnotation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NormalAnnotation.class
index 0207fff..574844f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NormalAnnotation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NormalAnnotation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NotPointcut.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NotPointcut.class
index be05df1..070bb87 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NotPointcut.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NotPointcut.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NotTypePattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NotTypePattern.class
index 8b16604..35d4e96 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NotTypePattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NotTypePattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NullLiteral.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NullLiteral.class
index b37c65d..a71306b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NullLiteral.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NullLiteral.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NumberLiteral.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NumberLiteral.class
index 2d22538..3e2e5c6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NumberLiteral.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/NumberLiteral.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/OrPointcut.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/OrPointcut.class
index 3944bd7..028acb6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/OrPointcut.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/OrPointcut.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/OrTypePattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/OrTypePattern.class
index 3063341..e5f8062 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/OrTypePattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/OrTypePattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PackageBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PackageBinding.class
index 9edac54..e4461cb 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PackageBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PackageBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PackageDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PackageDeclaration.class
index c29e1c6..1b1cd6c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PackageDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PackageDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ParameterizedType.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ParameterizedType.class
index 08ce015..86c70d5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ParameterizedType.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ParameterizedType.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ParenthesizedExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ParenthesizedExpression.class
index 63f230d..a72de16 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ParenthesizedExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ParenthesizedExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PatternNode.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PatternNode.class
index 432fe3d..daa086f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PatternNode.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PatternNode.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PerCflow.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PerCflow.class
index 24254ac..f9f6502 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PerCflow.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PerCflow.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PerObject.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PerObject.class
index 5970bdf..d1dc20f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PerObject.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PerObject.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PerTypeWithin.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PerTypeWithin.class
index a5629eb..a5b7cd0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PerTypeWithin.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PerTypeWithin.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PointcutDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PointcutDeclaration.class
index 35b3d14..62ea41c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PointcutDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PointcutDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PointcutDesignator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PointcutDesignator.class
index 7444457..7dd4f11 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PointcutDesignator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PointcutDesignator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PostfixExpression$Operator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PostfixExpression$Operator.class
index 7fbc6fa..f2c5d73 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PostfixExpression$Operator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PostfixExpression$Operator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PostfixExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PostfixExpression.class
index 73759d7..2b772ee 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PostfixExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PostfixExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PrefixExpression$Operator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PrefixExpression$Operator.class
index 0d2ac6a..8536deb 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PrefixExpression$Operator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PrefixExpression$Operator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PrefixExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PrefixExpression.class
index a53cea4..c125dc0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PrefixExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PrefixExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PrimitiveType.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PrimitiveType.class
index d9c4d40..3edd71d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PrimitiveType.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/PrimitiveType.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/QualifiedName.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/QualifiedName.class
index f125bee..a8a954c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/QualifiedName.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/QualifiedName.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/QualifiedType.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/QualifiedType.class
index c648100..36a945e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/QualifiedType.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/QualifiedType.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/RecoveredTypeBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/RecoveredTypeBinding.class
index 94b051a..67e5728 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/RecoveredTypeBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/RecoveredTypeBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ReferencePointcut.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ReferencePointcut.class
index 8e90f1f..801881b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ReferencePointcut.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ReferencePointcut.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ReturnStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ReturnStatement.class
index 82ea835..41991af 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ReturnStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ReturnStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SignaturePattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SignaturePattern.class
index 4fa72a2..ceba842 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SignaturePattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SignaturePattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SimpleName.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SimpleName.class
index 97437e0..011fc03 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SimpleName.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SimpleName.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SimpleType.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SimpleType.class
index 9d44bf2..d563e52 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SimpleType.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SimpleType.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SingleMemberAnnotation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SingleMemberAnnotation.class
index c635aff..5339898 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SingleMemberAnnotation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SingleMemberAnnotation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SingleVariableDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SingleVariableDeclaration.class
index 349be43..bcbf6b4 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SingleVariableDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SingleVariableDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/StringLiteral.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/StringLiteral.class
index 49beb8d..be458ee 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/StringLiteral.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/StringLiteral.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SuperConstructorInvocation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SuperConstructorInvocation.class
index 99942cb..be55e7a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SuperConstructorInvocation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SuperConstructorInvocation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SuperFieldAccess.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SuperFieldAccess.class
index 222cb75..939421c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SuperFieldAccess.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SuperFieldAccess.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SuperMethodInvocation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SuperMethodInvocation.class
index a12e67d..f0a72eb 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SuperMethodInvocation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SuperMethodInvocation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SuperMethodReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SuperMethodReference.class
index ef87d20..e67eaa1 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SuperMethodReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SuperMethodReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SwitchCase.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SwitchCase.class
index 51e0ddb..1818d47 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SwitchCase.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SwitchCase.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SwitchStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SwitchStatement.class
index 1b4a125..5e24077 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SwitchStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SwitchStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SynchronizedStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SynchronizedStatement.class
index e329ebd..a397dd9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SynchronizedStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/SynchronizedStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TagElement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TagElement.class
index d61e5c4..44d411e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TagElement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TagElement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TextElement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TextElement.class
index a5809de..ceaebb2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TextElement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TextElement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ThisExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ThisExpression.class
index c1763ae..865cb96 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ThisExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ThisExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ThrowStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ThrowStatement.class
index 7da4275..e8657b0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ThrowStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/ThrowStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TryStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TryStatement.class
index 5bac8a2..a311928 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TryStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TryStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeBinding.class
index 4202b6f..92bf27f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeCategoryTypePattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeCategoryTypePattern.class
index 62b299d..7788e59 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeCategoryTypePattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeCategoryTypePattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeDeclaration.class
index c9beb01..d0e3703 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeDeclarationStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeDeclarationStatement.class
index 3f44520..bdcded2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeDeclarationStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeDeclarationStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeLiteral.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeLiteral.class
index 58f0c1b..6eca3fc 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeLiteral.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeLiteral.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeMethodReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeMethodReference.class
index d8b3af0..29ddd51 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeMethodReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeMethodReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeParameter.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeParameter.class
index 6c598b0..712e69e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeParameter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/TypeParameter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/UnionType.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/UnionType.class
index bab5b87..24ef98f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/UnionType.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/UnionType.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/VariableBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/VariableBinding.class
index c4b38fd..383b50b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/VariableBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/VariableBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/VariableDeclarationExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/VariableDeclarationExpression.class
index 2544b60..7f387eb 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/VariableDeclarationExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/VariableDeclarationExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/VariableDeclarationFragment.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/VariableDeclarationFragment.class
index e1b1a37..eda829f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/VariableDeclarationFragment.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/VariableDeclarationFragment.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/VariableDeclarationStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/VariableDeclarationStatement.class
index 6234235..8cba08c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/VariableDeclarationStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/VariableDeclarationStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/WhileStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/WhileStatement.class
index b017e47..5a87f0f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/WhileStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/WhileStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/WildTypePattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/WildTypePattern.class
index 8ed8c58..8f5eba7 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/WildTypePattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/WildTypePattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/WildcardType.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/WildcardType.class
index 922dcad..eb5ff99 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/WildcardType.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/WildcardType.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/rewrite/ASTRewrite.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/rewrite/ASTRewrite.class
index 02ebd33..0634c31 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/rewrite/ASTRewrite.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/rewrite/ASTRewrite.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/rewrite/ImportRewrite$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/rewrite/ImportRewrite$1.class
index 44ee4eb..db35ca0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/rewrite/ImportRewrite$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/rewrite/ImportRewrite$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/rewrite/ImportRewrite.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/rewrite/ImportRewrite.class
index dd6a6a7..5269619 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/rewrite/ImportRewrite.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/dom/rewrite/ImportRewrite.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/eval/ICodeSnippetRequestor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/eval/ICodeSnippetRequestor.class
index 517dd5d..749ad8a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/eval/ICodeSnippetRequestor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/eval/ICodeSnippetRequestor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/formatter/CodeFormatterApplication$Messages.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/formatter/CodeFormatterApplication$Messages.class
index 2ea67a5..3ded96e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/formatter/CodeFormatterApplication$Messages.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/formatter/CodeFormatterApplication$Messages.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/formatter/CodeFormatterApplication.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/formatter/CodeFormatterApplication.class
index cb34254..25becd5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/formatter/CodeFormatterApplication.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/formatter/CodeFormatterApplication.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/formatter/DefaultCodeFormatterConstants.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/formatter/DefaultCodeFormatterConstants.class
index ca5d395..782afce 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/formatter/DefaultCodeFormatterConstants.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/formatter/DefaultCodeFormatterConstants.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/formatter/IndentManipulation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/formatter/IndentManipulation.class
index f87591c..0b55c36 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/formatter/IndentManipulation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/formatter/IndentManipulation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/index/JavaIndexerApplication$Messages.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/index/JavaIndexerApplication$Messages.class
index e899d3a..a2c6f8d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/index/JavaIndexerApplication$Messages.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/index/JavaIndexerApplication$Messages.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/index/JavaIndexerApplication.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/index/JavaIndexerApplication.class
index 999bcc2..9763bed 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/index/JavaIndexerApplication.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/index/JavaIndexerApplication.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/IJavaSearchConstants.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/IJavaSearchConstants.class
index 0a0a216..c1a5e77 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/IJavaSearchConstants.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/IJavaSearchConstants.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/SearchEngine$TypeNameRequestorAdapter.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/SearchEngine$TypeNameRequestorAdapter.class
index ed0cc22..6b4863e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/SearchEngine$TypeNameRequestorAdapter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/SearchEngine$TypeNameRequestorAdapter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/SearchEngine.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/SearchEngine.class
index 7fd2da6..73d88ac 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/SearchEngine.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/SearchEngine.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/SearchMatch.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/SearchMatch.class
index 63a7653..80e3a9d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/SearchMatch.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/SearchMatch.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/SearchParticipant.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/SearchParticipant.class
index 11c428b..4094256 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/SearchParticipant.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/SearchParticipant.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/SearchPattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/SearchPattern.class
index a54281e..17d6b42 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/SearchPattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/search/SearchPattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/util/IAttributeNamesConstants.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/util/IAttributeNamesConstants.class
index 23464fd..a2d5d12 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/util/IAttributeNamesConstants.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/util/IAttributeNamesConstants.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/util/OpcodeStringValues.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/util/OpcodeStringValues.class
index 88e340d..9857ea0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/util/OpcodeStringValues.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/core/util/OpcodeStringValues.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionElementNotifier.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionElementNotifier.class
index 6a2f45e..86dc2fa 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionElementNotifier.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionElementNotifier.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$10.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$10.class
index 1b1a944..c20925e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$10.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$10.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$2.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$2.class
index 7ff3214..a90bb03 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$2.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$2.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$3.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$3.class
index 01fd1ee..4f5293c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$3.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$3.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$4.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$4.class
index 45311ea..319657b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$4.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$4.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$5.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$5.class
index 8f4e9d5..1fe7d2a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$5.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$5.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$6.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$6.class
index b7cbe82..f29cbaa 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$6.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$6.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$7.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$7.class
index 4fd74b0..6815506 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$7.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$7.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$8.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$8.class
index 6731506..eae3e50 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$8.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$8.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$9.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$9.class
index 012cb02..f67a06e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$9.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$9.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$CompletionProblemFactory.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$CompletionProblemFactory.class
index deb1ec7..43d9d75 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$CompletionProblemFactory.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine$CompletionProblemFactory.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine.class
index 57fdc49..aa6f99c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionRequestorWrapper.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionRequestorWrapper.class
index 3db251f..005b1c0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionRequestorWrapper.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionRequestorWrapper.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionUnitStructureRequestor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionUnitStructureRequestor.class
index 1da95dd..d922ab3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionUnitStructureRequestor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionUnitStructureRequestor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/InternalCompletionProposal.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/InternalCompletionProposal.class
index 46eb8c2..8dfcf19 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/InternalCompletionProposal.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/InternalCompletionProposal.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/InternalExtendedCompletionContext.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/InternalExtendedCompletionContext.class
index 067033f..e0eb5f4 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/InternalExtendedCompletionContext.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/InternalExtendedCompletionContext.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/MissingTypesGuesser$ResolutionCleaner.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/MissingTypesGuesser$ResolutionCleaner.class
index 3a353c5..29af0cc 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/MissingTypesGuesser$ResolutionCleaner.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/MissingTypesGuesser$ResolutionCleaner.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/MissingTypesGuesser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/MissingTypesGuesser.class
index 13df6e4..c116266 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/MissingTypesGuesser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/MissingTypesGuesser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/SelectionEngine$4.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/SelectionEngine$4.class
index 3eccc4f..554f8f4 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/SelectionEngine$4.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/SelectionEngine$4.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/SelectionEngine$InheritDocVisitor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/SelectionEngine$InheritDocVisitor.class
index fa6aa5f..e58946c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/SelectionEngine$InheritDocVisitor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/SelectionEngine$InheritDocVisitor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/SelectionEngine$SelectionTypeNameMatchRequestorWrapper.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/SelectionEngine$SelectionTypeNameMatchRequestorWrapper.class
index a73be73..2485f43 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/SelectionEngine$SelectionTypeNameMatchRequestorWrapper.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/SelectionEngine$SelectionTypeNameMatchRequestorWrapper.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/SelectionEngine.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/SelectionEngine.class
index 62748c3..bfc636a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/SelectionEngine.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/SelectionEngine.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/ThrownExceptionFinder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/ThrownExceptionFinder.class
index e5c3033..28d6e32 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/ThrownExceptionFinder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/ThrownExceptionFinder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/UnresolvedReferenceNameFinder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/UnresolvedReferenceNameFinder.class
index f3094f9..480c478 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/UnresolvedReferenceNameFinder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/UnresolvedReferenceNameFinder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionJavadoc.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionJavadoc.class
index d15c236..8b94609 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionJavadoc.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionJavadoc.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionJavadocParser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionJavadocParser.class
index ccb16d6..a26191a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionJavadocParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionJavadocParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnArgumentName.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnArgumentName.class
index 5220d85..aaa3795 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnArgumentName.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnArgumentName.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnBranchStatementLabel.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnBranchStatementLabel.class
index c20ad2c..9789190 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnBranchStatementLabel.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnBranchStatementLabel.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnExplicitConstructorCall.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnExplicitConstructorCall.class
index f78fcbb..6e849dd 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnExplicitConstructorCall.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnExplicitConstructorCall.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnFieldName.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnFieldName.class
index 361197e..da16a05 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnFieldName.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnFieldName.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnJavadocFieldReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnJavadocFieldReference.class
index acd1759..b68185b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnJavadocFieldReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnJavadocFieldReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnJavadocTag.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnJavadocTag.class
index 04b45af..48f1fc0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnJavadocTag.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnJavadocTag.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnLocalName.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnLocalName.class
index 2ef4c3b..66a2a52 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnLocalName.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnLocalName.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnParameterizedQualifiedTypeReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnParameterizedQualifiedTypeReference.class
index 8e239f0..7a1f3b7 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnParameterizedQualifiedTypeReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnParameterizedQualifiedTypeReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnQualifiedAllocationExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnQualifiedAllocationExpression.class
index d8250e9..924ffb9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnQualifiedAllocationExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnQualifiedAllocationExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnQualifiedNameReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnQualifiedNameReference.class
index c2647f2..d3ae30a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnQualifiedNameReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnQualifiedNameReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.class
index 11d8313..56e5906 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionScanner.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionScanner.class
index 43efaad..15d1acf 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionScanner.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionScanner.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistOptions.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistOptions.class
index f73576d..2876ab3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistOptions.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistOptions.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistParser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistParser.class
index 8512d55..e034ebe 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistSourceField.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistSourceField.class
index 05480ca..a4d5174 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistSourceField.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistSourceField.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistSourceMethod.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistSourceMethod.class
index 27e9144..c9be03b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistSourceMethod.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistSourceMethod.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistSourceType.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistSourceType.class
index 4a40c07..743c50a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistSourceType.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistSourceType.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/Engine.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/Engine.class
index 12630bc..f9f0741 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/Engine.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/Engine.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/Keywords.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/Keywords.class
index 241929f..0f1165d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/Keywords.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/Keywords.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionJavadoc.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionJavadoc.class
index 33bf740..bdcd6b8 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionJavadoc.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionJavadoc.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionJavadocParser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionJavadocParser.class
index c2340c8..49cdf2c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionJavadocParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionJavadocParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnExplicitConstructorCall.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnExplicitConstructorCall.class
index 4b3378e..5bf7ad2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnExplicitConstructorCall.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnExplicitConstructorCall.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnMessageSend.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnMessageSend.class
index 95b9c55..61cd3d3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnMessageSend.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnMessageSend.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnParameterizedQualifiedTypeReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnParameterizedQualifiedTypeReference.class
index 08847fc..f16548b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnParameterizedQualifiedTypeReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnParameterizedQualifiedTypeReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnParameterizedSingleTypeReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnParameterizedSingleTypeReference.class
index 111bad9..dfc8b43 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnParameterizedSingleTypeReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnParameterizedSingleTypeReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnQualifiedNameReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnQualifiedNameReference.class
index 6aa690a..a6bf3d2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnQualifiedNameReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnQualifiedNameReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnQualifiedTypeReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnQualifiedTypeReference.class
index 0f67091..92b7630 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnQualifiedTypeReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnQualifiedTypeReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnSingleNameReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnSingleNameReference.class
index 3f14327..a7dece9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnSingleNameReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnSingleNameReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnSingleTypeReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnSingleTypeReference.class
index 654f1ea..2b5a2a5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnSingleTypeReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnSingleTypeReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionParser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionParser.class
index 821fca6..cc14345 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionScanner.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionScanner.class
index 8d16d82..6bfeaaa 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionScanner.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionScanner.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ClassFile$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ClassFile$1.class
index 1e09e1c..a40821c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ClassFile$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ClassFile$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ClassFile$2.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ClassFile$2.class
index eb533d5..88f6ee5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ClassFile$2.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ClassFile$2.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ClassFile$3.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ClassFile$3.class
index 06c64e1..6aad940 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ClassFile$3.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ClassFile$3.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ClassFile.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ClassFile.class
index 1aef2e9..7ed3a9a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ClassFile.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ClassFile.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/CompilationResult.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/CompilationResult.class
index a82b6ac..456adb0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/CompilationResult.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/CompilationResult.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/Compiler.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/Compiler.class
index 3130f60..3c8b60d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/Compiler.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/Compiler.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/DocumentElementParser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/DocumentElementParser.class
index 36fce0b..5677e51 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/DocumentElementParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/DocumentElementParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ProcessTaskManager.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ProcessTaskManager.class
index f1269c3..1455fa6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ProcessTaskManager.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ProcessTaskManager.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ReadManager.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ReadManager.class
index a16680c..c7ba555 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ReadManager.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ReadManager.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/SourceElementNotifier.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/SourceElementNotifier.class
index 50cc766..f255638 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/SourceElementNotifier.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/SourceElementNotifier.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/SourceElementParser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/SourceElementParser.class
index 8fb9966..0be5d17 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/SourceElementParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/SourceElementParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/SourceJavadocParser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/SourceJavadocParser.class
index 756ee9e..f45fde6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/SourceJavadocParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/SourceJavadocParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AND_AND_Expression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AND_AND_Expression.class
index 9ea0506..ae6a51d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AND_AND_Expression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AND_AND_Expression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ASTNode.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ASTNode.class
index 1071065..8538e75 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ASTNode.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ASTNode.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration.class
index 5c4b5a7..61d9fc1 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AbstractVariableDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AbstractVariableDeclaration.class
index b9f355a..4d48f7f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AbstractVariableDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AbstractVariableDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AllocationExpression$ResolutionState.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AllocationExpression$ResolutionState.class
index ffc08fd..150ee01 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AllocationExpression$ResolutionState.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AllocationExpression$ResolutionState.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AllocationExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AllocationExpression.class
index 7a29fa8..2c08904 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AllocationExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AllocationExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Annotation$1LocationCollector.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Annotation$1LocationCollector.class
index e280fc5..7bc7ae5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Annotation$1LocationCollector.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Annotation$1LocationCollector.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Annotation$1MissingTargetBuilder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Annotation$1MissingTargetBuilder.class
index 31d27e8..2a1bd1f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Annotation$1MissingTargetBuilder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Annotation$1MissingTargetBuilder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Annotation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Annotation.class
index 253332f..cc65070 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Annotation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Annotation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AnnotationMethodDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AnnotationMethodDeclaration.class
index 195fab7..42f6370 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AnnotationMethodDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AnnotationMethodDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Argument.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Argument.class
index f87a0fa..6f0dc60 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Argument.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Argument.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayAllocationExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayAllocationExpression.class
index c814731..9180c1b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayAllocationExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayAllocationExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayInitializer.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayInitializer.class
index bb5b548..d2bd920 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayInitializer.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayInitializer.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayQualifiedTypeReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayQualifiedTypeReference.class
index 254ad4e..0cf0664 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayQualifiedTypeReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayQualifiedTypeReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayReference.class
index ecb2909..5fcfeb7 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayTypeReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayTypeReference.class
index 583b402..0b57ef6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayTypeReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayTypeReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AssertStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AssertStatement.class
index 4361e3a..6026523 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AssertStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AssertStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Assignment.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Assignment.class
index a4d99ba..e2403b2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Assignment.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Assignment.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/BinaryExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/BinaryExpression.class
index c8b819f..54218d6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/BinaryExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/BinaryExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/BreakStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/BreakStatement.class
index bac8cf9..fa988c1 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/BreakStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/BreakStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CaseStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CaseStatement.class
index d3f99e7..62b4e92 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CaseStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CaseStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CastExpression$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CastExpression$1.class
index 7ea4837..8679c89 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CastExpression$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CastExpression$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CastExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CastExpression.class
index 59eb265..99e83c7 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CastExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CastExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ClassLiteralAccess.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ClassLiteralAccess.class
index df07475..708702e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ClassLiteralAccess.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ClassLiteralAccess.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Clinit.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Clinit.class
index c27e55d..15224f7 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Clinit.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Clinit.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CombinedBinaryExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CombinedBinaryExpression.class
index a675f20..770ca63 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CombinedBinaryExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CombinedBinaryExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration.class
index 98efc16..d3f4b1c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ConditionalExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ConditionalExpression.class
index 7ac9b2a..608572e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ConditionalExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ConditionalExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ConstructorDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ConstructorDeclaration.class
index 5dd5ab2..8921441 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ConstructorDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ConstructorDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ContainerAnnotation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ContainerAnnotation.class
index 8369b32..17fa869 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ContainerAnnotation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ContainerAnnotation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ContinueStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ContinueStatement.class
index e55a682..a60d053 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ContinueStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ContinueStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/DoStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/DoStatement.class
index 65b10af..63879e7 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/DoStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/DoStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/DoubleLiteral.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/DoubleLiteral.class
index 91d4cd7..67043c2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/DoubleLiteral.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/DoubleLiteral.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/EmptyStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/EmptyStatement.class
index 9062a5b..a26a974 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/EmptyStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/EmptyStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/EqualExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/EqualExpression.class
index 5ca776e..823ec98 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/EqualExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/EqualExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ExplicitConstructorCall.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ExplicitConstructorCall.class
index 0c7e0b7..604fa33 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ExplicitConstructorCall.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ExplicitConstructorCall.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Expression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Expression.class
index 380e96a..c50a9b4 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Expression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Expression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable.class
index c2f55e9..c961f8a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FalseLiteral.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FalseLiteral.class
index 730cafa..69ae05c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FalseLiteral.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FalseLiteral.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FieldDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FieldDeclaration.class
index 0763862..bb91b83 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FieldDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FieldDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FieldReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FieldReference.class
index bea82f5..a4bd165 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FieldReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FieldReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FloatLiteral.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FloatLiteral.class
index cf0566a..a1e4e85 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FloatLiteral.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FloatLiteral.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ForStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ForStatement.class
index ba43ea5..e9a8722 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ForStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ForStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ForeachStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ForeachStatement.class
index 6008b37..23e2ddb 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ForeachStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ForeachStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FunctionalExpression$1BridgeCollector.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FunctionalExpression$1BridgeCollector.class
index 18a069a..f0ca01e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FunctionalExpression$1BridgeCollector.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FunctionalExpression$1BridgeCollector.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FunctionalExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FunctionalExpression.class
index 4fe0428..7cf4e31 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FunctionalExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FunctionalExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/IfStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/IfStatement.class
index 216524b..a70feb9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/IfStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/IfStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Initializer.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Initializer.class
index 453b442..66bac12 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Initializer.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Initializer.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/InstanceOfExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/InstanceOfExpression.class
index 16c8b4c..0a09c3c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/InstanceOfExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/InstanceOfExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/IntLiteral.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/IntLiteral.class
index 9dccabe..eac0523 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/IntLiteral.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/IntLiteral.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/IntLiteralMinValue.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/IntLiteralMinValue.class
index f8d20e5..2845997 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/IntLiteralMinValue.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/IntLiteralMinValue.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/IntersectionCastTypeReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/IntersectionCastTypeReference.class
index b0655b9..3397b96 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/IntersectionCastTypeReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/IntersectionCastTypeReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Javadoc.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Javadoc.class
index d95c8dd..ed516fe 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Javadoc.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Javadoc.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocAllocationExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocAllocationExpression.class
index 940cbeb..2ff2347 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocAllocationExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocAllocationExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocArgumentExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocArgumentExpression.class
index 9aa2166..07591b2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocArgumentExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocArgumentExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocFieldReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocFieldReference.class
index 118f66d..207c162 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocFieldReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocFieldReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocImplicitTypeReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocImplicitTypeReference.class
index 7e9939b..c84e1ae 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocImplicitTypeReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocImplicitTypeReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocMessageSend.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocMessageSend.class
index f4917be..6a4154d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocMessageSend.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocMessageSend.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocQualifiedTypeReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocQualifiedTypeReference.class
index cf7045b..ad99736 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocQualifiedTypeReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocQualifiedTypeReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocReturnStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocReturnStatement.class
index f914048..e5ef107 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocReturnStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocReturnStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocSingleNameReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocSingleNameReference.class
index 3df1918..527f6c2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocSingleNameReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocSingleNameReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocSingleTypeReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocSingleTypeReference.class
index 8ebe16e..22032a6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocSingleTypeReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocSingleTypeReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LabeledStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LabeledStatement.class
index 7f502f6..a296d0c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LabeledStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LabeledStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LambdaExpression$1LambdaTypeBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LambdaExpression$1LambdaTypeBinding.class
index bcfaf1e..cd809b7 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LambdaExpression$1LambdaTypeBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LambdaExpression$1LambdaTypeBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LambdaExpression$1ShapeComputer.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LambdaExpression$1ShapeComputer.class
index 5ed2ccf..190ff58 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LambdaExpression$1ShapeComputer.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LambdaExpression$1ShapeComputer.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LambdaExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LambdaExpression.class
index f11d784..b6f7227 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LambdaExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LambdaExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LocalDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LocalDeclaration.class
index ff18885..65a1722 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LocalDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LocalDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LongLiteral.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LongLiteral.class
index 6e4d375..4fcfbe8 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LongLiteral.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LongLiteral.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LongLiteralMinValue.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LongLiteralMinValue.class
index e78ae80..10d989d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LongLiteralMinValue.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LongLiteralMinValue.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MemberValuePair$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MemberValuePair$1.class
index 8d23f5c..88bb988 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MemberValuePair$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MemberValuePair$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MemberValuePair$2.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MemberValuePair$2.class
new file mode 100644
index 0000000..26a5360
--- /dev/null
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MemberValuePair$2.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MemberValuePair.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MemberValuePair.class
index 16e1121..a0483eb 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MemberValuePair.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MemberValuePair.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MessageSend.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MessageSend.class
index d872d33..624d985 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MessageSend.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MessageSend.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MethodDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MethodDeclaration.class
index 08afc3f..c26641f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MethodDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MethodDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching$1SearchContradictions.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching$1SearchContradictions.class
index 9080ea2..900dbd7 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching$1SearchContradictions.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching$1SearchContradictions.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching.class
index 1055b91..e2f8f72 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/NullLiteral.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/NullLiteral.class
index 10c545c..b74dda9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/NullLiteral.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/NullLiteral.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/NumberLiteral.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/NumberLiteral.class
index fe7d1e4..590e59b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/NumberLiteral.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/NumberLiteral.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/OR_OR_Expression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/OR_OR_Expression.class
index 866b5b5..c19cdf2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/OR_OR_Expression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/OR_OR_Expression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/OperatorExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/OperatorExpression.class
index 14338c6..2771c86 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/OperatorExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/OperatorExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ParameterizedQualifiedTypeReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ParameterizedQualifiedTypeReference.class
index ddc87c0..c7db318 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ParameterizedQualifiedTypeReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ParameterizedQualifiedTypeReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ParameterizedSingleTypeReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ParameterizedSingleTypeReference.class
index b066589..9fb4f20 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ParameterizedSingleTypeReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ParameterizedSingleTypeReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/QualifiedAllocationExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/QualifiedAllocationExpression.class
index d2a4473..502706d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/QualifiedAllocationExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/QualifiedAllocationExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/QualifiedNameReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/QualifiedNameReference.class
index 69ad8ac..d61bc9d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/QualifiedNameReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/QualifiedNameReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/QualifiedSuperReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/QualifiedSuperReference.class
index 4283797..6962a06 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/QualifiedSuperReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/QualifiedSuperReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/QualifiedThisReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/QualifiedThisReference.class
index 6a40f3e..cf294dc 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/QualifiedThisReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/QualifiedThisReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/QualifiedTypeReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/QualifiedTypeReference.class
index 5a677a3..d3581be 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/QualifiedTypeReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/QualifiedTypeReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Receiver.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Receiver.class
index 10b6884..27e57c0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Receiver.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Receiver.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Reference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Reference.class
index c8e0169..29b811e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Reference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Reference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ReferenceExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ReferenceExpression.class
index 3cdc2ee..736ffc1 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ReferenceExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ReferenceExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ReturnStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ReturnStatement.class
index e63afa8..dc86778 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ReturnStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ReturnStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SingleNameReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SingleNameReference.class
index fb95e29..6b401a2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SingleNameReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SingleNameReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SingleTypeReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SingleTypeReference.class
index 9be9f82..db44af8 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SingleTypeReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SingleTypeReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Statement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Statement.class
index 6d79f0b..83001ad 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Statement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Statement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SwitchStatement$1StringSwitchCase.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SwitchStatement$1StringSwitchCase.class
index 07beaf4..4b089ee 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SwitchStatement$1StringSwitchCase.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SwitchStatement$1StringSwitchCase.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SwitchStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SwitchStatement.class
index e0ee4f1..80348b1 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SwitchStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SwitchStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SynchronizedStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SynchronizedStatement.class
index 33fe527..451b63c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SynchronizedStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SynchronizedStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ThrowStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ThrowStatement.class
index 10e4150..0c6638b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ThrowStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ThrowStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TrueLiteral.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TrueLiteral.class
index bca3222..69726d5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TrueLiteral.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TrueLiteral.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TryStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TryStatement.class
index f6c0138..6ca3fdd 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TryStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TryStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TypeDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TypeDeclaration.class
index 3d6e1b2..be4c2a8 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TypeDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TypeDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TypeReference$AnnotationCollector.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TypeReference$AnnotationCollector.class
index 0bf1b5d..e1261f5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TypeReference$AnnotationCollector.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TypeReference$AnnotationCollector.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TypeReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TypeReference.class
index 8ef11a0..e3c317e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TypeReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TypeReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/UnaryExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/UnaryExpression.class
index bb4ef16..463e9b3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/UnaryExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/UnaryExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/UnionTypeReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/UnionTypeReference.class
index 284039a..79303b9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/UnionTypeReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/UnionTypeReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/WhileStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/WhileStatement.class
index 9a743b2..cbadf39 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/WhileStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/WhileStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Wildcard.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Wildcard.class
index 32f7fc2..d2aa1c2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Wildcard.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Wildcard.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/ClasspathDirectory.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/ClasspathDirectory.class
index 63ea3cc..8529eea 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/ClasspathDirectory.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/ClasspathDirectory.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/ClasspathJar.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/ClasspathJar.class
index dd622ec..348a65c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/ClasspathJar.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/ClasspathJar.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/ClasspathSourceJar.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/ClasspathSourceJar.class
index 568f556..b82b899 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/ClasspathSourceJar.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/ClasspathSourceJar.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/CompilationUnit.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/CompilationUnit.class
index 44f8bf9..a599f12 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/CompilationUnit.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/CompilationUnit.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/FileFinder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/FileFinder.class
index eededc4..e613bba 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/FileFinder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/FileFinder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/FileSystem.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/FileSystem.class
index bfc2284..ac89f45 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/FileSystem.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/FileSystem.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/Main$Logger.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/Main$Logger.class
index 60867c5..03444b5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/Main$Logger.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/Main$Logger.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/Main$ResourceBundleFactory.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/Main$ResourceBundleFactory.class
index bb259d8..4c8ef15 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/Main$ResourceBundleFactory.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/Main$ResourceBundleFactory.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/Main.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/Main.class
index e7f3dce..b4563d8 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/Main.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/batch/Main.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo.class
index 3dff8e4..6f53f49 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/AnnotationInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/AnnotationMethodInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/AnnotationMethodInfo.class
index 9a60321..bad930f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/AnnotationMethodInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/AnnotationMethodInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/ClassFileReader.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/ClassFileReader.class
index 24e39bd..69b3c68 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/ClassFileReader.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/ClassFileReader.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/ClassFileStruct.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/ClassFileStruct.class
index d6a1f9a..44e0cfa 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/ClassFileStruct.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/ClassFileStruct.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/ClassFormatException.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/ClassFormatException.class
index eb9e7d7..73f2e43 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/ClassFormatException.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/ClassFormatException.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/ElementValuePairInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/ElementValuePairInfo.class
index c360016..bed2766 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/ElementValuePairInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/ElementValuePairInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/FieldInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/FieldInfo.class
index 69ea686..be5f9c9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/FieldInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/FieldInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/MethodInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/MethodInfo.class
index 7787d7a..b2b40d5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/MethodInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/MethodInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/NonNullDefaultAwareTypeAnnotationWalker$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/NonNullDefaultAwareTypeAnnotationWalker$1.class
new file mode 100644
index 0000000..95af1bb
--- /dev/null
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/NonNullDefaultAwareTypeAnnotationWalker$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/NonNullDefaultAwareTypeAnnotationWalker.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/NonNullDefaultAwareTypeAnnotationWalker.class
new file mode 100644
index 0000000..0fbaf32
--- /dev/null
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/NonNullDefaultAwareTypeAnnotationWalker.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationInfo.class
index 18c73ce..bfdd7fe 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationWalker$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationWalker$1.class
index b3785aa..1f0fbfd 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationWalker$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationWalker$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationWalker.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationWalker.class
index 93d6989..2b81400 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationWalker.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationWalker.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/AttributeNamesConstants.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/AttributeNamesConstants.class
index 3d58719..b2f75d6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/AttributeNamesConstants.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/AttributeNamesConstants.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/BranchLabel.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/BranchLabel.class
index 5e815dd..c46c732 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/BranchLabel.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/BranchLabel.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/CaseLabel.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/CaseLabel.class
index b2133d1..d4c40ff 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/CaseLabel.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/CaseLabel.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/CodeStream.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/CodeStream.class
index add617b..2967099 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/CodeStream.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/CodeStream.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/ConstantPool.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/ConstantPool.class
index c866062..f8361db 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/ConstantPool.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/ConstantPool.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/DoubleCache.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/DoubleCache.class
index 8af6afb..c618ffc 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/DoubleCache.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/DoubleCache.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/ExceptionLabel.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/ExceptionLabel.class
index db8f6f8..facdc47 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/ExceptionLabel.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/ExceptionLabel.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/FloatCache.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/FloatCache.class
index 40403f2..04b7662 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/FloatCache.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/FloatCache.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/StackMapFrame.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/StackMapFrame.class
index cb652d0..823ae9c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/StackMapFrame.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/StackMapFrame.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/StackMapFrameCodeStream.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/StackMapFrameCodeStream.class
index c7ebf01..c9bf6c9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/StackMapFrameCodeStream.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/StackMapFrameCodeStream.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/TypeAnnotationCodeStream.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/TypeAnnotationCodeStream.class
index a4787c4..f680f86 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/TypeAnnotationCodeStream.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/TypeAnnotationCodeStream.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/VerificationTypeInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/VerificationTypeInfo.class
index ee1f233..bd6a321 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/VerificationTypeInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/codegen/VerificationTypeInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/env/AccessRuleSet.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/env/AccessRuleSet.class
index 32f67d2..16348cc 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/env/AccessRuleSet.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/env/AccessRuleSet.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/env/IBinaryType.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/env/IBinaryType.class
index 7bd5bad..03ed05d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/env/IBinaryType.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/env/IBinaryType.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/env/IBinaryTypeAnnotation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/env/IBinaryTypeAnnotation.class
index c246ff7..6b5da70 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/env/IBinaryTypeAnnotation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/env/IBinaryTypeAnnotation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/env/ISourceType.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/env/ISourceType.class
index 419b9f5..ac7af58 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/env/ISourceType.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/env/ISourceType.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/env/NameEnvironmentAnswer.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/env/NameEnvironmentAnswer.class
index f80ef3f..2217d87 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/env/NameEnvironmentAnswer.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/env/NameEnvironmentAnswer.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/ConditionalFlowInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/ConditionalFlowInfo.class
index c516a64..db29bbf 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/ConditionalFlowInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/ConditionalFlowInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext.class
index 9d872f0..13e1c64 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/FinallyFlowContext.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/FinallyFlowContext.class
index 2ec76d8..fb37ed0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/FinallyFlowContext.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/FinallyFlowContext.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/FlowContext.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/FlowContext.class
index 315d078..6ed7141 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/FlowContext.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/FlowContext.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/FlowInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/FlowInfo.class
index f7d6fbe..3594e9d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/FlowInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/FlowInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/InsideSubRoutineFlowContext.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/InsideSubRoutineFlowContext.class
index f52130c..43a9269 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/InsideSubRoutineFlowContext.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/InsideSubRoutineFlowContext.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/LoopingFlowContext.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/LoopingFlowContext.class
index 6528fce..00c77eb 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/LoopingFlowContext.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/LoopingFlowContext.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/SwitchFlowContext.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/SwitchFlowContext.class
index 53785d9..27d6f02 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/SwitchFlowContext.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/SwitchFlowContext.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo.class
index 5d737fe..ec3e82c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/BooleanConstant.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/BooleanConstant.class
index b05e70b..2e5c9ed 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/BooleanConstant.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/BooleanConstant.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/CompilerOptions.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/CompilerOptions.class
index 41c5115..544e6cd 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/CompilerOptions.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/CompilerOptions.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/Constant.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/Constant.class
index ca2d738..c7c25e0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/Constant.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/Constant.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/IntConstant.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/IntConstant.class
index 7357748..bd601ff 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/IntConstant.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/IntConstant.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/IrritantSet.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/IrritantSet.class
index b2e7a81..5800bd0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/IrritantSet.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/IrritantSet.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/LongConstant.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/LongConstant.class
index f3f1e52..3522f00 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/LongConstant.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/impl/LongConstant.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/AnnotatableTypeSystem.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/AnnotatableTypeSystem.class
index bdcb99b..b65a267 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/AnnotatableTypeSystem.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/AnnotatableTypeSystem.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/AnnotationBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/AnnotationBinding.class
index 1928712..5bc4a57 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/AnnotationBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/AnnotationBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/AnnotationHolder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/AnnotationHolder.class
index f3d485e..828cf59 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/AnnotationHolder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/AnnotationHolder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ArrayBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ArrayBinding.class
index da6204e..cd7466b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ArrayBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ArrayBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding.class
index 4824c66..85348e4 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding.class
index 99ddb28..77176f8 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Binding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Binding.class
index 78a0d1d..161e834 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Binding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Binding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BlockScope.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BlockScope.class
index 99debd9..0a37511 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BlockScope.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BlockScope.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BoundSet$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BoundSet$1.class
new file mode 100644
index 0000000..33e1d9f
--- /dev/null
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BoundSet$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BoundSet$ThreeSets.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BoundSet$ThreeSets.class
index 917182d..7342d24 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BoundSet$ThreeSets.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BoundSet$ThreeSets.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BoundSet.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BoundSet.class
index 53d8b49..3f8d53b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BoundSet.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BoundSet.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CaptureBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CaptureBinding.class
index 0ab5e43..91ca74c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CaptureBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CaptureBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CaptureBinding18$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CaptureBinding18$1.class
new file mode 100644
index 0000000..6ef0681
--- /dev/null
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CaptureBinding18$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CaptureBinding18.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CaptureBinding18.class
index 7156800..eb49834 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CaptureBinding18.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CaptureBinding18.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ClassScope.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ClassScope.class
index b8dc34a..d14da60 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ClassScope.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ClassScope.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CompilationUnitScope.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CompilationUnitScope.class
index 9a7ece1..5b657d8 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CompilationUnitScope.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CompilationUnitScope.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ConstraintExceptionFormula.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ConstraintExceptionFormula.class
index ea3c0be..4086b86 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ConstraintExceptionFormula.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ConstraintExceptionFormula.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula.class
index 6f8b5cd..4194dc1 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ConstraintFormula.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ConstraintFormula.class
index ff02b55..491ec1f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ConstraintFormula.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ConstraintFormula.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula.class
index 1f6a25c..63f2a95 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ElementValuePair$UnresolvedEnumConstant.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ElementValuePair$UnresolvedEnumConstant.class
new file mode 100644
index 0000000..c6c89c6
--- /dev/null
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ElementValuePair$UnresolvedEnumConstant.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ElementValuePair.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ElementValuePair.class
index 459f2df..5ce356c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ElementValuePair.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ElementValuePair.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/FieldBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/FieldBinding.class
index a2b2deb..d6a2e64 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/FieldBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/FieldBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier.class
index 2182687..9fd9b2a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext.class
index e40c4f6..3da5a79 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18$1.class
index 235d98e..060fd49 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18$2.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18$2.class
index 480adfe..3aea604 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18$2.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18$2.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18$3.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18$3.class
index 00b717a..d230643 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18$3.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18$3.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18$Solution.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18$Solution.class
index db587e1..04d9cc2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18$Solution.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18$Solution.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18$SuspendedInferenceRecord.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18$SuspendedInferenceRecord.class
index e243e5d..ce03237 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18$SuspendedInferenceRecord.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18$SuspendedInferenceRecord.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18.class
index 704142b..673459d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution.class
index 5b186b9..8bf3685 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/IntersectionCastTypeBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/IntersectionCastTypeBinding.class
index 3027d4b..9ad24cb 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/IntersectionCastTypeBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/IntersectionCastTypeBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/LocalTypeBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/LocalTypeBinding.class
index 70011bf..9562e69 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/LocalTypeBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/LocalTypeBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding.class
index 9a86d01..de79833 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/LookupEnvironment.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/LookupEnvironment.class
index eadd75e..327ab89 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/LookupEnvironment.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/LookupEnvironment.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodBinding.class
index a14bea6..8c7fe4c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodScope.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodScope.class
index bccab9e..27f2bb9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodScope.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodScope.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier.class
index 12efd94..43f958e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier15.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier15.class
index 8c52f5e..dd3ff42 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier15.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier15.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MissingTypeBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MissingTypeBinding.class
index b6ca2b0..f2c720b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MissingTypeBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MissingTypeBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MostSpecificExceptionMethodBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MostSpecificExceptionMethodBinding.class
index 1187ed7..787fd4a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MostSpecificExceptionMethodBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MostSpecificExceptionMethodBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/NestedTypeBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/NestedTypeBinding.class
index d75c090..778cb68 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/NestedTypeBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/NestedTypeBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/PackageBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/PackageBinding.class
index 379b5fd..bedbb07 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/PackageBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/PackageBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding$LingeringTypeVariableEliminator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding$LingeringTypeVariableEliminator.class
index 7e323fe..0bb3142 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding$LingeringTypeVariableEliminator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding$LingeringTypeVariableEliminator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding.class
index f63273a..3c0008c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding$1.class
index 95ce569..b827abd 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding$2.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding$2.class
index d6cc453..0ccd905 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding$2.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding$2.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding.class
index 857db01..bf70e55 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding.class
index 80b1ab8..8cc4aa3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/PolyTypeBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/PolyTypeBinding.class
index 1fdef8e..1306e20 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/PolyTypeBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/PolyTypeBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/PolymorphicMethodBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/PolymorphicMethodBinding.class
index 55a7489..afe30b7 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/PolymorphicMethodBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/PolymorphicMethodBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ProblemMethodBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ProblemMethodBinding.class
index 8652a49..973c2c1 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ProblemMethodBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ProblemMethodBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ProblemReferenceBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ProblemReferenceBinding.class
index 58e5274..1f00309 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ProblemReferenceBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ProblemReferenceBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/RawTypeBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/RawTypeBinding.class
index eabc920..a7580c0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/RawTypeBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/RawTypeBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReductionResult.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReductionResult.class
index 1f4fc42..f9fbb76 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReductionResult.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReductionResult.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding$1.class
index 56d02b8..fea21d5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding$2.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding$2.class
index 9488d72..3e28aaf 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding$2.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding$2.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding$3.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding$3.class
index 4fc3fd7..73c71f8 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding$3.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding$3.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding.class
index c2f3d34..3429ebb 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope$1.class
index 96d9c32..eb9a0e9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope$2.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope$2.class
index 7c84454..e4ba569 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope$2.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope$2.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope$MethodClashException.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope$MethodClashException.class
index ab0ef04..7db926c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope$MethodClashException.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope$MethodClashException.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope$Substitutor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope$Substitutor.class
index fbe58e6..b8731bd 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope$Substitutor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope$Substitutor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope.class
index d2f8a72..edb0d9f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SignatureWrapper.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SignatureWrapper.class
index 48cc766..dccbdf6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SignatureWrapper.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SignatureWrapper.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.class
index 4f5c31f..90f9fde 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SyntheticFactoryMethodBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SyntheticFactoryMethodBinding.class
index 4852a13..8ee6dda 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SyntheticFactoryMethodBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SyntheticFactoryMethodBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SyntheticMethodBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SyntheticMethodBinding.class
index 5106d28..e72da4f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SyntheticMethodBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SyntheticMethodBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeBinding.class
index b8503cc..a625c09 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor.class
index 8d0ba94..78b62ac 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeBound.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeBound.class
index b07436c..6c83223 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeBound.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeBound.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeConstants$CloseMethodRecord.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeConstants$CloseMethodRecord.class
index 16d95ad..ba528de 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeConstants$CloseMethodRecord.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeConstants$CloseMethodRecord.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeConstants.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeConstants.class
index c479527..841b00e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeConstants.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeConstants.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeSystem.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeSystem.class
index 01db462..b766fc8 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeSystem.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeSystem.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding.class
index 7140a5f..e4a07d6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/UnresolvedAnnotationBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/UnresolvedAnnotationBinding.class
index ce3663c..386f1a3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/UnresolvedAnnotationBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/UnresolvedAnnotationBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/UnresolvedReferenceBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/UnresolvedReferenceBinding.class
index b8a3999..e38eb3f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/UnresolvedReferenceBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/UnresolvedReferenceBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/VariableBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/VariableBinding.class
index f1f4ce7..c3d95f0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/VariableBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/VariableBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/WildcardBinding.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/WildcardBinding.class
index 30188b4..569c3a5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/WildcardBinding.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/WildcardBinding.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/AbstractCommentParser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/AbstractCommentParser.class
index cca7217..c0f1cb9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/AbstractCommentParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/AbstractCommentParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/CommitRollbackParser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/CommitRollbackParser.class
index 63ccab4..0210a6e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/CommitRollbackParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/CommitRollbackParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/JavadocParser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/JavadocParser.class
index 1195535..1f856fc 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/JavadocParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/JavadocParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/JavadocTagConstants.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/JavadocTagConstants.class
index 2468c0a..2445c52 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/JavadocTagConstants.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/JavadocTagConstants.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/Parser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/Parser.class
index 2978440..f1b5077 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/Parser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/Parser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredAnnotation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredAnnotation.class
index 4a381bb..45ef9b9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredAnnotation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredAnnotation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredBlock.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredBlock.class
index 661caa9..09463eb 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredBlock.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredBlock.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredField.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredField.class
index e2cb60e..b55b51e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredField.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredField.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredInitializer.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredInitializer.class
index 6363231..436194f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredInitializer.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredInitializer.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredLocalVariable.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredLocalVariable.class
index 5379d6e..89b0a5a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredLocalVariable.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredLocalVariable.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredMethod.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredMethod.class
index 3444b52..7add1d0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredMethod.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredMethod.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredType.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredType.class
index c70c3fa..326a539 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredType.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredType.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredUnit.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredUnit.class
index 5acbd00..9ef6c24 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredUnit.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveredUnit.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveryScanner.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveryScanner.class
index 0ff7821..313ec4e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveryScanner.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/RecoveryScanner.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/Scanner.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/Scanner.class
index 3555668..8b78d46 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/Scanner.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/Scanner.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/ScannerHelper.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/ScannerHelper.class
index c85b0ae..52e1697 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/ScannerHelper.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/ScannerHelper.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/SourceTypeConverter.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/SourceTypeConverter.class
index e4bc5cc..65a02b5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/SourceTypeConverter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/SourceTypeConverter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTParserClass$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTParserClass$1.class
index 6a1887c..009d6e0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTParserClass$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTParserClass$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTParserClass$1MethodVisitor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTParserClass$1MethodVisitor.class
index 84f9591..d4ccaaf 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTParserClass$1MethodVisitor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTParserClass$1MethodVisitor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTParserClass$1TypeVisitor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTParserClass$1TypeVisitor.class
index 0d9b582..a9711e2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTParserClass$1TypeVisitor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTParserClass$1TypeVisitor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTParserClass.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTParserClass.class
index 7c0c03f..7b0e692 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTParserClass.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTParserClass.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTScannerClass$Goal.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTScannerClass$Goal.class
index 4a04912..6fbd106 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTScannerClass$Goal.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTScannerClass$Goal.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTScannerClass$VanguardParser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTScannerClass$VanguardParser.class
index 731ee96..fb5a1e4 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTScannerClass$VanguardParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTScannerClass$VanguardParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTScannerClass.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTScannerClass.class
index 723b1b2..0ca2c39 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTScannerClass.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTScannerClass.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TypeConverter.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TypeConverter.class
index c2c58e2..15f35fa 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TypeConverter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TypeConverter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/diagnose/DiagnoseParser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/diagnose/DiagnoseParser.class
index f876883..bdbae97 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/diagnose/DiagnoseParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/diagnose/DiagnoseParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/diagnose/LexStream.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/diagnose/LexStream.class
index 3936342..619e144 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/diagnose/LexStream.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/diagnose/LexStream.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/diagnose/RangeUtil$RangeResult.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/diagnose/RangeUtil$RangeResult.class
index 5ae48ba..a67ccf0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/diagnose/RangeUtil$RangeResult.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/diagnose/RangeUtil$RangeResult.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/diagnose/RangeUtil.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/diagnose/RangeUtil.class
index d29e1c1..58598df 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/diagnose/RangeUtil.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/parser/diagnose/RangeUtil.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/AbortCompilation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/AbortCompilation.class
index ac24cfc..003e481 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/AbortCompilation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/AbortCompilation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/DefaultProblem.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/DefaultProblem.class
index 60c5eb1..a885b5c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/DefaultProblem.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/DefaultProblem.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/DefaultProblemFactory.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/DefaultProblemFactory.class
index fb412e3..e6a1ef6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/DefaultProblemFactory.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/DefaultProblemFactory.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/ProblemHandler.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/ProblemHandler.class
index fab3001..3ca6e1a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/ProblemHandler.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/ProblemHandler.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.class
index 1071f0a..ceedc7e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/messages.properties b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/messages.properties
index 8dc1e3e..dfaddb3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/messages.properties
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/problem/messages.properties
@@ -37,6 +37,7 @@
# Bug 418743 - [1.8][null] contradictory annotations on invocation of generic method not reported
# Bug 416190 - [1.8][null] detect incompatible overrides due to null type annotations
# Bug 392245 - [1.8][compiler][null] Define whether / how @NonNullByDefault applies to TYPE_USE locations
+# Bug 430150 - [1.8][null] stricter checking against type variables
# Jesper S Moller <jesper@selskabet.org> - Contributions for
# bug 382701 - [1.8][compiler] Implement semantic analysis of Lambda expressions & Reference expression
# bug 384567 - [1.5][compiler] Compiler accepts illegal modifiers on package declaration
@@ -820,7 +821,9 @@
965 = This nullness annotation conflicts with a ''@{0}'' annotation which is effective on the same type parameter
966 = Contradictory null annotations: method was inferred as ''{2} {3}({4})'', but only one of ''@{0}'' and ''@{1}'' can be effective at any location
967 = Null type safety: Unchecked cast from {0} to {1}
-968 = Arguments controling the details of the nullness default are not yet evaluated by the analysis.
+#968 temporary warning has been removed
+969 = Null type mismatch (type annotations): ''null'' is not compatible to the free type variable ''{0}''
+970 = Null type mismatch (type annotations): required ''{0}'' but this expression has type ''{1}'', where ''{0}'' is a free type variable
# Java 8
1001 = Syntax error, modifiers and annotations are not allowed for the lambda parameter {0} as its type is elided
@@ -837,22 +840,22 @@
1055 = Illegal reference to super method {0} from type {1}, cannot bypass the more specific override from type {2}
1056 = Illegal combination of modifiers for the interface method {0}; only one of abstract, default, or static permitted
1057 = strictfp is not permitted for abstract interface method {0}
-1058 = Default methods are allowed only in interfaces with source level 1.8 or greater.
+1058 = Default methods are allowed only in interfaces.
1100 = Problem detected during type inference: {0}
1101 = (Recovered) Internal inconsistency detected during lambda shape analysis
### ELABORATIONS
## Access restrictions
-78592 = The type {1} is not accessible due to restriction on classpath entry {0}
-78593 = The type {1} is not accessible due to restriction on required project {0}
-78594 = The type {1} is not accessible due to restriction on required library {0}
-78596 = The field {1} from the type {2} is not accessible due to restriction on classpath entry {0}
-78597 = The field {1} from the type {2} is not accessible due to restriction on required project {0}
-78598 = The field {1} from the type {2} is not accessible due to restriction on required library {0}
-78600 = The constructor {1} is not accessible due to restriction on classpath entry {0}
-78601 = The constructor {1} is not accessible due to restriction on required project {0}
-78602 = The constructor {1} is not accessible due to restriction on required library {0}
-78604 = The method {1} from the type {2} is not accessible due to restriction on classpath entry {0}
-78606 = The method {1} from the type {2} is not accessible due to restriction on required library {0}
-78605 = The method {1} from the type {2} is not accessible due to restriction on required project {0}
+78592 = The type ''{1}'' is not API (restriction on classpath entry ''{0}'')
+78593 = The type ''{1}'' is not API (restriction on required project ''{0}'')
+78594 = The type ''{1}'' is not API (restriction on required library ''{0}'')
+78596 = The field ''{2}.{1}'' is not API (restriction on classpath entry ''{0}'')
+78597 = The field ''{2}.{1}'' is not API (restriction on required project ''{0}'')
+78598 = The field ''{2}.{1}'' is not API (restriction on required library ''{0}'')
+78600 = The constructor ''{1}'' is not API (restriction on classpath entry ''{0}'')
+78601 = The constructor ''{1}'' is not API (restriction on required project ''{0}'')
+78602 = The constructor ''{1}'' is not API (restriction on required library ''{0}'')
+78604 = The method ''{2}.{1}'' is not API (restriction on classpath entry ''{0}'')
+78606 = The method ''{2}.{1}'' is not API (restriction on required library ''{0}'')
+78605 = The method ''{2}.{1}'' is not API (restriction on required project ''{0}'')
\ No newline at end of file
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/CompoundNameVector.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/CompoundNameVector.class
index dbef3ad..6fa2628 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/CompoundNameVector.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/CompoundNameVector.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/FloatUtil.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/FloatUtil.class
index a10d291..a9fdd7b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/FloatUtil.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/FloatUtil.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/GenericXMLWriter.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/GenericXMLWriter.class
index ed9f712..5f181ed 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/GenericXMLWriter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/GenericXMLWriter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/ManifestAnalyzer.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/ManifestAnalyzer.class
index e3bd3d6..e06fcf7 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/ManifestAnalyzer.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/ManifestAnalyzer.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/Messages$MessagesProperties.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/Messages$MessagesProperties.class
index 2bdf7eb..5b671eb 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/Messages$MessagesProperties.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/Messages$MessagesProperties.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/Messages.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/Messages.class
index 91d737e..9748092 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/Messages.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/Messages.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/ObjectVector.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/ObjectVector.class
index 9583f0b..e94326b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/ObjectVector.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/ObjectVector.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/SimpleNameVector.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/SimpleNameVector.class
index 7e8a4a8..1c18d48 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/SimpleNameVector.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/SimpleNameVector.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/SuffixConstants.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/SuffixConstants.class
index fadb306..f992828 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/SuffixConstants.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/SuffixConstants.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/Util.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/Util.class
index a3c811e..7f08c98 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/Util.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/compiler/util/Util.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/Annotation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/Annotation.class
index 11cc381..7ec3358 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/Annotation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/Annotation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BasicCompilationUnit.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BasicCompilationUnit.class
index 6bc7d3c..b354a73 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BasicCompilationUnit.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BasicCompilationUnit.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BatchOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BatchOperation.class
index 294c8f2..1282381 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BatchOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BatchOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BecomeWorkingCopyOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BecomeWorkingCopyOperation.class
index 026142e..5f7f76a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BecomeWorkingCopyOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BecomeWorkingCopyOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryField.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryField.class
index f9764d0..db3905d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryField.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryField.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryLambdaExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryLambdaExpression.class
new file mode 100644
index 0000000..aa29635
--- /dev/null
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryLambdaExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryLambdaMethod.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryLambdaMethod.class
new file mode 100644
index 0000000..94e4ef1
--- /dev/null
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryLambdaMethod.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryMethod$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryMethod$1.class
index 6c853e5..6c22804 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryMethod$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryMethod$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryMethod$1ParametersNameCollector.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryMethod$1ParametersNameCollector.class
index 72da329..3ec850c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryMethod$1ParametersNameCollector.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryMethod$1ParametersNameCollector.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryMethod.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryMethod.class
index b1c90d2..0dc7e4f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryMethod.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryMethod.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryType.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryType.class
index c756cc7..c2e0332 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryType.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryType.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryTypeConverter.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryTypeConverter.class
index 50025dc..903d3c3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryTypeConverter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/BinaryTypeConverter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/Buffer.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/Buffer.class
index 1889062..c288b1a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/Buffer.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/Buffer.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ChangeClasspathOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ChangeClasspathOperation.class
index 144132c..0aa63eb 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ChangeClasspathOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ChangeClasspathOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClassFile.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClassFile.class
index 464692e..5f79f4a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClassFile.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClassFile.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClassFileInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClassFileInfo.class
index 1a4291a..f0774b6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClassFileInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClassFileInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClassFileWorkingCopy.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClassFileWorkingCopy.class
index 8f55941..6e83689 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClassFileWorkingCopy.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClassFileWorkingCopy.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClasspathChange.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClasspathChange.class
index 37be9b7..64d9904 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClasspathChange.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClasspathChange.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClasspathEntry.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClasspathEntry.class
index a0068db..3eea2fd 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClasspathEntry.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClasspathEntry.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClasspathValidation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClasspathValidation.class
index f756866..e7ead20 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClasspathValidation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ClasspathValidation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CommitWorkingCopyOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CommitWorkingCopyOperation.class
index adb08af..5fa2e05 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CommitWorkingCopyOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CommitWorkingCopyOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CompilationUnit.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CompilationUnit.class
index a4545ac..5e264cb 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CompilationUnit.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CompilationUnit.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CompilationUnitElementInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CompilationUnitElementInfo.class
index acb4897..5647da2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CompilationUnitElementInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CompilationUnitElementInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CompilationUnitProblemFinder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CompilationUnitProblemFinder.class
index 90dcfaa..7bdfcfb 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CompilationUnitProblemFinder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CompilationUnitProblemFinder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CompilationUnitStructureRequestor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CompilationUnitStructureRequestor.class
index 88836e1..bf0ce85 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CompilationUnitStructureRequestor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CompilationUnitStructureRequestor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CopyElementsOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CopyElementsOperation.class
index 7709663..a3b7b55 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CopyElementsOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CopyElementsOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CopyPackageFragmentRootOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CopyPackageFragmentRootOperation.class
index 938ee25..0e33496 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CopyPackageFragmentRootOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CopyPackageFragmentRootOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CopyResourceElementsOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CopyResourceElementsOperation.class
index edacd7f..a8ab029 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CopyResourceElementsOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CopyResourceElementsOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateCompilationUnitOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateCompilationUnitOperation.class
index 3fa5b5d..1078d97 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateCompilationUnitOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateCompilationUnitOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateElementInCUOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateElementInCUOperation.class
index 8c5095e..d62e998 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateElementInCUOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateElementInCUOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateFieldOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateFieldOperation.class
index faa7035..e1bdf6c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateFieldOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateFieldOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateImportOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateImportOperation.class
index b0eddfe..ceeed33 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateImportOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateImportOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateInitializerOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateInitializerOperation.class
index 92f2483..3b4a65e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateInitializerOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateInitializerOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreatePackageFragmentOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreatePackageFragmentOperation.class
index 1e0a0a0..8ded0af 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreatePackageFragmentOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreatePackageFragmentOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateTypeHierarchyOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateTypeHierarchyOperation.class
index 55786a8..330395a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateTypeHierarchyOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateTypeHierarchyOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateTypeMemberOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateTypeMemberOperation.class
index 117dc78..a70496e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateTypeMemberOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/CreateTypeMemberOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DefaultWorkingCopyOwner.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DefaultWorkingCopyOwner.class
index 88cfe97..f209b7c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DefaultWorkingCopyOwner.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DefaultWorkingCopyOwner.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeletePackageFragmentRootOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeletePackageFragmentRootOperation.class
index 5388abd..982584d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeletePackageFragmentRootOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeletePackageFragmentRootOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeleteResourceElementsOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeleteResourceElementsOperation.class
index 0419df7..745f062 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeleteResourceElementsOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeleteResourceElementsOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessingState$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessingState$1.class
index 93ec360..5d9f3ce 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessingState$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessingState$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessingState.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessingState.class
index 7a82f2f..e402f37 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessingState.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessingState.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$1.class
index b9412a1..9ed284a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$1FoundRelevantDeltaException.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$1FoundRelevantDeltaException.class
index 41b739e..1a4a37f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$1FoundRelevantDeltaException.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$1FoundRelevantDeltaException.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$2.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$2.class
index 8dcf7a7..d9550e5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$2.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$2.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$3.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$3.class
index 6fb62f7..1863606 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$3.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$3.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$4.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$4.class
index 46da860..f4de218 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$4.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$4.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$5.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$5.class
index a742615..d4a8549 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$5.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$5.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$OutputsInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$OutputsInfo.class
index 9c3ac9a..f2f7f37 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$OutputsInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$OutputsInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$RootInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$RootInfo.class
index f342c4a..d30e548 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$RootInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor$RootInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor.class
index 2474ee4..de8993a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DiscardWorkingCopyOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DiscardWorkingCopyOperation.class
index 4187137..e59bd4d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DiscardWorkingCopyOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/DiscardWorkingCopyOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ExternalFolderChange.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ExternalFolderChange.class
index 8871bc3..7bd2940 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ExternalFolderChange.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ExternalFolderChange.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ExternalFoldersManager$RefreshJob.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ExternalFoldersManager$RefreshJob.class
index 5ec50a3..f4d2674 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ExternalFoldersManager$RefreshJob.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ExternalFoldersManager$RefreshJob.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ExternalFoldersManager.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ExternalFoldersManager.class
index 8fd9e6a..77283a5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ExternalFoldersManager.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ExternalFoldersManager.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ExternalJavaProject.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ExternalJavaProject.class
index 382d0d5..9975ef7 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ExternalJavaProject.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ExternalJavaProject.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/Initializer.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/Initializer.class
index d4516d5..518fa21 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/Initializer.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/Initializer.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/InternalNamingConventions.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/InternalNamingConventions.class
index ee418f9..0b867c2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/InternalNamingConventions.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/InternalNamingConventions.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JarEntryFile.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JarEntryFile.class
index 439268a..b60658d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JarEntryFile.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JarEntryFile.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JarEntryResource.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JarEntryResource.class
index 123255b..625abf7 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JarEntryResource.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JarEntryResource.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JarPackageFragment.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JarPackageFragment.class
index d0c8215..bcc0ad3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JarPackageFragment.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JarPackageFragment.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JarPackageFragmentRoot.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JarPackageFragmentRoot.class
index 1c8ed8e..26035d5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JarPackageFragmentRoot.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JarPackageFragmentRoot.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaCorePreferenceModifyListener.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaCorePreferenceModifyListener.class
index 1ba450c..ba8b8e5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaCorePreferenceModifyListener.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaCorePreferenceModifyListener.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElement$1NoResourceSchedulingRule.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElement$1NoResourceSchedulingRule.class
index cd0605d..b09bf7f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElement$1NoResourceSchedulingRule.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElement$1NoResourceSchedulingRule.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElement.class
index 62203c2..a5cf1d3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElementDelta.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElementDelta.class
index 42c90cb..6ad6533 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElementDelta.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElementDelta.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElementDeltaBuilder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElementDeltaBuilder.class
index f669a7c..48a2ee4 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElementDeltaBuilder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElementDeltaBuilder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElementInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElementInfo.class
index 5c17f12..b493c7f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElementInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElementInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElementRequestor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElementRequestor.class
index d3b49a1..1740c5a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElementRequestor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaElementRequestor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModel.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModel.class
index 90b59a7..0eec096 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModel.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModel.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelCache.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelCache.class
index 88a41f7..f724aa5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelCache.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelCache.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelInfo.class
index 4ba17c8..3ab4d3c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$1.class
index 2328000..b49e76a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$10.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$10.class
index 50d0364..bf7960d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$10.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$10.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$11.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$11.class
index 834d45b..baa513c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$11.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$11.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$12.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$12.class
index 646ba92..7c4e549 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$12.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$12.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$13.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$13.class
index 64a0df1..622a2b1 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$13.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$13.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$14.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$14.class
index 147c831..923b678 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$14.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$14.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$15.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$15.class
index cc5df7d..c5b6066 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$15.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$15.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$16.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$16.class
index a9a1fea..cc54d94 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$16.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$16.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$17$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$17$1.class
index a305b0a..43ce7e7 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$17$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$17$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$17.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$17.class
index 6e4d2e0..2b68b44 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$17.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$17.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$2.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$2.class
index d445095..55fea23 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$2.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$2.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$3.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$3.class
index 69f1f81..a65e33a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$3.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$3.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$4.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$4.class
index 7655d16..1c0c29c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$4.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$4.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$5.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$5.class
index f86488b..9adeffd 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$5.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$5.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$6.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$6.class
index ccd5245..91941ec 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$6.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$6.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$7.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$7.class
index 8d39a57..2df536a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$7.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$7.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$8.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$8.class
index 41e4017..824ea4b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$8.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$8.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$9.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$9.class
index 76c4dee..a257563 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$9.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$9.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$CompilationParticipants$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$CompilationParticipants$1.class
index d87fbcb..3796017 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$CompilationParticipants$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$CompilationParticipants$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$CompilationParticipants$2.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$CompilationParticipants$2.class
index 49e4b65..093dda4 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$CompilationParticipants$2.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$CompilationParticipants$2.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$CompilationParticipants.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$CompilationParticipants.class
index e381b1d..6bf8f7f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$CompilationParticipants.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$CompilationParticipants.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$EclipsePreferencesListener.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$EclipsePreferencesListener.class
index b1c61be..7fad277 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$EclipsePreferencesListener.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$EclipsePreferencesListener.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo.class
index 046ce7b..bb10dde 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$PerWorkingCopyInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$PerWorkingCopyInfo.class
index 950f6e6..180d488 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$PerWorkingCopyInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$PerWorkingCopyInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$PersistedClasspathContainer.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$PersistedClasspathContainer.class
index 00f0bd7..c59d05a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$PersistedClasspathContainer.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$PersistedClasspathContainer.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$VariablesAndContainersLoadHelper.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$VariablesAndContainersLoadHelper.class
index d0f4d74..e4d8b4e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$VariablesAndContainersLoadHelper.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$VariablesAndContainersLoadHelper.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$VariablesAndContainersSaveHelper.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$VariablesAndContainersSaveHelper.class
index c2749a9..f2b0082 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$VariablesAndContainersSaveHelper.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$VariablesAndContainersSaveHelper.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$ZipCache.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$ZipCache.class
index 9005173..29b15b3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$ZipCache.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager$ZipCache.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager.class
index 2533055..59d485d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelOperation.class
index 2ba0ba8..7fb3097 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelStatus.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelStatus.class
index 3eed659..f5be3b2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelStatus.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaModelStatus.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaProject.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaProject.class
index c20b511..ddd1bd1 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaProject.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaProject.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaProjectElementInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaProjectElementInfo.class
index a9b1362..bbce245 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaProjectElementInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavaProjectElementInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavadocConstants.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavadocConstants.class
index 415a9c1..d8b855a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavadocConstants.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavadocConstants.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavadocContents.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavadocContents.class
index 950d805..e503c7e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavadocContents.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/JavadocContents.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/LambdaExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/LambdaExpression.class
index e5f87e6..2a0465d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/LambdaExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/LambdaExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/LambdaFactory.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/LambdaFactory.class
new file mode 100644
index 0000000..60f9b18
--- /dev/null
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/LambdaFactory.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/LambdaMethod.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/LambdaMethod.class
index 1c2683f..aaf1886 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/LambdaMethod.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/LambdaMethod.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/LocalVariable.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/LocalVariable.class
index dfc8ad1..51cd202 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/LocalVariable.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/LocalVariable.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/Member.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/Member.class
index 39f7060..2fe50b9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/Member.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/Member.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/MemberValuePair.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/MemberValuePair.class
index 9de9b51..909cbf6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/MemberValuePair.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/MemberValuePair.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ModelUpdater.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ModelUpdater.class
index 73e3f9b..598bd0c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ModelUpdater.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ModelUpdater.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/MovePackageFragmentRootOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/MovePackageFragmentRootOperation.class
index cb39d05..aea7869 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/MovePackageFragmentRootOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/MovePackageFragmentRootOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/MultiOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/MultiOperation.class
index 75c82cb..7df6312 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/MultiOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/MultiOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/NameLookup$Answer.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/NameLookup$Answer.class
index ff46cff..136ed6a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/NameLookup$Answer.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/NameLookup$Answer.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/NameLookup.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/NameLookup.class
index 75e0f07..042b92d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/NameLookup.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/NameLookup.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/NamedMember$1TypeResolveRequestor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/NamedMember$1TypeResolveRequestor.class
index 5594a1f..470e709 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/NamedMember$1TypeResolveRequestor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/NamedMember$1TypeResolveRequestor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/NamedMember.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/NamedMember.class
index e14f5bd..e77b860 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/NamedMember.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/NamedMember.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/NonJavaResource.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/NonJavaResource.class
index a378793..7cd17e8 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/NonJavaResource.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/NonJavaResource.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/Openable.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/Openable.class
index 9fdb8bf..d53508d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/Openable.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/Openable.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/OpenableElementInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/OpenableElementInfo.class
index 7a8c94d..9005d96 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/OpenableElementInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/OpenableElementInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/OverflowingLRUCache.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/OverflowingLRUCache.class
index c5e0f8d..358d13d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/OverflowingLRUCache.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/OverflowingLRUCache.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/PackageFragment.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/PackageFragment.class
index d32851c..b546393 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/PackageFragment.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/PackageFragment.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/PackageFragmentInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/PackageFragmentInfo.class
index 450859e..77a632c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/PackageFragmentInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/PackageFragmentInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/PackageFragmentRoot.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/PackageFragmentRoot.class
index 468206e..a01e55e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/PackageFragmentRoot.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/PackageFragmentRoot.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/PackageFragmentRootInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/PackageFragmentRootInfo.class
index 93078ba..16c6ffc 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/PackageFragmentRootInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/PackageFragmentRootInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ProjectReferenceChange.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ProjectReferenceChange.class
index 350b807..5bb185e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ProjectReferenceChange.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ProjectReferenceChange.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ReconcileWorkingCopyOperation$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ReconcileWorkingCopyOperation$1.class
index 4cb0955..ab3985d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ReconcileWorkingCopyOperation$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ReconcileWorkingCopyOperation$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ReconcileWorkingCopyOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ReconcileWorkingCopyOperation.class
index bf5b0a3..1c57e75 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ReconcileWorkingCopyOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ReconcileWorkingCopyOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ResolvedBinaryField.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ResolvedBinaryField.class
index 9842bbc..a49fda3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ResolvedBinaryField.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ResolvedBinaryField.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ResolvedLambdaExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ResolvedLambdaExpression.class
index d26a71b..dc6a667 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ResolvedLambdaExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/ResolvedLambdaExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SearchableEnvironment.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SearchableEnvironment.class
index d33f542..59fe87b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SearchableEnvironment.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SearchableEnvironment.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SearchableEnvironmentRequestor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SearchableEnvironmentRequestor.class
index c2330fa..a280614 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SearchableEnvironmentRequestor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SearchableEnvironmentRequestor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SelectionRequestor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SelectionRequestor.class
index 6b99be8..33ea9d1 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SelectionRequestor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SelectionRequestor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SetClasspathOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SetClasspathOperation.class
index 4e32bc1..1500b67 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SetClasspathOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SetClasspathOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SetContainerOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SetContainerOperation.class
index c2ebf4a..8a1ae55 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SetContainerOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SetContainerOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SetVariablesOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SetVariablesOperation.class
index a0ab1e1..7a149d3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SetVariablesOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SetVariablesOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SortElementsOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SortElementsOperation.class
index c97b3c8..cbe8f1c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SortElementsOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SortElementsOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceConstructorInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceConstructorInfo.class
index 967bdda..2acdbd9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceConstructorInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceConstructorInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceField.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceField.class
index 6f65f9f..7db66ee 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceField.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceField.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceMapper.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceMapper.class
index 270cedd..c3b3073 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceMapper.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceMapper.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceMethod.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceMethod.class
index 6b944a4..94b4985 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceMethod.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceMethod.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceMethodElementInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceMethodElementInfo.class
index bd94764..facaa44 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceMethodElementInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceMethodElementInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceRefElement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceRefElement.class
index 0f38af4..0d21057 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceRefElement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceRefElement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceType.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceType.class
index 626afb1..fae0588 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceType.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceType.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceTypeElementInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceTypeElementInfo.class
index d53a30a..601647c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceTypeElementInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/SourceTypeElementInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/TypeParameter.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/TypeParameter.class
index f604cff..952872e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/TypeParameter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/TypeParameter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/TypeVector.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/TypeVector.class
index 219a113..1b70003 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/TypeVector.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/TypeVector.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/UserLibrary.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/UserLibrary.class
index dd71fa5..efb00b8 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/UserLibrary.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/UserLibrary.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/UserLibraryClasspathContainerInitializer.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/UserLibraryClasspathContainerInitializer.class
index e2e2f5d..1f00c7f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/UserLibraryClasspathContainerInitializer.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/UserLibraryClasspathContainerInitializer.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/UserLibraryManager.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/UserLibraryManager.class
index 71a50ac..7f3aa46 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/UserLibraryManager.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/UserLibraryManager.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/AbstractImageBuilder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/AbstractImageBuilder.class
index 8eb6c2b..5a9a9e6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/AbstractImageBuilder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/AbstractImageBuilder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/BatchImageBuilder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/BatchImageBuilder.class
index 7a5e39e..6f3a3d3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/BatchImageBuilder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/BatchImageBuilder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/BuildNotifier.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/BuildNotifier.class
index 5f1d5d7..f13a423 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/BuildNotifier.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/BuildNotifier.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ClasspathDirectory.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ClasspathDirectory.class
index 6c0e454..796753d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ClasspathDirectory.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ClasspathDirectory.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ClasspathJar.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ClasspathJar.class
index 5901667..fb119c1 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ClasspathJar.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ClasspathJar.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory.class
index 38363b3..71efe8a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ImageBuilderInternalException.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ImageBuilderInternalException.class
index d446cb0..73e7b40 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ImageBuilderInternalException.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ImageBuilderInternalException.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/IncrementalImageBuilder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/IncrementalImageBuilder.class
index 777a824..d19b998 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/IncrementalImageBuilder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/IncrementalImageBuilder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/JavaBuilder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/JavaBuilder.class
index a88cab7..4343c94 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/JavaBuilder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/JavaBuilder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/NameEnvironment.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/NameEnvironment.class
index fc1ce37..d6de242 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/NameEnvironment.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/NameEnvironment.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ProblemFactory.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ProblemFactory.class
index c8365c6..bd3d79c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ProblemFactory.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ProblemFactory.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ReferenceCollection.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ReferenceCollection.class
index ad6bb10..dbbed32 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ReferenceCollection.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/ReferenceCollection.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/State.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/State.class
index 3761813..c661968 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/State.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/builder/State.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/NaiveASTFlattener.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/NaiveASTFlattener.class
index bd570f3..96477e5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/NaiveASTFlattener.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/NaiveASTFlattener.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/SourceRangeVerifier.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/SourceRangeVerifier.class
index a29b3b2..ccfbe58 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/SourceRangeVerifier.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/SourceRangeVerifier.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer$ListRewriter.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer$ListRewriter.class
index 4224483..8472132 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer$ListRewriter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer$ListRewriter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer$SwitchListRewriter.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer$SwitchListRewriter.class
index 45e2621..3fedf45 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer$SwitchListRewriter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer$SwitchListRewriter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer.class
index 224f946..f212909 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteAnalyzer.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFlattener.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFlattener.class
index 60d3cb9..1fce489 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFlattener.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFlattener.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter.class
index 9ee3027..6187a93 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFormatter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ImportRewriteAnalyzer$PackageEntry.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ImportRewriteAnalyzer$PackageEntry.class
index 1e7c590..1e1f23c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ImportRewriteAnalyzer$PackageEntry.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ImportRewriteAnalyzer$PackageEntry.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ImportRewriteAnalyzer$PackageMatcher.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ImportRewriteAnalyzer$PackageMatcher.class
index 50ff2db..3d60fe5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ImportRewriteAnalyzer$PackageMatcher.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ImportRewriteAnalyzer$PackageMatcher.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ImportRewriteAnalyzer.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ImportRewriteAnalyzer.class
index ca34acc..afb474b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ImportRewriteAnalyzer.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ImportRewriteAnalyzer.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/LineCommentEndOffsets.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/LineCommentEndOffsets.class
index a01c104..bc219da 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/LineCommentEndOffsets.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/LineCommentEndOffsets.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ListRewriteEvent.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ListRewriteEvent.class
index 91c5fd4..a8b9519 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ListRewriteEvent.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/ListRewriteEvent.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore$CopySourceInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore$CopySourceInfo.class
index 69a62f0..b6ee394 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore$CopySourceInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore$CopySourceInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore$NodeRangeInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore$NodeRangeInfo.class
index 0f87fc9..240bc0f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore$NodeRangeInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore$NodeRangeInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore$ParentIterator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore$ParentIterator.class
index 7cf6f3b..4c16e0c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore$ParentIterator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore$ParentIterator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore.class
index 6bea1d9..91a42a2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/RewriteEventStore.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/TokenScanner.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/TokenScanner.class
index f5fd482..7057b11 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/TokenScanner.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/dom/rewrite/TokenScanner.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/eval/EvaluationContextWrapper.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/eval/EvaluationContextWrapper.class
index 14d72eb..1614a9f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/eval/EvaluationContextWrapper.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/eval/EvaluationContextWrapper.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/eval/RequestorWrapper.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/eval/RequestorWrapper.class
index 34003cb..b1e5e01 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/eval/RequestorWrapper.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/eval/RequestorWrapper.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/ChangeCollector.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/ChangeCollector.class
index 4e6acc4..b4e9153 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/ChangeCollector.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/ChangeCollector.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyBinaryType.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyBinaryType.class
index 93b4046..25facac 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyBinaryType.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyBinaryType.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyBuilder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyBuilder.class
index d6e5383..1fcab9e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyBuilder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyBuilder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyResolver.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyResolver.class
index 81697c6..9717018 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyResolver.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyResolver.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyType.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyType.class
index fbd5583..006d485 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyType.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyType.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder$2.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder$2.class
index e032740..98c5b42 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder$2.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder$2.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder.class
index d8fb3ed..dfd5584 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/IndexBasedHierarchyBuilder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/RegionBasedHierarchyBuilder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/RegionBasedHierarchyBuilder.class
index 1190a4a..50e5f57 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/RegionBasedHierarchyBuilder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/RegionBasedHierarchyBuilder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/RegionBasedTypeHierarchy$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/RegionBasedTypeHierarchy$1.class
index 19b57a9..70c5a2f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/RegionBasedTypeHierarchy$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/RegionBasedTypeHierarchy$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/RegionBasedTypeHierarchy.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/RegionBasedTypeHierarchy.class
index 8ddcb92..9273176 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/RegionBasedTypeHierarchy.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/RegionBasedTypeHierarchy.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/TypeHierarchy.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/TypeHierarchy.class
index 4c16ede..2fd6fdd 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/TypeHierarchy.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/TypeHierarchy.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/DiskIndex.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/DiskIndex.class
index 236039a..49d1e63 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/DiskIndex.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/DiskIndex.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/EntryResult.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/EntryResult.class
index 7950daf..8a634db 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/EntryResult.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/EntryResult.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/Index.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/Index.class
index 5667eeb..3a82622 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/Index.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/Index.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/IndexLocation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/IndexLocation.class
index e1e531d..7e16f30 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/IndexLocation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/IndexLocation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/JarIndexLocation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/JarIndexLocation.class
index 4ee50ee..3df3b2d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/JarIndexLocation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/JarIndexLocation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/MemoryIndex.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/MemoryIndex.class
index 8bb11d9..0e3c990 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/MemoryIndex.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/index/MemoryIndex.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/AbstractDOMBuilder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/AbstractDOMBuilder.class
index 0a2d231..f9f5587 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/AbstractDOMBuilder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/AbstractDOMBuilder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMBuilder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMBuilder.class
index 92dea16..9836d19 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMBuilder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMBuilder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMField.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMField.class
index 34d731e..7ea5da2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMField.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMField.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMImport.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMImport.class
index 6e743df..ba7e27c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMImport.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMImport.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMInitializer.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMInitializer.class
index a66ba71..1b1adda 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMInitializer.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMInitializer.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMMember.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMMember.class
index 74ce392..7825d3c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMMember.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMMember.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMMethod.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMMethod.class
index 77c028a..dcd4763 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMMethod.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMMethod.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMNode.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMNode.class
index a9d3eac..4231099 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMNode.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMNode.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMPackage.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMPackage.class
index 693fe90..4ad8f57 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMPackage.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMPackage.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMType.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMType.class
index e22d90a..480ac0e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMType.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/jdom/DOMType.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/BasicSearchEngine$1AllConstructorDeclarationsVisitor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/BasicSearchEngine$1AllConstructorDeclarationsVisitor.class
index 82df37f..6063809 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/BasicSearchEngine$1AllConstructorDeclarationsVisitor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/BasicSearchEngine$1AllConstructorDeclarationsVisitor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/BasicSearchEngine$1AllTypeDeclarationsVisitor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/BasicSearchEngine$1AllTypeDeclarationsVisitor.class
index 85a5105..a6aeb42 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/BasicSearchEngine$1AllTypeDeclarationsVisitor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/BasicSearchEngine$1AllTypeDeclarationsVisitor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/BasicSearchEngine$2AllTypeDeclarationsVisitor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/BasicSearchEngine$2AllTypeDeclarationsVisitor.class
index fc51acd..737c935 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/BasicSearchEngine$2AllTypeDeclarationsVisitor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/BasicSearchEngine$2AllTypeDeclarationsVisitor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/BasicSearchEngine.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/BasicSearchEngine.class
index d3730cd..e5f2f9b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/BasicSearchEngine.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/BasicSearchEngine.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/HierarchyScope.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/HierarchyScope.class
index 132a7f4..66e25e0 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/HierarchyScope.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/HierarchyScope.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/IndexSelector.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/IndexSelector.class
index e89f227..a2b89cd 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/IndexSelector.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/IndexSelector.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/JavaSearchParticipant.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/JavaSearchParticipant.class
index 6b42f1c..e4955ae 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/JavaSearchParticipant.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/JavaSearchParticipant.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/JavaSearchScope.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/JavaSearchScope.class
index fc19ee8..1a15276 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/JavaSearchScope.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/JavaSearchScope.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/JavaWorkspaceScope.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/JavaWorkspaceScope.class
index 9cc3d3c..4255201 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/JavaWorkspaceScope.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/JavaWorkspaceScope.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/PatternSearchJob.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/PatternSearchJob.class
index 8565145..f017840 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/PatternSearchJob.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/PatternSearchJob.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/StringOperation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/StringOperation.class
index 8f7489d..94dac44 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/StringOperation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/StringOperation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/TypeNameMatchRequestorWrapper.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/TypeNameMatchRequestorWrapper.class
index 0dc4735..7fe2e10 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/TypeNameMatchRequestorWrapper.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/TypeNameMatchRequestorWrapper.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/AddFolderToIndex.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/AddFolderToIndex.class
index e373d3b..69a4cd1 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/AddFolderToIndex.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/AddFolderToIndex.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/AddJarFileToIndex.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/AddJarFileToIndex.class
index 640df01..5e16f16 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/AddJarFileToIndex.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/AddJarFileToIndex.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/BinaryIndexer.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/BinaryIndexer.class
index 00dad19..6f70290 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/BinaryIndexer.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/BinaryIndexer.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/DefaultJavaIndexer.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/DefaultJavaIndexer.class
index 8bc7991..500d71a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/DefaultJavaIndexer.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/DefaultJavaIndexer.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IIndexConstants.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IIndexConstants.class
index 44c7910..f873804 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IIndexConstants.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IIndexConstants.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IndexAllProject.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IndexAllProject.class
index 48631a3..f82bfa6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IndexAllProject.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IndexAllProject.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IndexBinaryFolder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IndexBinaryFolder.class
index 92b8b2c..174510d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IndexBinaryFolder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IndexBinaryFolder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IndexManager$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IndexManager$1.class
index 328237c..01af7fd 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IndexManager$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IndexManager$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IndexManager.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IndexManager.class
index 5536582..1f6ff13 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IndexManager.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IndexManager.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IndexRequest.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IndexRequest.class
index 3d86edd..aab1979 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IndexRequest.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/IndexRequest.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/ReadWriteMonitor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/ReadWriteMonitor.class
index 2a0cd30..3f3a768 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/ReadWriteMonitor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/ReadWriteMonitor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/RemoveFolderFromIndex.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/RemoveFolderFromIndex.class
index 08caa84..c3b7403 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/RemoveFolderFromIndex.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/RemoveFolderFromIndex.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/RemoveFromIndex.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/RemoveFromIndex.class
index 4388e63..2b8ca9e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/RemoveFromIndex.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/RemoveFromIndex.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/SaveIndex.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/SaveIndex.class
index e1a719c..e7628f4 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/SaveIndex.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/SaveIndex.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/SourceIndexer.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/SourceIndexer.class
index 764b97b..00c93df 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/SourceIndexer.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/SourceIndexer.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/SourceIndexerRequestor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/SourceIndexerRequestor.class
index 5c116b5..9b82051 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/SourceIndexerRequestor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/indexing/SourceIndexerRequestor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/AndPattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/AndPattern.class
index 09687f1..7e9b0b7 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/AndPattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/AndPattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ClassFileMatchLocator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ClassFileMatchLocator.class
index 7195135..bda4d18 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ClassFileMatchLocator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ClassFileMatchLocator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ConstructorDeclarationPattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ConstructorDeclarationPattern.class
index 7a08c02..11074d4 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ConstructorDeclarationPattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ConstructorDeclarationPattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ConstructorLocator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ConstructorLocator.class
index 6137424..09e05a8 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ConstructorLocator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ConstructorLocator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ConstructorPattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ConstructorPattern.class
index 1211d88..2af2294 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ConstructorPattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ConstructorPattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/FieldLocator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/FieldLocator.class
index b3726c8..0b37940 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/FieldLocator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/FieldLocator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/FieldPattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/FieldPattern.class
index 3fd4d25..3a245a8 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/FieldPattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/FieldPattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/IntersectingPattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/IntersectingPattern.class
index ece69f6..d5ca195 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/IntersectingPattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/IntersectingPattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/JavaSearchNameEnvironment.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/JavaSearchNameEnvironment.class
index 17982ff..c460e8b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/JavaSearchNameEnvironment.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/JavaSearchNameEnvironment.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/JavaSearchPattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/JavaSearchPattern.class
index 796c094..3fb65f2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/JavaSearchPattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/JavaSearchPattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/LocalVariableLocator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/LocalVariableLocator.class
index 8fd8700..bdf557b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/LocalVariableLocator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/LocalVariableLocator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/LocalVariablePattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/LocalVariablePattern.class
index 05411aa..7e38803 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/LocalVariablePattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/LocalVariablePattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocator$1.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocator$1.class
index fddf6be..d51d1d8 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocator$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocator$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocator$WorkingCopyDocument.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocator$WorkingCopyDocument.class
index b4d84b7..260c0fc 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocator$WorkingCopyDocument.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocator$WorkingCopyDocument.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocator$WrappedCoreException.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocator$WrappedCoreException.class
index cea4c99..17c4b91 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocator$WrappedCoreException.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocator$WrappedCoreException.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocator.class
index ee45804..0a24b3d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocatorParser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocatorParser.class
index d26388b..b56b073 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocatorParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocatorParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchingNodeSet.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchingNodeSet.class
index 44a07df..e3106cd 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchingNodeSet.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchingNodeSet.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MemberDeclarationVisitor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MemberDeclarationVisitor.class
index 43092a6..fa91338 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MemberDeclarationVisitor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MemberDeclarationVisitor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MethodLocator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MethodLocator.class
index 613b7d5..700e6f1 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MethodLocator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MethodLocator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MethodPattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MethodPattern.class
index b7e1ea5..d07d054 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MethodPattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MethodPattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MultiTypeDeclarationPattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MultiTypeDeclarationPattern.class
index 6b0d704..bbca556 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MultiTypeDeclarationPattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MultiTypeDeclarationPattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/OrLocator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/OrLocator.class
index 5c7d2f9..0960271 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/OrLocator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/OrLocator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/OrPattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/OrPattern.class
index 611afb1..1aca09b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/OrPattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/OrPattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/PackageReferenceLocator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/PackageReferenceLocator.class
index cd62a85..8d55726 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/PackageReferenceLocator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/PackageReferenceLocator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/PackageReferencePattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/PackageReferencePattern.class
index d2e5b4a..ed46b71 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/PackageReferencePattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/PackageReferencePattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/PatternLocator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/PatternLocator.class
index 467dd0f..eed1516 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/PatternLocator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/PatternLocator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/PossibleMatch.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/PossibleMatch.class
index 4686974..f0f09de 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/PossibleMatch.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/PossibleMatch.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/QualifiedTypeDeclarationPattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/QualifiedTypeDeclarationPattern.class
index efe5f4c..862fd99 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/QualifiedTypeDeclarationPattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/QualifiedTypeDeclarationPattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/SecondaryTypeDeclarationPattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/SecondaryTypeDeclarationPattern.class
index 266baed..e7cdf69 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/SecondaryTypeDeclarationPattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/SecondaryTypeDeclarationPattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/SuperTypeNamesCollector.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/SuperTypeNamesCollector.class
index 95973ee..d8b7967 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/SuperTypeNamesCollector.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/SuperTypeNamesCollector.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/SuperTypeReferenceLocator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/SuperTypeReferenceLocator.class
index 6d8f1a4..d2106fb 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/SuperTypeReferenceLocator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/SuperTypeReferenceLocator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/SuperTypeReferencePattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/SuperTypeReferencePattern.class
index 3a9dcd9..aaa7727 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/SuperTypeReferencePattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/SuperTypeReferencePattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern.class
index 5451b20..0143142 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/TypeDeclarationPattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/TypeParameterLocator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/TypeParameterLocator.class
index 3b0ed01..7313a2e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/TypeParameterLocator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/TypeParameterLocator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/TypeParameterPattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/TypeParameterPattern.class
index fed8fc8..e977166 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/TypeParameterPattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/TypeParameterPattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/TypeReferenceLocator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/TypeReferenceLocator.class
index 6977499..44a4810 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/TypeReferenceLocator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/TypeReferenceLocator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/TypeReferencePattern.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/TypeReferencePattern.class
index 757686f..f9d36b9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/TypeReferencePattern.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/TypeReferencePattern.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/VariableLocator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/VariableLocator.class
index 57d2b3e..485683a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/VariableLocator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/matching/VariableLocator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/processing/JobManager$1ProgressJob.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/processing/JobManager$1ProgressJob.class
index 2eada9d..9ac55b8 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/processing/JobManager$1ProgressJob.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/processing/JobManager$1ProgressJob.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/processing/JobManager.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/processing/JobManager.class
index f62d10c..038f035 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/processing/JobManager.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/search/processing/JobManager.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ASTNodeFinder$1Visitor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ASTNodeFinder$1Visitor.class
index ab5c1e2..75ffd43 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ASTNodeFinder$1Visitor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ASTNodeFinder$1Visitor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ASTNodeFinder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ASTNodeFinder.class
index ace24cf..8f82537 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ASTNodeFinder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ASTNodeFinder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/Annotation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/Annotation.class
index 12badbd..f204e6f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/Annotation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/Annotation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/AnnotationComponentValue.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/AnnotationComponentValue.class
index 81c28ee..50f03a8 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/AnnotationComponentValue.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/AnnotationComponentValue.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/BindingKeyParser$Scanner.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/BindingKeyParser$Scanner.class
index 4825a4e..01db96a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/BindingKeyParser$Scanner.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/BindingKeyParser$Scanner.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/BindingKeyParser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/BindingKeyParser.class
index a394d4e..cddd14b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/BindingKeyParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/BindingKeyParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/BindingKeyResolver.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/BindingKeyResolver.class
index 02dc343..f59eb1e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/BindingKeyResolver.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/BindingKeyResolver.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/BootstrapMethodsAttribute.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/BootstrapMethodsAttribute.class
index 04f5a69..641ec7f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/BootstrapMethodsAttribute.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/BootstrapMethodsAttribute.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ClassFileAttribute.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ClassFileAttribute.class
index 605181a..2aebd28 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ClassFileAttribute.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ClassFileAttribute.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ClassFileReader.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ClassFileReader.class
index a9726f9..4b65f15 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ClassFileReader.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ClassFileReader.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ClassFileStruct.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ClassFileStruct.class
index 1c43e84..2c27d64 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ClassFileStruct.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ClassFileStruct.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/CodeAttribute.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/CodeAttribute.class
index 40bd4f0..682839f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/CodeAttribute.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/CodeAttribute.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/CodeSnippetParsingUtil.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/CodeSnippetParsingUtil.class
index 654b88e..5e0fea6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/CodeSnippetParsingUtil.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/CodeSnippetParsingUtil.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/CommentRecorderParser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/CommentRecorderParser.class
index cae9bde..430b663 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/CommentRecorderParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/CommentRecorderParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/DOMFinder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/DOMFinder.class
index 72864bc..f12f898 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/DOMFinder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/DOMFinder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/DefaultBytecodeVisitor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/DefaultBytecodeVisitor.class
index 8e19971..fa75238 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/DefaultBytecodeVisitor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/DefaultBytecodeVisitor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/DefaultStackMapFrame.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/DefaultStackMapFrame.class
index 4ae27de..2934e3c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/DefaultStackMapFrame.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/DefaultStackMapFrame.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/Disassembler.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/Disassembler.class
index 934f8cd..535fa15 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/Disassembler.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/Disassembler.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ExtendedAnnotation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ExtendedAnnotation.class
index e69cc2f..a2f6680 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ExtendedAnnotation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ExtendedAnnotation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/FieldInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/FieldInfo.class
index 850c954..302cce6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/FieldInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/FieldInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/HandleFactory.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/HandleFactory.class
index 53d3544..a7d7790 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/HandleFactory.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/HandleFactory.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/InnerClassesAttribute.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/InnerClassesAttribute.class
index e2b30c7..baf058b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/InnerClassesAttribute.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/InnerClassesAttribute.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/JavaElementFinder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/JavaElementFinder.class
index c7ef672..11cf1a2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/JavaElementFinder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/JavaElementFinder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/KeyToSignature.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/KeyToSignature.class
index 56c384c..9b01fc3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/KeyToSignature.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/KeyToSignature.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/LRUCache$Stats.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/LRUCache$Stats.class
index 2ebaeb9..ccf0680 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/LRUCache$Stats.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/LRUCache$Stats.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/LRUCache.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/LRUCache.class
index df05b07..b333972 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/LRUCache.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/LRUCache.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/LineNumberAttribute.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/LineNumberAttribute.class
index 15d2774..f645585 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/LineNumberAttribute.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/LineNumberAttribute.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/LocalVariableAttribute.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/LocalVariableAttribute.class
index 075a013..c79d9ac 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/LocalVariableAttribute.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/LocalVariableAttribute.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/LocalVariableTypeAttribute.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/LocalVariableTypeAttribute.class
index 1571e6a..7b90db5 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/LocalVariableTypeAttribute.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/LocalVariableTypeAttribute.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/MementoTokenizer.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/MementoTokenizer.class
index 510baf6..eb3bb2a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/MementoTokenizer.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/MementoTokenizer.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/Messages.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/Messages.class
index d3be21d..fd2dee6 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/Messages.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/Messages.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/MethodInfo.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/MethodInfo.class
index 6eaf082..fa35cfc 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/MethodInfo.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/MethodInfo.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/MethodParametersAttribute.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/MethodParametersAttribute.class
index 39dd4d3..e1e1497 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/MethodParametersAttribute.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/MethodParametersAttribute.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ParameterAnnotation.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ParameterAnnotation.class
index c19a144..4f2b9bc 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ParameterAnnotation.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ParameterAnnotation.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/PublicScanner.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/PublicScanner.class
index 5f4994f..5ed1f4a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/PublicScanner.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/PublicScanner.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeInvisibleAnnotationsAttribute.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeInvisibleAnnotationsAttribute.class
index 8d82978..ee106ca 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeInvisibleAnnotationsAttribute.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeInvisibleAnnotationsAttribute.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeInvisibleParameterAnnotationsAttribute.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeInvisibleParameterAnnotationsAttribute.class
index f878632..ea69937 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeInvisibleParameterAnnotationsAttribute.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeInvisibleParameterAnnotationsAttribute.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeInvisibleTypeAnnotationsAttribute.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeInvisibleTypeAnnotationsAttribute.class
index cd657aa..4f99200 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeInvisibleTypeAnnotationsAttribute.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeInvisibleTypeAnnotationsAttribute.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeVisibleAnnotationsAttribute.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeVisibleAnnotationsAttribute.class
index 89d64d9..082de07 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeVisibleAnnotationsAttribute.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeVisibleAnnotationsAttribute.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeVisibleParameterAnnotationsAttribute.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeVisibleParameterAnnotationsAttribute.class
index 2e46563..7c151db 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeVisibleParameterAnnotationsAttribute.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeVisibleParameterAnnotationsAttribute.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeVisibleTypeAnnotationsAttribute.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeVisibleTypeAnnotationsAttribute.class
index 57db055..93a4628 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeVisibleTypeAnnotationsAttribute.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/RuntimeVisibleTypeAnnotationsAttribute.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/StackMapAttribute.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/StackMapAttribute.class
index 56cbba1..1c1705e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/StackMapAttribute.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/StackMapAttribute.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/StackMapFrame.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/StackMapFrame.class
index cb06057..559496d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/StackMapFrame.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/StackMapFrame.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/StackMapTableAttribute.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/StackMapTableAttribute.class
index 1d0aa6b..fb8bb4e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/StackMapTableAttribute.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/StackMapTableAttribute.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ToStringSorter.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ToStringSorter.class
index b75b57f..7fbc26c 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ToStringSorter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/ToStringSorter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/Util.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/Util.class
index 8ba49f4..f1becf2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/Util.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/Util.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/messages.properties b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/messages.properties
index 383ff0f..d5908f8 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/messages.properties
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/core/util/messages.properties
@@ -1,5 +1,5 @@
###############################################################################
-# Copyright (c) 2000, 2013 IBM Corporation and others.
+# Copyright (c) 2000, 2014 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
@@ -292,8 +292,8 @@
disassembler_stackmapattributeheader = Stack map : number of frames {0}
disassembler_signatureattributeheader = // Signature: {0}
disassembler_bootstrapmethodattributesheader = Bootstrap methods:
-disassembler_bootstrapmethodentry = {0} : # {1} arguments: {2}
-disassembler_bootstrapmethodentry_argument = #{0}
+disassembler_bootstrapmethodentry = {0} : # {1} {2}\n\tMethod arguments:\n\t\t{3}
+disassembler_bootstrapmethodentry_argument = #{0} {1}
disassembler_indentation = \
disassembler_constantpoolindex =\ #
disassembler_space = \
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetAllocationExpression.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetAllocationExpression.class
index c356801..ea15726 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetAllocationExpression.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetAllocationExpression.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetClassFile.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetClassFile.class
index 99ca63c..5877c7f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetClassFile.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetClassFile.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetEnvironment.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetEnvironment.class
index 323f713..e4f45f2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetEnvironment.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetEnvironment.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetEvaluator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetEvaluator.class
index cb55692..ca7c374 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetEvaluator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetEvaluator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetFieldReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetFieldReference.class
index b5d98ea..c065f32 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetFieldReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetFieldReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetMessageSend.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetMessageSend.class
index 9dbf0a2..34a7760 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetMessageSend.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetMessageSend.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetParser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetParser.class
index 8ace333..afb1618 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetQualifiedNameReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetQualifiedNameReference.class
index 843ccb0..3d7921a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetQualifiedNameReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetQualifiedNameReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetReturnStatement.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetReturnStatement.class
index c595431..a4c606e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetReturnStatement.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetReturnStatement.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetScope.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetScope.class
index be5eb5b..4d5c660 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetScope.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetScope.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetSingleNameReference.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetSingleNameReference.class
index ef14c74..432ee80 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetSingleNameReference.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetSingleNameReference.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetToCuMapper.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetToCuMapper.class
index 7e18a23..c69f4db 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetToCuMapper.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetToCuMapper.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetTypeDeclaration.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetTypeDeclaration.class
index 2f83ab6..981583e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetTypeDeclaration.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/CodeSnippetTypeDeclaration.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/EvaluationConstants.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/EvaluationConstants.class
index 80e515c..f30f32b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/EvaluationConstants.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/EvaluationConstants.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/EvaluationContext.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/EvaluationContext.class
index 3dc9e74..dc4f9ea 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/EvaluationContext.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/EvaluationContext.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/EvaluationResult.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/EvaluationResult.class
index 87e6be3..6a57fba 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/EvaluationResult.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/EvaluationResult.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/Evaluator$1CompilerRequestor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/Evaluator$1CompilerRequestor.class
index d67c3a0..291105a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/Evaluator$1CompilerRequestor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/Evaluator$1CompilerRequestor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/VariablesEvaluator.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/VariablesEvaluator.class
index e750087..c62bc3f 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/VariablesEvaluator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/eval/VariablesEvaluator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/BinaryExpressionFragmentBuilder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/BinaryExpressionFragmentBuilder.class
index e8812a8..6a2860d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/BinaryExpressionFragmentBuilder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/BinaryExpressionFragmentBuilder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/CascadingMethodInvocationFragmentBuilder.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/CascadingMethodInvocationFragmentBuilder.class
index 63e07f0..e8b8d2a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/CascadingMethodInvocationFragmentBuilder.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/CascadingMethodInvocationFragmentBuilder.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/CodeFormatterVisitor.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/CodeFormatterVisitor.class
index 537e4f5..00d44a3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/CodeFormatterVisitor.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/CodeFormatterVisitor.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/DefaultCodeFormatter.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/DefaultCodeFormatter.class
index 89ec20a..ceb155a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/DefaultCodeFormatter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/DefaultCodeFormatter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/DefaultCodeFormatterOptions.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/DefaultCodeFormatterOptions.class
index 2eb04cd..e97c63a 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/DefaultCodeFormatterOptions.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/DefaultCodeFormatterOptions.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/FormatJavadocBlock.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/FormatJavadocBlock.class
index 8098ed2..d49391b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/FormatJavadocBlock.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/FormatJavadocBlock.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/FormatJavadocText.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/FormatJavadocText.class
index 4b6beae..8032217 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/FormatJavadocText.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/FormatJavadocText.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/FormatterCommentParser.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/FormatterCommentParser.class
index 5894e52..09b52ad 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/FormatterCommentParser.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/FormatterCommentParser.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/Scribe.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/Scribe.class
index 8b89503..4e81119 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/Scribe.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/Scribe.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/align/Alignment.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/align/Alignment.class
index 512b1eb..460b8eb 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/align/Alignment.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/align/Alignment.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/comment/CommentFormatterUtil.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/comment/CommentFormatterUtil.class
index c0c5212..bdd181e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/comment/CommentFormatterUtil.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/comment/CommentFormatterUtil.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/comment/HTMLEntity2JavaReader.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/comment/HTMLEntity2JavaReader.class
index 3a65eee..6de9e99 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/comment/HTMLEntity2JavaReader.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/comment/HTMLEntity2JavaReader.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/comment/IJavaDocTagConstants.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/comment/IJavaDocTagConstants.class
index ad7d7a9..2072b3b 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/comment/IJavaDocTagConstants.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/comment/IJavaDocTagConstants.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/comment/Java2HTMLEntityReader.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/comment/Java2HTMLEntityReader.class
index 9a92927..c4e0e76 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/comment/Java2HTMLEntityReader.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/comment/Java2HTMLEntityReader.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/comment/SubstitutionTextReader.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/comment/SubstitutionTextReader.class
index 24509fc..6cecc53 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/comment/SubstitutionTextReader.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/comment/SubstitutionTextReader.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/old/CodeFormatter.class b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/old/CodeFormatter.class
index 51d4c20..6c4c97e 100644
--- a/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/old/CodeFormatter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/org/eclipse/jdt/internal/formatter/old/CodeFormatter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ajc/Main$CommandController.class b/org.aspectj.ajde/classes/org/aspectj/tools/ajc/Main$CommandController.class
index a9acafa..23f10dd 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ajc/Main$CommandController.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ajc/Main$CommandController.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ajc/Main$MessagePrinter.class b/org.aspectj.ajde/classes/org/aspectj/tools/ajc/Main$MessagePrinter.class
index 5d6aaf5..041ba39 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ajc/Main$MessagePrinter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ajc/Main$MessagePrinter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ajc/Main.class b/org.aspectj.ajde/classes/org/aspectj/tools/ajc/Main.class
index 35aa50f..e889905 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ajc/Main.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ajc/Main.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/HtmlDecorator$1.class b/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/HtmlDecorator$1.class
index 636a142..cca248d 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/HtmlDecorator$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/HtmlDecorator$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/HtmlDecorator$HtmlRelationshipKind.class b/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/HtmlDecorator$HtmlRelationshipKind.class
index 3a60161..68ff5c3 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/HtmlDecorator$HtmlRelationshipKind.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/HtmlDecorator$HtmlRelationshipKind.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/HtmlDecorator.class b/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/HtmlDecorator.class
index 8197fcc..73eb391 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/HtmlDecorator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/HtmlDecorator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/JavadocRunner.class b/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/JavadocRunner.class
index 047dfcf..6e1a3fe 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/JavadocRunner.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/JavadocRunner.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/Main$1.class b/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/Main$1.class
index 2c2c4cd..823e3b1 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/Main$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/Main$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/Main$2.class b/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/Main$2.class
index 1871580..afca4ed 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/Main$2.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/Main$2.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/Main.class b/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/Main.class
index 7da43f7..a375064 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/Main.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/Main.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/StubFileGenerator.class b/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/StubFileGenerator.class
index 2240ece..0188031 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/StubFileGenerator.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ajdoc/StubFileGenerator.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajc10.class b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajc10.class
index 3e8a47e..04d90f2 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajc10.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajc10.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajc11CompilerAdapter$1.class b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajc11CompilerAdapter$1.class
index bc3b6e9..58b38aa 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajc11CompilerAdapter$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajc11CompilerAdapter$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajc11CompilerAdapter.class b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajc11CompilerAdapter.class
index 7cd79b0..740aebc 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajc11CompilerAdapter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajc11CompilerAdapter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajc2.class b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajc2.class
index fef597b..7f88d55 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajc2.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajc2.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/AjcCompilerAdapter.class b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/AjcCompilerAdapter.class
index 3b33040..6c37a77 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/AjcCompilerAdapter.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/AjcCompilerAdapter.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/AjcTask$1.class b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/AjcTask$1.class
index 3a792bd..2ab1490 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/AjcTask$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/AjcTask$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/AjcTask$1Args.class b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/AjcTask$1Args.class
index 730458c..181e027 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/AjcTask$1Args.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/AjcTask$1Args.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/AjcTask$2.class b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/AjcTask$2.class
index fa15217..055f918 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/AjcTask$2.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/AjcTask$2.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/AjcTask.class b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/AjcTask.class
index 8741639..06ae166 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/AjcTask.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/AjcTask.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc$1.class b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc$1.class
index 6e2d9f9..385b9a8 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc$1.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc$1.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc$2.class b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc$2.class
index 9d30430..44c1d57 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc$2.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc$2.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc$Doclet.class b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc$Doclet.class
index 00e4a75..a158fef 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc$Doclet.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc$Doclet.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc$Group.class b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc$Group.class
index ddbf48c..9398b67 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc$Group.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc$Group.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc$Link.class b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc$Link.class
index 80c9ddf..e58f7fe 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc$Link.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc$Link.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc.class b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc.class
index 8d0265c..f4952e7 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/Ajdoc.class
Binary files differ
diff --git a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/compilers/Ajc.class b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/compilers/Ajc.class
index 883c2b8..5439cd9 100644
--- a/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/compilers/Ajc.class
+++ b/org.aspectj.ajde/classes/org/aspectj/tools/ant/taskdefs/compilers/Ajc.class
Binary files differ
diff --git a/org.aspectj.ajde/source/org/aspectj/ajdt/ajc/messages.properties b/org.aspectj.ajde/source/org/aspectj/ajdt/ajc/messages.properties
index 64ca22c..51bbc92 100644
--- a/org.aspectj.ajde/source/org/aspectj/ajdt/ajc/messages.properties
+++ b/org.aspectj.ajde/source/org/aspectj/ajdt/ajc/messages.properties
@@ -4,8 +4,8 @@
The -Xlintfile:lint.properties allows fine-grained control. In tools.jar, see
org/aspectj/weaver/XlintDefault.properties for the default behavior and a template to copy.
### AspectJ-specific messages
-compiler.name = AspectJ Compiler 1.8.0
-compiler.version = Eclipse Compiler BETA_JAVA8_8661797, 3.9
+compiler.name = AspectJ Compiler 1.8.1
+compiler.version = Eclipse Compiler BETA_JAVA8_3f60ba6, 3.10
compiler.copyright =
## this next one superceded by above...
diff --git a/org.aspectj.ajde/source/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter.java b/org.aspectj.ajde/source/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter.java
index 4f0dc27..81741a8 100644
--- a/org.aspectj.ajde/source/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter.java
+++ b/org.aspectj.ajde/source/org/aspectj/ajdt/internal/compiler/problem/AjProblemReporter.java
@@ -631,7 +631,7 @@
* implementation if the target type doesn't supply one. This test may not be complete - it is possible that it should read if
* *either* is an ITD...but I dont have a testcase that shows that is required. yet. (pr115788)
*/
- public void duplicateInheritedMethods(SourceTypeBinding type, MethodBinding inheritedMethod1, MethodBinding inheritedMethod2) {
+ public void duplicateInheritedMethods(SourceTypeBinding type, MethodBinding inheritedMethod1, MethodBinding inheritedMethod2, boolean isJava8) {
if (inheritedMethod1 instanceof InterTypeMethodBinding || inheritedMethod2 instanceof InterTypeMethodBinding)
return;
if ((inheritedMethod1 instanceof ParameterizedMethodBinding)
@@ -640,7 +640,7 @@
if ((inheritedMethod2 instanceof ParameterizedMethodBinding)
&& ((ParameterizedMethodBinding) inheritedMethod2).original() instanceof InterTypeMethodBinding)
return;
- super.duplicateInheritedMethods(type, inheritedMethod1, inheritedMethod2);
+ super.duplicateInheritedMethods(type, inheritedMethod1, inheritedMethod2, isJava8);
}
/**
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/ICompilationUnit.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/ICompilationUnit.java
index 4d61791..5897e67 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/ICompilationUnit.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/ICompilationUnit.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2012 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -33,6 +33,7 @@
*
* @noimplement This interface is not intended to be implemented by clients.
*/
+@SuppressWarnings("deprecation")
public interface ICompilationUnit extends ITypeRoot, IWorkingCopy, ISourceManipulation {
/**
* Constant indicating that a reconcile operation should not return an AST.
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/IType.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/IType.java
index c1703fa..ec60128 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/IType.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/IType.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2011 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -17,11 +17,15 @@
/**
* Represents either a source type in a compilation unit (either a top-level
- * type, a member type, a local type or an anonymous type)
+ * type, a member type, a local type, an anonymous type or a lambda expression)
* or a binary type in a class file. Enumeration classes and annotation
* types are subkinds of classes and interfaces, respectively.
* <p>
- * Note that the element name of an anonymous source type is always empty.
+ * Note that the element name of an anonymous source type and lambda expressions
+ * is always empty. Types representing lambda expressions are pseudo-elements
+ * and not included in the children of their parent. Lambda expressions are created
+ * as the result of a <code>ICodeAssist.codeSelect(...)</code>. For more information
+ * on such pseudo-elements, see <code>ILocalVariable</code>.
* </p><p>
* If a binary type cannot be parsed, its structure remains unknown.
* Use <code>IJavaElement.isStructureKnown</code> to determine whether this
@@ -486,6 +490,9 @@
/**
* Returns the simple name of this type, unqualified by package or enclosing type.
* This is a handle-only method.
+ *
+ * Note that the element name of an anonymous source type and lambda expressions
+ * is always empty.
*
* @return the simple name of this type
*/
@@ -1205,4 +1212,12 @@
* @since 3.0
*/
String[][] resolveType(String typeName, WorkingCopyOwner owner) throws JavaModelException;
+
+ /**
+ * Returns whether this type represents a lambda expression.
+ *
+ * @return true if this type represents a lambda expression, false otherwise
+ * @since 3.10
+ */
+ public boolean isLambda();
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/JavaCore.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/JavaCore.java
index 3b28c5c..1e36963 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/JavaCore.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/JavaCore.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -271,8 +271,9 @@
*/
public static final String COMPILER_CODEGEN_UNUSED_LOCAL = PLUGIN_ID + ".compiler.codegen.unusedLocal"; //$NON-NLS-1$
/**
- * Compiler option ID: Generating Method Parameters Attribute.
- * <p>When generated, this attribute will enable parameter names to be accessed from reflection libraries, annotation processing,
+ * Compiler option ID: Generating Method Parameters Attribute.
+ * <p>When generated, this attribute will enable information about the formal parameters of a method
+ * (such as their names) to be accessed from reflection libraries, annotation processing,
* code weaving, and in the debugger, from platform target level 1.8 and later.</p>
* <dl>
* <dt>Option id:</dt><dd><code>"org.aspectj.org.eclipse.jdt.core.compiler.codegen.methodParameters"</code></dd>
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/compiler/IProblem.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/compiler/IProblem.java
index 161ad23..3eff724 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/compiler/IProblem.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/compiler/IProblem.java
@@ -190,6 +190,8 @@
* UnsafeNullnessCast
* ContradictoryNullAnnotationsInferred
* NonNullDefaultDetailIsNotEvaluated
+ * NullNotCompatibleToFreeTypeVariable
+ * NullityMismatchAgainstFreeTypeVariable
* Jesper S Moller - added the following constants
* TargetTypeNotAFunctionalInterface
* OuterLocalMustBeEffectivelyFinal
@@ -1803,7 +1805,11 @@
/** @since 3.10 */
int UnsafeNullnessCast = Internal + 967;
/** @since 3.10 */
- int NonNullDefaultDetailIsNotEvaluated = 968;
+ int NonNullDefaultDetailIsNotEvaluated = 968; // no longer reported
+ /** @since 3.10 */
+ int NullNotCompatibleToFreeTypeVariable = 969;
+ /** @since 3.10 */
+ int NullityMismatchAgainstFreeTypeVariable = 970;
// Java 8 work
/** @since 3.10 */
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/ASTConverter.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/ASTConverter.java
index 3d152e1..bf42ae4 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/ASTConverter.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/ASTConverter.java
@@ -533,6 +533,8 @@
methodName.internalSetIdentifier(new String(methodDeclaration.selector));
int start = methodDeclaration.sourceStart;
int end = retrieveIdentifierEndPosition(start, methodDeclaration.sourceEnd);
+ if (end < start)
+ end = start + methodDeclaration.selector.length;// naive recovery with method name
methodName.setSourceRange(start, end - start + 1);
methodDecl.setName(methodName);
org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeReference[] thrownExceptions = methodDeclaration.thrownExceptions;
@@ -2758,7 +2760,7 @@
}
if (statement instanceof org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeDeclaration) {
ASTNode result = convert((org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeDeclaration) statement);
- if (result == null) {
+ if (result == null || !(result instanceof TypeDeclaration)) {
return createFakeEmptyStatement(statement);
}
// annotation and enum type declarations are not returned by the parser inside method bodies
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/ASTRecoveryPropagator.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/ASTRecoveryPropagator.java
index 3877b96..32d8a34 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/ASTRecoveryPropagator.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/ASTRecoveryPropagator.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2013 IBM Corporation and others.
+ * Copyright (c) 2006, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -89,9 +89,6 @@
private Vector stack = new Vector();
- /**
- * @noreference This method is not intended to be referenced by clients.
- */
ASTRecoveryPropagator(CategorizedProblem[] problems, RecoveryScannerData data) {
// visit Javadoc.tags() as well
this.problems = problems;
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/CreationReference.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/CreationReference.java
index 4481e60..4a6004b 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/CreationReference.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/CreationReference.java
@@ -36,7 +36,7 @@
new ChildPropertyDescriptor(CreationReference.class, "type", Type.class, MANDATORY, NO_CYCLE_RISK); //$NON-NLS-1$
/**
- * The "typeArguments" structural property of this node type (element type: {@link Type})
+ * The "typeArguments" structural property of this node type (element type: {@link Type}).
*/
public static final ChildListPropertyDescriptor TYPE_ARGUMENTS_PROPERTY =
internalTypeArgumentsFactory(CreationReference.class);
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/ExpressionMethodReference.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/ExpressionMethodReference.java
index 3f124af..8178d18 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/ExpressionMethodReference.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/ExpressionMethodReference.java
@@ -41,7 +41,7 @@
internalTypeArgumentsFactory(ExpressionMethodReference.class);
/**
- * The "name" structural property of this node type (child type: {@link SimpleName}.
+ * The "name" structural property of this node type (child type: {@link SimpleName}).
*/
public static final ChildPropertyDescriptor NAME_PROPERTY =
new ChildPropertyDescriptor(ExpressionMethodReference.class, "name", SimpleName.class, MANDATORY, NO_CYCLE_RISK); //$NON-NLS-1$
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/MethodBinding.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/MethodBinding.java
index e64eabc..d0e0b8d 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/MethodBinding.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/MethodBinding.java
@@ -205,8 +205,11 @@
final ReferenceBinding annotationType = internalAnnotation.getAnnotationType();
long metaTagBits = annotationType.getAnnotationTagBits();
- if (isConstructor && (metaTagBits & TagBits.AnnotationForConstructor) == 0)
- continue; // must be type use.
+ // Exclude all other targets including TYPE_USE, even though TYPE_USE is accepted.
+ if (isConstructor && (metaTagBits & TagBits.AnnotationForConstructor) == 0 &&
+ ((metaTagBits & TagBits.AnnotationTargetMASK) != 0)) {
+ continue;
+ }
final IAnnotationBinding annotationInstance = this.resolver.getAnnotationInstance(internalAnnotation);
if (annotationInstance == null) {
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/MethodDeclaration.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/MethodDeclaration.java
index 2e00b8c..cf5fc73 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/MethodDeclaration.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/MethodDeclaration.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -291,7 +291,6 @@
* The parameter declarations
* (element type: {@link SingleVariableDeclaration}).
* Defaults to an empty list.
- * @since 3.10 // Added because of @since check due to raising visibility
*/
// AspectJ extension - made protected instead of private
protected ASTNode.NodeList parameters =
@@ -762,7 +761,7 @@
* A receiver qualifier is only legal in Java code if it appears on a constructor of an inner class.
* </p>
*
- * @returns the qualifying name or <code>null</code> if a qualifier was not specified
+ * @return the qualifying name or <code>null</code> if a qualifier was not specified
* @exception UnsupportedOperationException if this operation is used below JLS8
* @since 3.10
*/
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/SingleVariableDeclaration.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/SingleVariableDeclaration.java
index 02a00ec..e0d3bec 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/SingleVariableDeclaration.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/SingleVariableDeclaration.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -517,7 +517,13 @@
/**
* Returns the type of the variable declared in this variable declaration,
- * exclusive of any extra array dimensions.
+ * exclusive of any extra array dimensions or the varargs dimension.
+ * <p>
+ * WARNING: For array-typed varargs, the {@link Type#resolveBinding() binding}
+ * of the returned <code>Type</code> is not useful, since it represents
+ * an unused type. It misses the last (innermost) dimension that carries the
+ * {@link #varargsAnnotations()}.
+ * </p>
*
* @return the type
*/
@@ -560,7 +566,7 @@
* Returns whether this declaration declares the last parameter of
* a variable arity method (added in JLS3 API).
* <p>
- * Note that the binding for the type <code>Foo</code>in the vararg method
+ * Note that the binding for the type <code>Foo</code> in the vararg method
* declaration <code>void fun(Foo... args)</code> is always for the type as
* written; i.e., the type binding for <code>Foo</code>. However, if you
* navigate from the method declaration to its method binding to the
@@ -568,6 +574,12 @@
* parameter is always an array type (i.e., <code>Foo[]</code>) reflecting
* the way vararg methods get compiled.
* </p>
+ * <p>
+ * WARNING: For array-typed varargs, the {@link Type#resolveBinding() binding}
+ * of the variable's {@link #getType() type} is not useful, since it represents
+ * an unused type. It misses the last (innermost) dimension that carries the
+ * {@link #varargsAnnotations()}.
+ * </p>
*
* @return <code>true</code> if this is a variable arity parameter declaration,
* and <code>false</code> otherwise
@@ -603,10 +615,17 @@
/**
* Returns the ordered list of annotations on the varargs token (added in JLS8 API).
+ * <p>
+ * WARNING: For array-typed varargs, the {@link Type#resolveBinding() binding}
+ * of the variable's {@link #getType() type} is not useful, since it represents
+ * an unused type. It misses the last (innermost) dimension that carries the
+ * returned {@code varargsAnnotations}.
+ * </p>
*
* @return the list of annotations on the varargs token (element type: {@link Annotation})
* @exception UnsupportedOperationException if this operation is used
* in a JLS2, JLS3 or JLS4 AST
+ * @see #isVarargs()
* @since 3.10
*/
public List varargsAnnotations() {
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/SuperMethodReference.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/SuperMethodReference.java
index 1121be7..9b3a3db 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/SuperMethodReference.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/SuperMethodReference.java
@@ -36,7 +36,7 @@
new ChildPropertyDescriptor(SuperMethodReference.class, "qualifier", Name.class, OPTIONAL, NO_CYCLE_RISK); //$NON-NLS-1$
/**
- * The "typeArguments" structural property of this node type (element type: {@link Type})
+ * The "typeArguments" structural property of this node type (element type: {@link Type}).
*/
public static final ChildListPropertyDescriptor TYPE_ARGUMENTS_PROPERTY =
internalTypeArgumentsFactory(SuperMethodReference.class);
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/TypeMethodReference.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/TypeMethodReference.java
index 6b3753e..19859ae 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/TypeMethodReference.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/TypeMethodReference.java
@@ -35,13 +35,13 @@
new ChildPropertyDescriptor(TypeMethodReference.class, "type", Type.class, MANDATORY, NO_CYCLE_RISK); //$NON-NLS-1$
/**
- * The "typeArguments" structural property of this node type (element type: {@link Type})
+ * The "typeArguments" structural property of this node type (element type: {@link Type}).
*/
public static final ChildListPropertyDescriptor TYPE_ARGUMENTS_PROPERTY =
internalTypeArgumentsFactory(TypeMethodReference.class);
/**
- * The "name" structural property of this node type (child type: {@link SimpleName}.
+ * The "name" structural property of this node type (child type: {@link SimpleName}).
*/
public static final ChildPropertyDescriptor NAME_PROPERTY =
new ChildPropertyDescriptor(TypeMethodReference.class, "name", SimpleName.class, MANDATORY, NO_CYCLE_RISK); //$NON-NLS-1$
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/rewrite/ImportRewrite.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/rewrite/ImportRewrite.java
index 917c92d..72b898a 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/rewrite/ImportRewrite.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/dom/rewrite/ImportRewrite.java
@@ -143,12 +143,12 @@
private boolean useContextToFilterImplicitImports;
/**
- * Creates a {@link ImportRewrite} from a {@link ICompilationUnit}. If <code>restoreExistingImports</code>
+ * Creates an {@link ImportRewrite} from an {@link ICompilationUnit}. If <code>restoreExistingImports</code>
* is <code>true</code>, all existing imports are kept, and new imports will be inserted at best matching locations. If
* <code>restoreExistingImports</code> is <code>false</code>, the existing imports will be removed and only the
* newly added imports will be created.
* <p>
- * Note that {@link #create(ICompilationUnit, boolean)} is more efficient than this method if an AST for
+ * Note that {@link #create(CompilationUnit, boolean)} is more efficient than this method if an AST for
* the compilation unit is already available.
* </p>
* @param cu the compilation unit to create the imports for
@@ -174,7 +174,7 @@
}
/**
- * Creates a {@link ImportRewrite} from a an AST ({@link CompilationUnit}). The AST has to be created from a
+ * Creates an {@link ImportRewrite} from an AST ({@link CompilationUnit}). The AST has to be created from an
* {@link ICompilationUnit}, that means {@link ASTParser#setSource(ICompilationUnit)} has been used when creating the
* AST. If <code>restoreExistingImports</code> is <code>true</code>, all existing imports are kept, and new imports
* will be inserted at best matching locations. If <code>restoreExistingImports</code> is <code>false</code>, the
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/search/IJavaSearchConstants.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/search/IJavaSearchConstants.java
index aaa20a8..7672a40 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/search/IJavaSearchConstants.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/search/IJavaSearchConstants.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -466,6 +466,17 @@
*/
int IMPLICIT_THIS_REFERENCE = 0x8000000;
+ /**
+ * Return only method reference expressions, e.g. <code>A::foo</code>.
+ * <p>
+ * When this flag is set, only {@link MethodReferenceMatch} matches will be
+ * returned.
+ *</p>
+ * @since 3.10
+ * @category limitTo
+ */
+ int METHOD_REFERENCE_EXPRESSION = 0x10000000;
+
/* Syntactic match modes */
/**
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/search/SearchPattern.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/search/SearchPattern.java
index e0358b9..97fa167 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/search/SearchPattern.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/core/search/SearchPattern.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2012 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -1544,6 +1544,9 @@
* <tr>
* <td>{@link IJavaSearchConstants#IMPLICIT_THIS_REFERENCE IMPLICIT_THIS_REFERENCE}
* <td>Return only field accesses or method invocations without any qualification.
+ * <tr>
+ * <td>{@link IJavaSearchConstants#METHOD_REFERENCE_EXPRESSION METHOD_REFERENCE_EXPRESSION}
+ * <td>Return only method reference expressions (e.g. <code>A :: foo</code>).
* </table>
* </li>
* </ul>
@@ -1721,7 +1724,10 @@
* <tr>
* <td>{@link IJavaSearchConstants#IMPLICIT_THIS_REFERENCE IMPLICIT_THIS_REFERENCE}
* <td>Return only field accesses or method invocations without any qualification.
- * </table>
+* <tr>
+ * <td>{@link IJavaSearchConstants#METHOD_REFERENCE_EXPRESSION METHOD_REFERENCE_EXPRESSION}
+ * <td>Return only method reference expressions (e.g. <code>A :: foo</code>).
+* </table>
* </li>
* </ul>
* @return a search pattern for a Java element or <code>null</code> if the given element is ill-formed
@@ -1830,6 +1836,9 @@
* <tr>
* <td>{@link IJavaSearchConstants#IMPLICIT_THIS_REFERENCE IMPLICIT_THIS_REFERENCE}
* <td>Return only field accesses or method invocations without any qualification.
+ * <tr>
+ * <td>{@link IJavaSearchConstants#METHOD_REFERENCE_EXPRESSION METHOD_REFERENCE_EXPRESSION}
+ * <td>Return only method reference expressions (e.g. <code>A :: foo</code>).
* </table>
* </li>
* </ul>
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine.java
index dbb2f4a..d4eca5b 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/CompletionEngine.java
@@ -2494,8 +2494,13 @@
// When completion is inside lambda body, the fake type cannot be attached to the lambda.
ReferenceContext referenceContext = scope.parent.referenceContext();
- CompletionOnAnnotationOfType fakeType = (CompletionOnAnnotationOfType) (referenceContext instanceof CompletionOnAnnotationOfType ? referenceContext : null);
- if (fakeType != null && fakeType.annotations[0] == annot) {
+ CompletionOnAnnotationOfType fakeType;
+ if (referenceContext instanceof CompletionOnAnnotationOfType) {
+ fakeType = (CompletionOnAnnotationOfType) referenceContext;
+ } else {
+ fakeType = new CompletionOnAnnotationOfType(CompletionParser.FAKE_TYPE_NAME, scope.referenceCompilationUnit().compilationResult, annot);
+ }
+ if (fakeType.annotations[0] == annot) {
// When the completion is inside a method body the annotation cannot be accuratly attached to the correct node by completion recovery.
// So 'targetedElement' is not computed in this case.
if (scope.parent.parent == null || !(scope.parent.parent instanceof MethodScope)) {
@@ -2511,8 +2516,7 @@
setSourceAndTokenRange(type.sourceStart, type.sourceEnd);
if (scope.parent.parent != null &&
- !(scope.parent.parent instanceof MethodScope) &&
- fakeType != null && !fakeType.isParameter) {
+ !(scope.parent.parent instanceof MethodScope) && !fakeType.isParameter) {
if (this.completionToken.length <= Keywords.INTERFACE.length
&& CharOperation.prefixEquals(this.completionToken, Keywords.INTERFACE, false /* ignore case */
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnParameterizedQualifiedTypeReference.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnParameterizedQualifiedTypeReference.java
index 916bf56..7ec8735 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnParameterizedQualifiedTypeReference.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionOnParameterizedQualifiedTypeReference.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2004, 2009 IBM Corporation and others.
+ * Copyright (c) 2004, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -7,6 +7,8 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
+ * Stephan Herrmann - Contribution for
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.codeassist.complete;
@@ -76,13 +78,13 @@
return this.kind == K_CLASS || this.kind == K_INTERFACE;
}
- public TypeBinding resolveType(BlockScope scope, boolean checkBounds) {
- super.resolveType(scope, checkBounds);
+ public TypeBinding resolveType(BlockScope scope, boolean checkBounds, int location) {
+ super.resolveType(scope, checkBounds, location);
throw new CompletionNodeFound(this, this.resolvedType, scope);
}
- public TypeBinding resolveType(ClassScope scope) {
- super.resolveType(scope);
+ public TypeBinding resolveType(ClassScope scope, int location) {
+ super.resolveType(scope, location);
throw new CompletionNodeFound(this, this.resolvedType, scope);
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java
index e183425..14e1deb 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java
@@ -3409,6 +3409,23 @@
this.restartRecovery = true;
} else {
popElement(K_BETWEEN_ANNOTATION_NAME_AND_RPAREN);
+ if (this.expressionPtr >= 0 && this.expressionStack[this.expressionPtr] instanceof CompletionOnMarkerAnnotationName) {
+ Annotation annotation = (Annotation)this.expressionStack[this.expressionPtr];
+ if(this.currentElement != null) {
+ annotationRecoveryCheckPoint(annotation.sourceStart, annotation.declarationSourceEnd);
+ if (this.currentElement instanceof RecoveredAnnotation) {
+ this.currentElement = ((RecoveredAnnotation)this.currentElement).addAnnotation(annotation, this.identifierPtr);
+ }
+ }
+
+ if(!this.statementRecoveryActivated &&
+ this.options.sourceLevel < ClassFileConstants.JDK1_5 &&
+ this.lastErrorEndPositionBeforeRecovery < this.scanner.currentPosition) {
+ problemReporter().invalidUsageOfAnnotation(annotation);
+ }
+ this.recordStringLiterals = true;
+ return;
+ }
super.consumeNormalAnnotation(isTypeAnnotation);
}
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistParser.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistParser.java
index bdc540c..c9127a0 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistParser.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/impl/AssistParser.java
@@ -479,7 +479,7 @@
if (recoveredBlock != null) {
RecoveredStatement recoveredStatement = recoveredBlock.statementCount > 0 ? recoveredBlock.statements[recoveredBlock.statementCount - 1] : null;
ASTNode parseTree = recoveredStatement != null ? recoveredStatement.updatedStatement(0, new HashSet()) : null;
- if (parseTree == assistNodeParent || parseTree == enclosingNode) {
+ if (parseTree != null && (parseTree == assistNodeParent || parseTree == enclosingNode)) {
recoveredBlock.statements[--recoveredBlock.statementCount] = null;
this.currentElement = recoveredBlock;
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnParameterizedQualifiedTypeReference.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnParameterizedQualifiedTypeReference.java
index 7ba4399..b18e7c8 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnParameterizedQualifiedTypeReference.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnParameterizedQualifiedTypeReference.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -7,6 +7,8 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
+ * Stephan Herrmann - Contribution for
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.codeassist.select;
@@ -29,8 +31,8 @@
this.typeArguments[length] = assistTypeArguments;
}
- public TypeBinding resolveType(BlockScope scope, boolean checkBounds) {
- super.resolveType(scope, checkBounds);
+ public TypeBinding resolveType(BlockScope scope, boolean checkBounds, int location) {
+ super.resolveType(scope, checkBounds, location);
//// removed unnecessary code to solve bug 94653
//if(this.resolvedType != null && this.resolvedType.isRawType()) {
// ParameterizedTypeBinding parameterizedTypeBinding = scope.createParameterizedType(((RawTypeBinding)this.resolvedType).type, new TypeBinding[0], this.resolvedType.enclosingType());
@@ -39,8 +41,8 @@
throw new SelectionNodeFound(this.resolvedType);
}
- public TypeBinding resolveType(ClassScope scope) {
- super.resolveType(scope);
+ public TypeBinding resolveType(ClassScope scope, int location) {
+ super.resolveType(scope, location);
//// removed unnecessary code to solve bug 94653
//if(this.resolvedType != null && this.resolvedType.isRawType()) {
// ParameterizedTypeBinding parameterizedTypeBinding = scope.createParameterizedType(((RawTypeBinding)this.resolvedType).type, new TypeBinding[0], this.resolvedType.enclosingType());
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnParameterizedSingleTypeReference.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnParameterizedSingleTypeReference.java
index 82450cc..614deb5 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnParameterizedSingleTypeReference.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/codeassist/select/SelectionOnParameterizedSingleTypeReference.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -7,6 +7,8 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
+ * Stephan Herrmann - Contribution for
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.codeassist.select;
@@ -21,13 +23,13 @@
super(name, typeArguments, 0, pos);
}
- public TypeBinding resolveType(BlockScope scope, boolean checkBounds) {
- super.resolveType(scope, checkBounds);
+ public TypeBinding resolveType(BlockScope scope, boolean checkBounds, int location) {
+ super.resolveType(scope, checkBounds, location);
throw new SelectionNodeFound(this.resolvedType);
}
- public TypeBinding resolveType(ClassScope scope) {
- super.resolveType(scope);
+ public TypeBinding resolveType(ClassScope scope, int location) {
+ super.resolveType(scope, location);
throw new SelectionNodeFound(this.resolvedType);
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ClassFile.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ClassFile.java
index 9303e1a..375ea7a 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ClassFile.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ClassFile.java
@@ -20,6 +20,7 @@
* Bug 415399 - [1.8][compiler] Type annotations on constructor results dropped by the code generator
* Bug 415470 - [1.8][compiler] Type annotations on class declaration go vanishing
* Bug 405104 - [1.8][compiler][codegen] Implement support for serializeable lambdas
+ * Bug 434556 - Broken class file generated for incorrect annotation usage
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler;
@@ -2097,6 +2098,15 @@
startLineIndexes);
}
+ private void completeArgumentAnnotationInfo(Argument[] arguments, List allAnnotationContexts) {
+ for (int i = 0, max = arguments.length; i < max; i++) {
+ Argument argument = arguments[i];
+ if ((argument.bits & ASTNode.HasTypeAnnotations) != 0) {
+ argument.getAllAnnotationContexts(AnnotationTargetTypeConstants.METHOD_FORMAL_PARAMETER, i, allAnnotationContexts);
+ }
+ }
+ }
+
/**
* INTERNAL USE-ONLY
* Complete the creation of a method info by setting up the number of attributes at the right offset.
@@ -2118,12 +2128,7 @@
if ((methodDeclaration.bits & ASTNode.HasTypeAnnotations) != 0) {
Argument[] arguments = methodDeclaration.arguments;
if (arguments != null) {
- for (int i = 0, max = arguments.length; i < max; i++) {
- Argument argument = arguments[i];
- if ((argument.bits & ASTNode.HasTypeAnnotations) != 0) {
- argument.getAllAnnotationContexts(AnnotationTargetTypeConstants.METHOD_FORMAL_PARAMETER, i, allTypeAnnotationContexts);
- }
- }
+ completeArgumentAnnotationInfo(arguments, allTypeAnnotationContexts);
}
Receiver receiver = methodDeclaration.receiver;
if (receiver != null && (receiver.type.bits & ASTNode.HasTypeAnnotations) != 0) {
@@ -2157,6 +2162,12 @@
}
}
}
+ } else if (binding.sourceLambda() != null) { // SyntheticMethodBinding, purpose : LambdaMethod.
+ LambdaExpression lambda = binding.sourceLambda();
+ if ((lambda.bits & ASTNode.HasTypeAnnotations) != 0) {
+ if (lambda.arguments != null)
+ completeArgumentAnnotationInfo(lambda.arguments, allTypeAnnotationContexts);
+ }
}
int size = allTypeAnnotationContexts.size();
if (size != 0) {
@@ -2333,9 +2344,11 @@
NormalAnnotation normalAnnotation = (NormalAnnotation) annotation;
MemberValuePair[] memberValuePairs = normalAnnotation.memberValuePairs;
if (memberValuePairs != null) {
+ int memberValuePairsCount = 0;
+ int memberValuePairsLengthPosition = this.contentsOffset;
+ this.contentsOffset+=2; // leave space to fill in the pair count later
+ int resetPosition = this.contentsOffset;
final int memberValuePairsLength = memberValuePairs.length;
- this.contents[this.contentsOffset++] = (byte) (memberValuePairsLength >> 8);
- this.contents[this.contentsOffset++] = (byte) memberValuePairsLength;
for (int i = 0; i < memberValuePairsLength; i++) {
MemberValuePair memberValuePair = memberValuePairs[i];
if (this.contentsOffset + 2 >= this.contents.length) {
@@ -2346,17 +2359,21 @@
this.contents[this.contentsOffset++] = (byte) elementNameIndex;
MethodBinding methodBinding = memberValuePair.binding;
if (methodBinding == null) {
- this.contentsOffset = startingContentsOffset;
+ this.contentsOffset = resetPosition;
} else {
try {
generateElementValue(memberValuePair.value, methodBinding.returnType, startingContentsOffset);
+ memberValuePairsCount++;
+ resetPosition = this.contentsOffset;
} catch(ClassCastException e) {
- this.contentsOffset = startingContentsOffset;
+ this.contentsOffset = resetPosition;
} catch(ShouldNotImplement e) {
- this.contentsOffset = startingContentsOffset;
+ this.contentsOffset = resetPosition;
}
}
}
+ this.contents[memberValuePairsLengthPosition++] = (byte) (memberValuePairsCount >> 8);
+ this.contents[memberValuePairsLengthPosition++] = (byte) memberValuePairsCount;
} else {
this.contents[this.contentsOffset++] = 0;
this.contents[this.contentsOffset++] = 0;
@@ -2376,8 +2393,14 @@
if (methodBinding == null) {
this.contentsOffset = startingContentsOffset;
} else {
+ int memberValuePairOffset = this.contentsOffset;
try {
- generateElementValue(singleMemberAnnotation.memberValue, methodBinding.returnType, startingContentsOffset);
+ generateElementValue(singleMemberAnnotation.memberValue, methodBinding.returnType, memberValuePairOffset);
+ if (this.contentsOffset == memberValuePairOffset) {
+ // ignore annotation value
+ this.contents[this.contentsOffset++] = 0;
+ this.contents[this.contentsOffset++] = 0;
+ }
} catch(ClassCastException e) {
this.contentsOffset = startingContentsOffset;
} catch(ShouldNotImplement e) {
@@ -3321,6 +3344,11 @@
}
if (this.targetJDK >= ClassFileConstants.JDK1_4) {
AbstractMethodDeclaration methodDeclaration = methodBinding.sourceMethod();
+ if (methodBinding instanceof SyntheticMethodBinding) {
+ SyntheticMethodBinding syntheticMethod = (SyntheticMethodBinding) methodBinding;
+ if (syntheticMethod.purpose == SyntheticMethodBinding.SuperMethodAccess && CharOperation.equals(syntheticMethod.selector, syntheticMethod.targetMethod.selector))
+ methodDeclaration = ((SyntheticMethodBinding)methodBinding).targetMethod.sourceMethod();
+ }
if (methodDeclaration != null) {
Annotation[] annotations = methodDeclaration.annotations;
if (annotations != null) {
@@ -4016,9 +4044,15 @@
}
}
if (targetParameters != Binding.NO_PARAMETERS) {
- for (int i = 0, max = targetParameters.length; i < max; i++) {
- if (methodDeclaration != null && methodDeclaration.arguments != null && methodDeclaration.arguments.length > i && methodDeclaration.arguments[i] != null) {
- Argument argument = methodDeclaration.arguments[i];
+ Argument[] arguments = null;
+ if (methodDeclaration != null && methodDeclaration.arguments != null) {
+ arguments = methodDeclaration.arguments;
+ } else if (binding.sourceLambda() != null) { // SyntheticMethodBinding, purpose : LambdaMethod.
+ arguments = binding.sourceLambda().arguments;
+ }
+ for (int i = 0, max = targetParameters.length, argumentsLength = arguments != null ? arguments.length : 0; i < max; i++) {
+ if (argumentsLength > i && arguments[i] != null) {
+ Argument argument = arguments[i];
length = writeArgumentName(argument.name, argument.binding.modifiers, length);
} else {
length = writeArgumentName(null, ClassFileConstants.AccSynthetic, length);
@@ -5221,6 +5255,9 @@
this.produceAttributes |= ClassFileConstants.ATTR_STACK_MAP_TABLE;
if (this.targetJDK >= ClassFileConstants.JDK1_8) {
this.produceAttributes |= ClassFileConstants.ATTR_TYPE_ANNOTATION;
+ if (options.produceMethodParameters) {
+ this.produceAttributes |= ClassFileConstants.ATTR_METHOD_PARAMETERS;
+ }
}
} else if (this.targetJDK == ClassFileConstants.CLDC_1_1) {
this.targetJDK = ClassFileConstants.JDK1_1; // put back 45.3
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/Compiler.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/Compiler.java
index 6838eaf..a1a553d 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/Compiler.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/Compiler.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -326,7 +326,6 @@
} else {
parsedUnit = this.parser.dietParse(sourceUnit, unitResult);
}
- parsedUnit.bits |= ASTNode.IsImplicitUnit;
// initial type binding creation
this.lookupEnvironment.buildTypeBindings(parsedUnit, accessRestriction);
addCompilationUnit(sourceUnit, parsedUnit);
@@ -827,14 +826,23 @@
int index = 0;
for (int i = bottom; i < top; i++) {
CompilationUnitDeclaration currentUnit = this.unitsToProcess[i];
- if ((currentUnit.bits & ASTNode.IsImplicitUnit) == 0) {
- currentUnits[index++] = currentUnit;
- }
+ currentUnits[index++] = currentUnit;
}
if (index != length) {
System.arraycopy(currentUnits, 0, (currentUnits = new CompilationUnitDeclaration[index]), 0, index);
}
this.annotationProcessorManager.processAnnotations(currentUnits, binaryTypeBindingsTemp, false);
+ // https://bugs.eclipse.org/bugs/show_bug.cgi?id=407841
+ // It is possible that during the #processAnnotations() call, some units in the next batch would have been
+ // brought forward and compiled already. If there are any such, process them for annotations then and there.
+ // This would avoid the complications of marking some units as compiled but not-annotation-processed-yet.
+ if (top < this.totalUnits) {
+ length = this.totalUnits - top; // NOTE: Reuse the same variable, but make sure it's not used after this point
+ CompilationUnitDeclaration[] addedUnits = new CompilationUnitDeclaration[length];
+ System.arraycopy(this.unitsToProcess, top, addedUnits, 0, length);
+ this.annotationProcessorManager.processAnnotations(addedUnits, binaryTypeBindingsTemp, false);
+ this.annotationProcessorStartIndex = top;
+ }
ICompilationUnit[] newUnits = this.annotationProcessorManager.getNewUnits();
newUnitSize = newUnits.length;
ReferenceBinding[] newClassFiles = this.annotationProcessorManager.getNewClassFiles();
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/SourceElementParser.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/SourceElementParser.java
index ba07fed..b39f975 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/SourceElementParser.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/SourceElementParser.java
@@ -751,7 +751,7 @@
ref.sourceEnd = this.intStack[this.intPtr--];
} else {
this.intPtr--; // no need to use this position as it is an array
- ref.sourceEnd = this.endPosition;
+ ref.sourceEnd = this.rBracketPosition;
}
if (this.reportReferenceInfo){
this.requestor.acceptTypeReference(ref.getParameterizedTypeName(), ref.sourceStart, ref.sourceEnd);
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AND_AND_Expression.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AND_AND_Expression.java
index 42fa749..78b760e 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AND_AND_Expression.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AND_AND_Expression.java
@@ -11,6 +11,7 @@
* bug 319201 - [null] no warning when unboxing SingleNameReference causes NPE
* bug 403086 - [compiler][null] include the effect of 'assert' in syntactic null analysis for fields
* bug 403147 - [compiler][null] FUP of bug 400761: consolidate interaction between unboxing, NPE, and deferred checking
+ * Bug 422796 - [compiler][null] boxed boolean reported as potentially null after null test in lazy disjunction
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.ast;
@@ -69,7 +70,7 @@
if ((flowContext.tagBits & FlowContext.INSIDE_NEGATION) != 0)
flowContext.expireNullCheckedFieldInfo();
this.left.checkNPEbyUnboxing(currentScope, flowContext, flowInfo);
- this.right.checkNPEbyUnboxing(currentScope, flowContext, flowInfo);
+ this.right.checkNPEbyUnboxing(currentScope, flowContext, leftInfo.initsWhenTrue());
FlowInfo mergedInfo = FlowInfo.conditional(
rightInfo.safeInitsWhenTrue(),
leftInfo.initsWhenFalse().unconditionalInits().mergedWith(
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ASTNode.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ASTNode.java
index ff6b2be..f6ec9dc 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ASTNode.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ASTNode.java
@@ -28,6 +28,7 @@
* Bug 427483 - [Java 8] Variables in lambdas sometimes can't be resolved
* Bug 428352 - [1.8][compiler] Resolution errors don't always surface
* Bug 427163 - [1.8][null] bogus error "Contradictory null specification" on varags
+ * Bug 432348 - [1.8] Internal compiler error (NPE) after upgrade to 1.8
* Jesper S Moller - Contributions for
* bug 382721 - [1.8][compiler] Effectively final variables needs special treatment
* bug 412153 - [1.8][compiler] Check validity of annotations which may be repeatable
@@ -977,7 +978,7 @@
}
}
if (copySE8AnnotationsToType)
- copySE8AnnotationsToType(scope, recipient, sourceAnnotations);
+ copySE8AnnotationsToType(scope, recipient, sourceAnnotations, true);
return annotations;
}
@@ -1003,7 +1004,7 @@
}
// When SE8 annotations feature in SE7 locations, they get attributed to the declared entity. Copy/move these to the type of the declared entity (field, local, argument etc.)
- public static void copySE8AnnotationsToType(BlockScope scope, Binding recipient, Annotation[] annotations) {
+ public static void copySE8AnnotationsToType(BlockScope scope, Binding recipient, Annotation[] annotations, boolean isLegalLocation) {
if (annotations == null || annotations.length == 0 || recipient == null)
return;
@@ -1027,12 +1028,15 @@
int se8count = 0;
long se8nullBits = 0;
Annotation se8NullAnnotation = null;
+ int firstSE8 = -1, lastSE8 = 0;
for (int i = 0, length = annotations.length; i < length; i++) {
AnnotationBinding annotation = annotations[i].getCompilerAnnotation();
if (annotation == null) continue;
final ReferenceBinding annotationType = annotation.getAnnotationType();
long metaTagBits = annotationType.getAnnotationTagBits();
if ((metaTagBits & TagBits.AnnotationForTypeUse) != 0) {
+ if (firstSE8 == -1) firstSE8 = i;
+ lastSE8 = i;
if (se8Annotations == null) {
se8Annotations = new AnnotationBinding[] { annotation };
se8count = 1;
@@ -1050,6 +1054,10 @@
}
}
if (se8Annotations != null) {
+ if (!isLegalLocation) {
+ scope.problemReporter().misplacedTypeAnnotations(annotations[firstSE8], annotations[lastSE8]);
+ return;
+ }
switch (recipient.kind()) {
case Binding.LOCAL:
LocalVariableBinding local = (LocalVariableBinding) recipient;
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AllocationExpression.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AllocationExpression.java
index 7e5dedb..397789b 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AllocationExpression.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/AllocationExpression.java
@@ -36,6 +36,7 @@
* Bug 428352 - [1.8][compiler] Resolution errors don't always surface
* Bug 429203 - [1.8][compiler] NPE in AllocationExpression.binding
* Bug 429430 - [1.8] Lambdas and method reference infer wrong exception type with generics (RuntimeException instead of IOException)
+ * Bug 434297 - [1.8] NPE in LamdaExpression.analyseCode with lamda expression nested in a conditional expression
* Jesper S Moller <jesper@selskabet.org> - Contributions for
* bug 378674 - "The method can be declared as static" is wrong
* Andy Clement (GoPivotal, Inc) aclement@gopivotal.com - Contributions for
@@ -619,6 +620,7 @@
if ((scope.problemReporter().computeSeverity(IProblem.RedundantSpecificationOfTypeArguments) == ProblemSeverities.Ignore) || scope.compilerOptions().sourceLevel < ClassFileConstants.JDK1_7) return;
if (allocationType.arguments == null) return; // raw binding
if (this.genericTypeArguments != null) return; // diamond can't occur with explicit type args for constructor
+ if (this.type == null) return;
if (argumentTypes == Binding.NO_PARAMETERS && this.typeExpected instanceof ParameterizedTypeBinding) {
ParameterizedTypeBinding expected = (ParameterizedTypeBinding) this.typeExpected;
if (expected.arguments != null && allocationType.arguments.length == expected.arguments.length) {
@@ -741,11 +743,21 @@
return this.binding;
}
public TypeBinding checkAgainstFinalTargetType(TypeBinding targetType, Scope scope) {
+ // confer MessageSend.checkAgainstFinalTargetType(,,):
+ if (this.binding instanceof ParameterizedGenericMethodBinding) {
+ InferenceContext18 ctx = getInferenceContext((ParameterizedMethodBinding) this.binding);
+ if (ctx != null && ctx.stepCompleted < InferenceContext18.TYPE_INFERRED) {
+ this.typeExpected = targetType;
+ MethodBinding updatedBinding = ctx.inferInvocationType(this, (ParameterizedGenericMethodBinding) this.binding);
+ if (updateBindings(updatedBinding, targetType)) {
+ ASTNode.resolvePolyExpressionArguments(this, updatedBinding, scope);
+ }
+ }
+ }
if (this.suspendedResolutionState != null) {
return resolvePart3(this.suspendedResolutionState);
- // also: should this trigger any propagation to inners, too?
}
- return super.checkAgainstFinalTargetType(targetType, scope);
+ return this.resolvedType;
}
public Expression[] arguments() {
return this.arguments;
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Annotation.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Annotation.java
index 8906f8f..2c57407 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Annotation.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Annotation.java
@@ -18,6 +18,7 @@
* Bug 417295 - [1.8[[null] Massage type annotated null analysis to gel well with deep encoded type bindings.
* Bug 424728 - [1.8][null] Unexpected error: The nullness annotation 'XXXX' is not applicable at this location
* Bug 392245 - [1.8][compiler][null] Define whether / how @NonNullByDefault applies to TYPE_USE locations
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
* Andy Clement (GoPivotal, Inc) aclement@gopivotal.com - Contributions for
* Bug 383624 - [1.8][compiler] Revive code generation support for type annotations (from Olivier's work)
* Bug 409517 - [1.8][compiler] Type annotation problems on more elaborate array references
@@ -36,6 +37,7 @@
import org.aspectj.org.eclipse.jdt.core.compiler.CharOperation;
import org.aspectj.org.eclipse.jdt.internal.compiler.ASTVisitor;
import org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants;
+import org.aspectj.org.eclipse.jdt.internal.compiler.env.EnumConstantSignature;
import org.aspectj.org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
import org.aspectj.org.eclipse.jdt.internal.compiler.impl.Constant;
import org.aspectj.org.eclipse.jdt.internal.compiler.impl.IrritantSet;
@@ -304,7 +306,8 @@
}
/**
- * Compute the bit pattern for recognized standard annotations the compiler may need to act upon
+ * Compute the bit pattern for recognized standard annotations the compiler may need to act upon.
+ * The lower bits (Binding.NullnessDefaultMASK) do not belong in tagBits, but in defaultNullness.
*/
private long detectStandardAnnotation(Scope scope, ReferenceBinding annotationType, MemberValuePair valueAttribute) {
long tagBits = 0;
@@ -390,28 +393,98 @@
tagBits |= TagBits.AnnotationNonNull;
break;
case TypeIds.T_ConfiguredAnnotationNonNullByDefault :
+ // seeing this id implies that null annotation analysis is enabled
+ Object value = null;
if (valueAttribute != null) {
if (valueAttribute.value instanceof FalseLiteral) {
// parameter 'false' means: this annotation cancels any defaults
tagBits |= TagBits.AnnotationNullUnspecifiedByDefault;
break;
} else if (valueAttribute.compilerElementPair != null) {
- Object value = valueAttribute.compilerElementPair.value;
- if (value instanceof Object[] && ((Object[])value).length == 0) {
- // empty parameter means: this annotation cancels any defaults
- tagBits |= TagBits.AnnotationNullUnspecifiedByDefault;
- break;
- } else {
- scope.problemReporter().nonNullDefaultDetailNotEvaluated(valueAttribute);
- }
+ value = valueAttribute.compilerElementPair.value;
+ }
+ } else if (scope.compilerOptions().sourceLevel >= ClassFileConstants.JDK1_8) { // fetch default value - TODO: cache it?
+ MethodBinding[] methods = annotationType.methods();
+ if (methods != null && methods.length == 1) {
+ Object defaultValue = methods[0].getDefaultValue();
+ if (defaultValue instanceof Object[])
+ value = defaultValue;
}
}
- tagBits |= TagBits.AnnotationNonNullByDefault;
+ if (value != null) {
+ tagBits |= nullTagBitsFromAnnotationValue(value);
+ } else {
+ // neither explicit value, nor default value from DefaultLocation (1.8)
+ tagBits |= TagBits.AnnotationNonNullByDefault;
+ }
break;
}
return tagBits;
}
+ /**
+ * Convert the value() attribute of @NonNullByDefault into a bitvector a la {@link Binding#NullnessDefaultMASK}.
+ * This method understands value encodings from source and binary types.
+ *
+ * <b>pre:</b> null annotation analysis is enabled
+ */
+ public static int nullTagBitsFromAnnotationValue(Object value) {
+ if (value instanceof Object[]) {
+ if (((Object[]) value).length == 0) {
+ return Binding.NULL_UNSPECIFIED_BY_DEFAULT;
+ } else {
+ int bits = 0;
+ for (Object single : (Object[])value)
+ bits |= evaluateDefaultNullnessLocation(single);
+ return bits;
+ }
+ } else {
+ return evaluateDefaultNullnessLocation(value);
+ }
+ }
+
+ private static int evaluateDefaultNullnessLocation(Object value) {
+ char[] name = null;
+ if (value instanceof FieldBinding) {
+ name = ((FieldBinding) value).name;
+ } else if (value instanceof EnumConstantSignature) {
+ name = ((EnumConstantSignature) value).getEnumConstantName();
+ } else if (value instanceof ElementValuePair.UnresolvedEnumConstant) {
+ name = ((ElementValuePair.UnresolvedEnumConstant) value).getEnumConstantName();
+ }
+ if (name != null) {
+ switch (name.length) {
+ case 5:
+ if (CharOperation.equals(name, TypeConstants.DEFAULT_LOCATION__FIELD))
+ return Binding.DefaultLocationField;
+ break;
+ case 9:
+ if (CharOperation.equals(name, TypeConstants.DEFAULT_LOCATION__PARAMETER))
+ return Binding.DefaultLocationParameter;
+ break;
+ case 10:
+ if (CharOperation.equals(name, TypeConstants.DEFAULT_LOCATION__TYPE_BOUND))
+ return Binding.DefaultLocationTypeBound;
+ break;
+ case 11:
+ if (CharOperation.equals(name, TypeConstants.DEFAULT_LOCATION__RETURN_TYPE))
+ return Binding.DefaultLocationReturnType;
+ break;
+ case 13 :
+ if (CharOperation.equals(name, TypeConstants.DEFAULT_LOCATION__TYPE_ARGUMENT))
+ return Binding.DefaultLocationTypeArgument;
+ break;
+ case 14 :
+ if (CharOperation.equals(name, TypeConstants.DEFAULT_LOCATION__TYPE_PARAMETER))
+ return Binding.DefaultLocationTypeParameter;
+ if (CharOperation.equals(name, TypeConstants.DEFAULT_LOCATION__ARRAY_CONTENTS))
+ return Binding.DefaultLocationArrayContents;
+ break;
+ }
+ }
+ return 0;
+ }
+
static String getRetentionName(long tagBits) {
if ((tagBits & TagBits.AnnotationRuntimeRetention) == TagBits.AnnotationRuntimeRetention) {
// TagBits.AnnotationRuntimeRetention combines both TagBits.AnnotationClassRetention & TagBits.AnnotationSourceRetention
@@ -518,6 +591,12 @@
StringBuffer targetBuffer = new StringBuffer();
void check(long targetMask, char[] targetName) {
if ((containerAnnotationTypeTargets & targetMask & ~targets) != 0) {
+ // if targetMask equals TagBits.AnnotationForType implies
+ // TagBits.AnnotationForType is part of containerAnnotationTypeTargets
+ if (targetMask == TagBits.AnnotationForType &&
+ (targets & TagBits.AnnotationForTypeUse) != 0) {
+ return;
+ }
add(targetName);
}
}
@@ -793,12 +872,14 @@
this.compilerAnnotation = scope.environment().createAnnotation((ReferenceBinding) this.resolvedType, computeElementValuePairs());
// recognize standard annotations ?
long tagBits = detectStandardAnnotation(scope, annotationType, valueAttribute);
+ int defaultNullness = (int)(tagBits & Binding.NullnessDefaultMASK);
+ tagBits &= ~Binding.NullnessDefaultMASK;
// record annotation positions in the compilation result
scope.referenceCompilationUnit().recordSuppressWarnings(IrritantSet.NLS, null, this.sourceStart, this.declarationSourceEnd);
if (this.recipient != null) {
int kind = this.recipient.kind();
- if (tagBits != 0) {
+ if (tagBits != 0 || defaultNullness != 0) {
// tag bits onto recipient
switch (kind) {
case Binding.PACKAGE :
@@ -819,6 +900,7 @@
}
recordSuppressWarnings(scope, start, typeDeclaration.declarationSourceEnd, scope.compilerOptions().suppressWarnings);
}
+ sourceType.defaultNullness |= defaultNullness;
break;
case Binding.METHOD :
MethodBinding sourceMethod = (MethodBinding) this.recipient;
@@ -839,6 +921,7 @@
// for declaration annotations the inapplicability will be reported below
sourceMethod.tagBits &= ~TagBits.AnnotationNullMASK;
}
+ sourceMethod.defaultNullness |= defaultNullness;
break;
case Binding.FIELD :
FieldBinding sourceField = (FieldBinding) this.recipient;
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayQualifiedTypeReference.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayQualifiedTypeReference.java
index 9f990ce..588bd31 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayQualifiedTypeReference.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayQualifiedTypeReference.java
@@ -7,6 +7,8 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
+ * Stephan Herrmann - Contribution for
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.ast;
@@ -101,8 +103,8 @@
}
}
- protected TypeBinding internalResolveType(Scope scope) {
- TypeBinding internalResolveType = super.internalResolveType(scope);
+ protected TypeBinding internalResolveType(Scope scope, int location) {
+ TypeBinding internalResolveType = super.internalResolveType(scope, location);
return internalResolveType;
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayTypeReference.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayTypeReference.java
index ae1bdc2..129ccd1 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayTypeReference.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ArrayTypeReference.java
@@ -7,6 +7,8 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
+ * Stephan Herrmann - Contribution for
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.ast;
@@ -173,8 +175,8 @@
visitor.endVisit(this, scope);
}
- protected TypeBinding internalResolveType(Scope scope) {
- TypeBinding internalResolveType = super.internalResolveType(scope);
+ protected TypeBinding internalResolveType(Scope scope, int location) {
+ TypeBinding internalResolveType = super.internalResolveType(scope, location);
return internalResolveType;
}
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CastExpression.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CastExpression.java
index 3fa4ee9..ffaa51e 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CastExpression.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/CastExpression.java
@@ -20,6 +20,7 @@
* Bug 392099 - [1.8][compiler][null] Apply null annotation on types for null analysis
* Bug 400874 - [1.8][compiler] Inference infrastructure should evolve to meet JLS8 18.x (Part G of JSR335 spec)
* Bug 427438 - [1.8][compiler] NPE at org.aspectj.org.eclipse.jdt.internal.compiler.ast.ConditionalExpression.generateCode(ConditionalExpression.java:280)
+ * Bug 430150 - [1.8][null] stricter checking against type variables
* Andy Clement (GoPivotal, Inc) aclement@gopivotal.com - Contributions for
* Bug 415541 - [1.8][compiler] Type annotations in the body of static initializer get dropped
*******************************************************************************/
@@ -549,7 +550,8 @@
if (castType != null) {
if (expressionType != null) {
- boolean nullAnnotationMismatch = NullAnnotationMatching.analyse(castType, expressionType, -1).isAnyMismatch();
+ boolean nullAnnotationMismatch = scope.compilerOptions().isAnnotationBasedNullAnalysisEnabled
+ && NullAnnotationMatching.analyse(castType, expressionType, -1).isAnyMismatch();
boolean isLegal = checkCastTypesCompatibility(scope, castType, expressionType, this.expression);
if (isLegal) {
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ConditionalExpression.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ConditionalExpression.java
index 7fa2ef7..6122965 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ConditionalExpression.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ConditionalExpression.java
@@ -464,6 +464,12 @@
if (this.valueIfFalse instanceof CastExpression) this.valueIfFalse.bits |= DisableUnnecessaryCastCheck; // will check later on
this.originalValueIfFalseType = this.valueIfFalse.resolveType(scope);
+ if (isPolyExpression()) {
+ if (this.expectedType == null) {
+ this.polyExpressionScope = scope; // preserve for eventual resolution/error reporting.
+ }
+ }
+
if (conditionType == null || this.originalValueIfTrueType == null || this.originalValueIfFalseType == null)
return null;
} else {
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Expression.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Expression.java
index 353916f..2c5c630 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Expression.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Expression.java
@@ -378,8 +378,10 @@
if (match != null) {
return checkUnsafeCast(scope, castType, expressionType, match, false);
}
+ TypeBinding bound = ((WildcardBinding)expressionType).bound;
+ if (bound == null) bound = scope.getJavaLangObject();
// recursively on the type variable upper bound
- return checkCastTypesCompatibility(scope, castType, ((WildcardBinding)expressionType).bound, expression);
+ return checkCastTypesCompatibility(scope, castType, bound, expression);
case Binding.INTERSECTION_CAST_TYPE:
ReferenceBinding [] intersectingTypes = expressionType.getIntersectingTypes();
for (int i = 0, length = intersectingTypes.length; i < length; i++) {
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FunctionalExpression.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FunctionalExpression.java
index 51d3874..0f379d6 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FunctionalExpression.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/FunctionalExpression.java
@@ -319,7 +319,8 @@
!MethodVerifier.areReturnTypesCompatible(this.method, inheritedMethod, this.environment))
continue;
final MethodBinding originalInherited = inheritedMethod.original();
- if (!this.method.areParameterErasuresEqual(originalInherited) || TypeBinding.notEquals(this.method.returnType.erasure(), originalInherited.returnType.erasure()))
+ final MethodBinding originalOverride = this.method.original();
+ if (!originalOverride.areParameterErasuresEqual(originalInherited) || TypeBinding.notEquals(originalOverride.returnType.erasure(), originalInherited.returnType.erasure()))
add(originalInherited);
}
collectBridges(superInterface.superInterfaces());
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/IntersectionCastTypeReference.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/IntersectionCastTypeReference.java
index 90911f1..18d1766 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/IntersectionCastTypeReference.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/IntersectionCastTypeReference.java
@@ -7,6 +7,8 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
+ * Stephan Herrmann - Contribution for
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
* Andy Clement (GoPivotal, Inc) aclement@gopivotal.com - Contributions for
* Bug 409236 - [1.8][compiler] Type annotations on intersection cast types dropped by code generator
*******************************************************************************/
@@ -66,7 +68,7 @@
/* (non-Javadoc)
* @see org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeReference#getTypeBinding(org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Scope)
*/
- public TypeBinding resolveType(BlockScope scope, boolean checkBounds) {
+ public TypeBinding resolveType(BlockScope scope, boolean checkBounds, int location) {
int length = this.typeReferences.length;
ReferenceBinding[] intersectingTypes = new ReferenceBinding[length];
@@ -76,7 +78,7 @@
nextType:
for (int i = 0; i < length; i++) {
final TypeReference typeReference = this.typeReferences[i];
- TypeBinding type = typeReference.resolveType(scope, checkBounds);
+ TypeBinding type = typeReference.resolveType(scope, checkBounds, location);
if (type == null || ((type.tagBits & TagBits.HasMissingType) != 0)) {
hasError = true;
continue;
@@ -196,4 +198,4 @@
}
return output;
}
-}
\ No newline at end of file
+}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Javadoc.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Javadoc.java
index 47e8da9..e8bdeaf 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Javadoc.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Javadoc.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -9,6 +9,7 @@
* IBM Corporation - initial API and implementation
* Stephan Herrmann - Contribution for
* Bug 400874 - [1.8][compiler] Inference infrastructure should evolve to meet JLS8 18.x (Part G of JSR335 spec)
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.ast;
@@ -610,7 +611,7 @@
// Scan all @param tags
for (int i = 0; i < paramTypeParamLength; i++) {
JavadocSingleTypeReference param = this.paramTypeParameters[i];
- TypeBinding paramBindind = param.internalResolveType(scope);
+ TypeBinding paramBindind = param.internalResolveType(scope, 0);
if (paramBindind != null && paramBindind.isValidBinding()) {
if (paramBindind.isTypeVariable()) {
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=397888
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocImplicitTypeReference.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocImplicitTypeReference.java
index 8e04e98..5db2571 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocImplicitTypeReference.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocImplicitTypeReference.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2012 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -7,6 +7,8 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
+ * Stephan Herrmann - Contribution for
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.ast;
@@ -59,7 +61,7 @@
* Resolves type on a Block, Class or CompilationUnit scope.
* We need to modify resoling behavior to avoid raw type creation.
*/
- protected TypeBinding internalResolveType(Scope scope) {
+ protected TypeBinding internalResolveType(Scope scope, int location) {
// handle the error here
this.constant = Constant.NotAConstant;
if (this.resolvedType != null) { // is a shared type reference which was already resolved
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocQualifiedTypeReference.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocQualifiedTypeReference.java
index f54670b..c1be056 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocQualifiedTypeReference.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocQualifiedTypeReference.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -7,6 +7,8 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
+ * Stephan Herrmann - Contribution for
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.ast;
@@ -74,11 +76,11 @@
protected void reportInvalidType(Scope scope) {
scope.problemReporter().javadocInvalidType(this, this.resolvedType, scope.getDeclarationModifiers());
}
- public TypeBinding resolveType(BlockScope blockScope, boolean checkBounds) {
+ public TypeBinding resolveType(BlockScope blockScope, boolean checkBounds, int location) {
return internalResolveType(blockScope, checkBounds);
}
- public TypeBinding resolveType(ClassScope classScope) {
+ public TypeBinding resolveType(ClassScope classScope, int location) {
return internalResolveType(classScope, false);
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocSingleTypeReference.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocSingleTypeReference.java
index e2369bd..7c1fa05 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocSingleTypeReference.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/JavadocSingleTypeReference.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -7,6 +7,8 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
+ * Stephan Herrmann - Contribution for
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.ast;
@@ -36,7 +38,7 @@
/*
* We need to modify resolving behavior to handle package references
*/
- protected TypeBinding internalResolveType(Scope scope) {
+ protected TypeBinding internalResolveType(Scope scope, int location) {
// handle the error here
this.constant = Constant.NotAConstant;
if (this.resolvedType != null) { // is a shared type reference which was already resolved
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LambdaExpression.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LambdaExpression.java
index e69f3a7..e7d386a 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LambdaExpression.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LambdaExpression.java
@@ -30,6 +30,7 @@
* Bug 428786 - [1.8][compiler] Inference needs to compute the "ground target type" when reducing a lambda compatibility constraint
* Bug 428980 - [1.8][null] simple expression as lambda body doesn't leverage null annotation on argument
* Bug 429430 - [1.8] Lambdas and method reference infer wrong exception type with generics (RuntimeException instead of IOException)
+ * Bug 432110 - [1.8][compiler] nested lambda type incorrectly inferred vs javac
* Andy Clement (GoPivotal, Inc) aclement@gopivotal.com - Contributions for
* Bug 405104 - [1.8][compiler][codegen] Implement support for serializeable lambdas
*******************************************************************************/
@@ -602,6 +603,10 @@
}
public StringBuffer printExpression(int tab, StringBuffer output) {
+ return printExpression(tab, output, false);
+ }
+
+ public StringBuffer printExpression(int tab, StringBuffer output, boolean makeShort) {
int parenthesesCount = (this.bits & ASTNode.ParenthesizedMASK) >> ASTNode.ParenthesizedSHIFT;
String suffix = ""; //$NON-NLS-1$
for(int i = 0; i < parenthesesCount; i++) {
@@ -616,10 +621,14 @@
}
}
output.append(") -> " ); //$NON-NLS-1$
- if (this.body != null)
- this.body.print(this.body instanceof Block ? tab : 0, output);
- else
- output.append("<@incubator>"); //$NON-NLS-1$
+ if (makeShort) {
+ output.append("{}"); //$NON-NLS-1$
+ } else {
+ if (this.body != null)
+ this.body.print(this.body instanceof Block ? tab : 0, output);
+ else
+ output.append("<@incubator>"); //$NON-NLS-1$
+ }
return output.append(suffix);
}
@@ -836,6 +845,8 @@
if (this.body instanceof Block) {
if (copy.returnsVoid) {
copy.shapeAnalysisComplete = true;
+ } else {
+ copy.valueCompatible = this.returnsValue;
}
} else {
copy.voidCompatible = ((Expression) this.body).statementExpression();
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LocalDeclaration.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LocalDeclaration.java
index 1b7a88b..852d39d 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LocalDeclaration.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LocalDeclaration.java
@@ -24,6 +24,7 @@
* Bug 392238 - [1.8][compiler][null] Detect semantically invalid null type annotations
* Bug 392099 - [1.8][compiler][null] Apply null annotation on types for null analysis
* Bug 427438 - [1.8][compiler] NPE at org.aspectj.org.eclipse.jdt.internal.compiler.ast.ConditionalExpression.generateCode(ConditionalExpression.java:280)
+ * Bug 430150 - [1.8][null] stricter checking against type variables
* Jesper S Moller - Contributions for
* Bug 378674 - "The method can be declared as static" is wrong
* Andy Clement (GoPivotal, Inc) aclement@gopivotal.com - Contributions for
@@ -98,7 +99,9 @@
this.bits &= ~FirstAssignmentToLocal; // int i = (i = 0);
}
flowInfo.markAsDefinitelyAssigned(this.binding);
- nullStatus = NullAnnotationMatching.checkAssignment(currentScope, flowContext, this.binding, nullStatus, this.initialization, this.initialization.resolvedType);
+ if (currentScope.compilerOptions().isAnnotationBasedNullAnalysisEnabled) {
+ nullStatus = NullAnnotationMatching.checkAssignment(currentScope, flowContext, this.binding, nullStatus, this.initialization, this.initialization.resolvedType);
+ }
if ((this.binding.type.tagBits & TagBits.IsBaseType) == 0) {
flowInfo.markNullStatus(this.binding, nullStatus);
// no need to inform enclosing try block since its locals won't get
@@ -147,7 +150,7 @@
// if binding unused generate then discard the value
this.initialization.generateCode(currentScope, codeStream, true); // AspectJ: final param needs to be true (was false)
// new code:
- if ((binding.type == TypeBinding.LONG) || (binding.type == TypeBinding.DOUBLE)) {
+ if (TypeBinding.equalsEquals(this.binding.type,TypeBinding.LONG) || TypeBinding.equalsEquals(this.binding.type,TypeBinding.DOUBLE)) {
codeStream.pop2();
} else {
codeStream.pop();
@@ -219,7 +222,7 @@
Binding existingVariable = scope.getBinding(this.name, Binding.VARIABLE, this, false /*do not resolve hidden field*/);
if (existingVariable != null && existingVariable.isValidBinding()){
boolean localExists = existingVariable instanceof LocalVariableBinding;
- if (localExists && (this.bits & ASTNode.ShadowsOuterLocal) != 0 && scope.isLambdaSubscope()) {
+ if (localExists && (this.bits & ASTNode.ShadowsOuterLocal) != 0 && scope.isLambdaSubscope() && this.hiddenVariableDepth == 0) {
scope.problemReporter().lambdaRedeclaresLocal(this);
} else if (localExists && this.hiddenVariableDepth == 0) {
scope.problemReporter().redefineLocal(this);
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MemberValuePair.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MemberValuePair.java
index 05124ae..0b8f865 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MemberValuePair.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/MemberValuePair.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -10,6 +10,7 @@
* Stephan Herrmann - Contributions for
* bug 186342 - [compiler][null] Using annotations for null checking
* bug 365519 - editorial cleanup after bug 186342 and bug 365387
+ * Bug 434570 - Generic type mismatch for parametrized class annotation attribute with inner class
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.ast;
@@ -58,7 +59,7 @@
return output;
}
- public void resolveTypeExpecting(BlockScope scope, TypeBinding requiredType) {
+ public void resolveTypeExpecting(final BlockScope scope, final TypeBinding requiredType) {
if (this.value == null) {
this.compilerElementPair = new ElementValuePair(this.name, this.value, this.binding);
@@ -76,7 +77,7 @@
}
this.value.setExpectedType(requiredType); // needed in case of generic method invocation - looks suspect, generic method invocation here ???
- TypeBinding valueType;
+ final TypeBinding valueType;
if (this.value instanceof ArrayInitializer) {
ArrayInitializer initializer = (ArrayInitializer) this.value;
valueType = initializer.resolveTypeExpecting(scope, this.binding.returnType);
@@ -101,25 +102,38 @@
if (valueType == null)
return;
- TypeBinding leafType = requiredType.leafComponentType();
- if (!(this.value.isConstantValueOfTypeAssignableToType(valueType, requiredType)
- || valueType.isCompatibleWith(requiredType))) {
-
- if (!(requiredType.isArrayType()
- && requiredType.dimensions() == 1
- && (this.value.isConstantValueOfTypeAssignableToType(valueType, leafType)
- || valueType.isCompatibleWith(leafType)))) {
-
- if (leafType.isAnnotationType() && !valueType.isAnnotationType()) {
- scope.problemReporter().annotationValueMustBeAnnotation(this.binding.declaringClass, this.name, this.value, leafType);
+ final TypeBinding leafType = requiredType.leafComponentType();
+ // the next check may need deferring:
+ final boolean[] shouldExit = new boolean[1];
+ Runnable check = new Runnable() {
+ @Override
+ public void run() {
+ if (!(MemberValuePair.this.value.isConstantValueOfTypeAssignableToType(valueType, requiredType)
+ || valueType.isCompatibleWith(requiredType))) {
+ if (!(requiredType.isArrayType()
+ && requiredType.dimensions() == 1
+ && (MemberValuePair.this.value.isConstantValueOfTypeAssignableToType(valueType, leafType)
+ || valueType.isCompatibleWith(leafType)))) {
+
+ if (leafType.isAnnotationType() && !valueType.isAnnotationType()) {
+ scope.problemReporter().annotationValueMustBeAnnotation(MemberValuePair.this.binding.declaringClass,
+ MemberValuePair.this.name, MemberValuePair.this.value, leafType);
+ } else {
+ scope.problemReporter().typeMismatchError(valueType, requiredType, MemberValuePair.this.value, null);
+ }
+ shouldExit[0] = true; // TODO may allow to proceed to find more errors at once
+ }
} else {
- scope.problemReporter().typeMismatchError(valueType, requiredType, this.value, null);
+ scope.compilationUnitScope().recordTypeConversion(requiredType.leafComponentType(), valueType.leafComponentType());
+ MemberValuePair.this.value.computeConversion(scope, requiredType, valueType);
}
- return; // may allow to proceed to find more errors at once
}
- } else {
- scope.compilationUnitScope().recordTypeConversion(requiredType.leafComponentType(), valueType.leafComponentType());
- this.value.computeConversion(scope, requiredType, valueType);
+ };
+ // ... now or later?
+ if (!scope.deferCheck(check)) {
+ check.run();
+ if (shouldExit[0])
+ return;
}
// annotation methods can only return base types, String, Class, enum type, annotation types and arrays of these
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching.java
index 5015992..6b954e2 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching.java
@@ -15,6 +15,7 @@
import org.aspectj.org.eclipse.jdt.internal.compiler.flow.FlowInfo;
import org.aspectj.org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ArrayBinding;
+import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BlockScope;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.CaptureBinding;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.InvocationSite;
@@ -40,19 +41,22 @@
*/
public class NullAnnotationMatching {
- public static final NullAnnotationMatching NULL_ANNOTATIONS_OK = new NullAnnotationMatching(0, null);
- public static final NullAnnotationMatching NULL_ANNOTATIONS_UNCHECKED = new NullAnnotationMatching(1, null);
- public static final NullAnnotationMatching NULL_ANNOTATIONS_MISMATCH = new NullAnnotationMatching(2, null);
+ public static final NullAnnotationMatching NULL_ANNOTATIONS_OK = new NullAnnotationMatching(0, FlowInfo.UNKNOWN, null);
+ public static final NullAnnotationMatching NULL_ANNOTATIONS_OK_NONNULL = new NullAnnotationMatching(0, FlowInfo.NON_NULL, null);
+ public static final NullAnnotationMatching NULL_ANNOTATIONS_UNCHECKED = new NullAnnotationMatching(1, FlowInfo.UNKNOWN, null);
+ public static final NullAnnotationMatching NULL_ANNOTATIONS_MISMATCH = new NullAnnotationMatching(2, FlowInfo.UNKNOWN, null);
/** 0 = OK, 1 = unchecked, 2 = definite mismatch */
public final int severity;
/** If non-null this field holds the supertype of the provided type which was used for direct matching. */
public final TypeBinding superTypeHint;
+ public final int nullStatus;
- public NullAnnotationMatching(int severity, TypeBinding superTypeHint) {
+ public NullAnnotationMatching(int severity, int nullStatus, TypeBinding superTypeHint) {
this.severity = severity;
this.superTypeHint = superTypeHint;
+ this.nullStatus = nullStatus;
}
public boolean isAnyMismatch() { return this.severity != 0; }
@@ -89,6 +93,8 @@
} else if (annotationStatus.isUnchecked()) {
flowContext.recordNullityMismatch(currentScope, expression, providedType, var.type, nullStatus);
hasReported = true;
+ } else if (annotationStatus.nullStatus != FlowInfo.UNKNOWN) {
+ return annotationStatus.nullStatus;
}
}
if (lhsTagBits == TagBits.AnnotationNonNull && nullStatus != FlowInfo.NON_NULL) {
@@ -109,12 +115,24 @@
* @return a status object representing the severity of mismatching plus optionally a supertype hint
*/
public static NullAnnotationMatching analyse(TypeBinding requiredType, TypeBinding providedType, int nullStatus) {
- return analyse(requiredType, providedType, nullStatus, false);
+ return analyse(requiredType, providedType, null, nullStatus, false);
}
- // additional parameter strict: if true we do not tolerate incompatibly missing annotations on type parameters (for overriding analysis)
- public static NullAnnotationMatching analyse(TypeBinding requiredType, TypeBinding providedType, int nullStatus, boolean strict) {
+ /**
+ * Find any mismatches between the two given types, which are caused by null type annotations.
+ * @param requiredType
+ * @param providedType
+ * @param providedSubstitute in inheritance situations this maps the providedType into the realm of the subclass, needed for TVB identity checks.
+ * Pass null if not interested in these added checks.
+ * @param nullStatus we are only interested in NULL or NON_NULL, -1 indicates that we are in a recursion, where flow info is ignored
+ * @param strict if true we do not tolerate incompatibly missing annotations on type parameters (for overriding analysis)
+ * @return a status object representing the severity of mismatching plus optionally a supertype hint
+ */
+ public static NullAnnotationMatching analyse(TypeBinding requiredType, TypeBinding providedType, TypeBinding providedSubstitute, int nullStatus, boolean strict) {
int severity = 0;
TypeBinding superTypeHint = null;
+ NullAnnotationMatching okStatus = NullAnnotationMatching.NULL_ANNOTATIONS_OK;
+ if (areSameTypes(requiredType, providedType, providedSubstitute)) // for type variable identity (and as shortcut for others)
+ return okStatus;
if (requiredType instanceof ArrayBinding) {
long[] requiredDimsTagBits = ((ArrayBinding)requiredType).nullTagBitsPerDimension;
if (requiredDimsTagBits != null) {
@@ -139,13 +157,15 @@
return NullAnnotationMatching.NULL_ANNOTATIONS_MISMATCH;
}
}
- } else if (requiredType.hasNullTypeAnnotations() || providedType.hasNullTypeAnnotations()) {
+ } else if (requiredType.hasNullTypeAnnotations() || providedType.hasNullTypeAnnotations() || requiredType.isTypeVariable()) {
long requiredBits = requiredNullTagBits(requiredType);
if (requiredBits != TagBits.AnnotationNullable // nullable lhs accepts everything, ...
|| nullStatus == -1) // only at detail/recursion even nullable must be matched exactly
{
long providedBits = providedNullTagBits(providedType);
severity = computeNullProblemSeverity(requiredBits, providedBits, nullStatus, strict && nullStatus == -1);
+ if (severity == 0 && (providedBits & TagBits.AnnotationNonNull) != 0)
+ okStatus = NullAnnotationMatching.NULL_ANNOTATIONS_OK_NONNULL;
}
if (severity < 2) {
TypeBinding providedSuper = providedType.findSuperTypeOriginatingFrom(requiredType);
@@ -154,26 +174,49 @@
if (requiredType.isParameterizedType() && providedSuper instanceof ParameterizedTypeBinding) { // TODO(stephan): handle providedType.isRaw()
TypeBinding[] requiredArguments = ((ParameterizedTypeBinding) requiredType).arguments;
TypeBinding[] providedArguments = ((ParameterizedTypeBinding) providedSuper).arguments;
+ TypeBinding[] providedSubstitutes = (providedSubstitute instanceof ParameterizedTypeBinding) ? ((ParameterizedTypeBinding)providedSubstitute).arguments : null;
if (requiredArguments != null && providedArguments != null && requiredArguments.length == providedArguments.length) {
for (int i = 0; i < requiredArguments.length; i++) {
- NullAnnotationMatching status = analyse(requiredArguments[i], providedArguments[i], -1, strict);
+ TypeBinding providedArgSubstitute = providedSubstitutes != null ? providedSubstitutes[i] : null;
+ NullAnnotationMatching status = analyse(requiredArguments[i], providedArguments[i], providedArgSubstitute, -1, strict);
severity = Math.max(severity, status.severity);
if (severity == 2)
- return new NullAnnotationMatching(severity, superTypeHint);
+ return new NullAnnotationMatching(severity, nullStatus, superTypeHint);
}
}
}
TypeBinding requiredEnclosing = requiredType.enclosingType();
TypeBinding providedEnclosing = providedType.enclosingType();
if (requiredEnclosing != null && providedEnclosing != null) {
- NullAnnotationMatching status = analyse(requiredEnclosing, providedEnclosing, -1, strict);
+ TypeBinding providedEnclSubstitute = providedSubstitute != null ? providedSubstitute.enclosingType() : null;
+ NullAnnotationMatching status = analyse(requiredEnclosing, providedEnclosing, providedEnclSubstitute, -1, strict);
severity = Math.max(severity, status.severity);
}
}
}
if (severity == 0)
- return NullAnnotationMatching.NULL_ANNOTATIONS_OK;
- return new NullAnnotationMatching(severity, superTypeHint);
+ return okStatus;
+ return new NullAnnotationMatching(severity, nullStatus, superTypeHint);
+ }
+
+ /** Are both types identical wrt the unannotated type and any null type annotations? Only unstructured types are considered. */
+ protected static boolean areSameTypes(TypeBinding requiredType, TypeBinding providedType, TypeBinding providedSubstitute) {
+ if (requiredType == providedType) //$IDENTITY-COMPARISON$ // short cut for really-really-same types
+ return true;
+ if (requiredType.isParameterizedType() || requiredType.isArrayType())
+ return false; // not analysing details here
+ if (TypeBinding.notEquals(requiredType, providedType)) {
+ if (requiredType instanceof CaptureBinding) {
+ // when providing the lower bound of the required type where definitely fine:
+ TypeBinding lowerBound = ((CaptureBinding)requiredType).lowerBound;
+ if (lowerBound != null && areSameTypes(lowerBound, providedType, providedSubstitute))
+ return true;
+ } else if (requiredType.kind() == Binding.TYPE_PARAMETER && requiredType == providedSubstitute) { //$IDENTITY-COMPARISON$
+ return true;
+ }
+ return false;
+ }
+ return (requiredType.tagBits & TagBits.AnnotationNullMASK) == (providedType.tagBits & TagBits.AnnotationNullMASK);
}
// interpreting 'type' as a required type, compute the required null bits
@@ -205,22 +248,17 @@
}
if (type.isTypeVariable()) {
- // assume we must require @NonNull, unless: (1) lower @Nullable bound, or (2) no nullness specified
- TypeVariableBinding typeVariable = (TypeVariableBinding)type;
- boolean haveNullBits = false;
+ // assume we must require @NonNull, unless lower @Nullable bound
+ // (annotation directly on the TV has already been checked above)
if (type.isCapture()) {
TypeBinding lowerBound = ((CaptureBinding) type).lowerBound;
if (lowerBound != null) {
tagBits = lowerBound.tagBits & TagBits.AnnotationNullMASK;
if (tagBits == TagBits.AnnotationNullable)
- return TagBits.AnnotationNullable; // (1) type cannot require @NonNull
- haveNullBits = tagBits != 0;
+ return TagBits.AnnotationNullable; // type cannot require @NonNull
}
}
- if (typeVariable.firstBound != null)
- haveNullBits |= (typeVariable.firstBound.tagBits & TagBits.AnnotationNullMASK) != 0;
- if (haveNullBits)
- return TagBits.AnnotationNonNull; // could require @NonNull (unless (2) unspecified nullness)
+ return TagBits.AnnotationNonNull; // instantiation could require @NonNull
}
return 0;
@@ -375,4 +413,4 @@
}
return method;
}
-}
\ No newline at end of file
+}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/OR_OR_Expression.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/OR_OR_Expression.java
index b1c8663..452370f 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/OR_OR_Expression.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/OR_OR_Expression.java
@@ -12,6 +12,7 @@
* bug 383368 - [compiler][null] syntactic null analysis for field references
* bug 403086 - [compiler][null] include the effect of 'assert' in syntactic null analysis for fields
* bug 403147 - [compiler][null] FUP of bug 400761: consolidate interaction between unboxing, NPE, and deferred checking
+ * Bug 422796 - [compiler][null] boxed boolean reported as potentially null after null test in lazy disjunction
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.ast;
@@ -74,7 +75,7 @@
if ((flowContext.tagBits & FlowContext.INSIDE_NEGATION) == 0)
flowContext.expireNullCheckedFieldInfo();
this.left.checkNPEbyUnboxing(currentScope, flowContext, flowInfo);
- this.right.checkNPEbyUnboxing(currentScope, flowContext, flowInfo);
+ this.right.checkNPEbyUnboxing(currentScope, flowContext, leftInfo.initsWhenFalse());
// The definitely null variables in right info when true should not be missed out while merging
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=299900
FlowInfo leftInfoWhenTrueForMerging = leftInfo.initsWhenTrue().unconditionalCopy().addPotentialInitializationsFrom(rightInfo.unconditionalInitsWithoutSideEffect());
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ParameterizedQualifiedTypeReference.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ParameterizedQualifiedTypeReference.java
index 5024d3b..574161b 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ParameterizedQualifiedTypeReference.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ParameterizedQualifiedTypeReference.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -12,6 +12,7 @@
* bug 392099 - [1.8][compiler][null] Apply null annotation on types for null analysis
* Bug 415043 - [1.8][null] Follow-up re null type annotations after bug 392099
* Bug 416181 – [1.8][compiler][null] Invalid assignment is not rejected by the compiler
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
* Andy Clement - Contributions for
* Bug 383624 - [1.8][compiler] Revive code generation support for type annotations (from Olivier's work)
*******************************************************************************/
@@ -146,7 +147,7 @@
/*
* No need to check for reference to raw type per construction
*/
- private TypeBinding internalResolveType(Scope scope, boolean checkBounds) {
+ private TypeBinding internalResolveType(Scope scope, boolean checkBounds, int location) {
// handle the error here
this.constant = Constant.NotAConstant;
if ((this.bits & ASTNode.DidResolve) != 0) { // is a shared type reference which was already resolved
@@ -169,7 +170,7 @@
this.bits |= ASTNode.DidResolve;
TypeBinding type = internalResolveLeafType(scope, checkBounds);
createArrayType(scope);
- resolveAnnotations(scope);
+ resolveAnnotations(scope, location);
if (this.typeArguments != null)
// relevant null annotations are on the inner most type:
checkNullConstraints(scope, this.typeArguments[this.typeArguments.length-1]);
@@ -227,7 +228,7 @@
}
ReferenceBinding currentType = (ReferenceBinding) this.resolvedType;
if (qualifyingType == null
- || (currentType.isMemberType() && qualifyingType!=currentType.enclosingType())) { // AspectJ Extension - pr235829
+ || (currentType.isMemberType() && TypeBinding.notEquals(qualifyingType,currentType.enclosingType()))) { // AspectJ Extension - pr235829
qualifyingType = currentType.enclosingType(); // if member type
if (qualifyingType != null) {
qualifyingType = currentType.isStatic()
@@ -420,11 +421,11 @@
return output;
}
- public TypeBinding resolveType(BlockScope scope, boolean checkBounds) {
- return internalResolveType(scope, checkBounds);
+ public TypeBinding resolveType(BlockScope scope, boolean checkBounds, int location) {
+ return internalResolveType(scope, checkBounds, location);
}
- public TypeBinding resolveType(ClassScope scope) {
- return internalResolveType(scope, false);
+ public TypeBinding resolveType(ClassScope scope, int location) {
+ return internalResolveType(scope, false, location);
}
public void traverse(ASTVisitor visitor, BlockScope scope) {
if (visitor.visit(this, scope)) {
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ParameterizedSingleTypeReference.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ParameterizedSingleTypeReference.java
index 654f8b1..3705077 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ParameterizedSingleTypeReference.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ParameterizedSingleTypeReference.java
@@ -12,6 +12,7 @@
* Bug 420894 - ClassCastException in DefaultBindingResolver.resolveType(Type)
* bug 392099 - [1.8][compiler][null] Apply null annotation on types for null analysis
* Bug 415043 - [1.8][null] Follow-up re null type annotations after bug 392099
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
* Andy Clement - Contributions for
* Bug 383624 - [1.8][compiler] Revive code generation support for type annotations (from Olivier's work)
*******************************************************************************/
@@ -119,7 +120,7 @@
/*
* No need to check for reference to raw type per construction
*/
- private TypeBinding internalResolveType(Scope scope, ReferenceBinding enclosingType, boolean checkBounds) {
+ private TypeBinding internalResolveType(Scope scope, ReferenceBinding enclosingType, boolean checkBounds, int location) {
// handle the error here
this.constant = Constant.NotAConstant;
if ((this.bits & ASTNode.DidResolve) != 0) { // is a shared type reference which was already resolved
@@ -145,18 +146,18 @@
// handle three different outcomes:
if (type == null) {
this.resolvedType = createArrayType(scope, this.resolvedType);
- resolveAnnotations(scope);
+ resolveAnnotations(scope, 0); // no defaultNullness for buggy type
checkNullConstraints(scope, this.typeArguments);
- return null; // no useful type, but still captured dimensions into this.resolvedType
+ return null; // (1) no useful type, but still captured dimensions into this.resolvedType
} else {
type = createArrayType(scope, type);
if (!this.resolvedType.isValidBinding() && this.resolvedType.dimensions() == type.dimensions()) {
- resolveAnnotations(scope);
+ resolveAnnotations(scope, 0); // no defaultNullness for buggy type
checkNullConstraints(scope, this.typeArguments);
- return type; // found some error, but could recover useful type (like closestMatch)
+ return type; // (2) found some error, but could recover useful type (like closestMatch)
} else {
- this.resolvedType = type; // no complaint, keep fully resolved type (incl. dimensions)
- resolveAnnotations(scope);
+ this.resolvedType = type; // (3) no complaint, keep fully resolved type (incl. dimensions)
+ resolveAnnotations(scope, location);
checkNullConstraints(scope, this.typeArguments);
return this.resolvedType; // pick up any annotated type.
}
@@ -351,16 +352,16 @@
return output;
}
- public TypeBinding resolveType(BlockScope scope, boolean checkBounds) {
- return internalResolveType(scope, null, checkBounds);
+ public TypeBinding resolveType(BlockScope scope, boolean checkBounds, int location) {
+ return internalResolveType(scope, null, checkBounds, location);
}
- public TypeBinding resolveType(ClassScope scope) {
- return internalResolveType(scope, null, false /*no bounds check in classScope*/);
+ public TypeBinding resolveType(ClassScope scope, int location) {
+ return internalResolveType(scope, null, false /*no bounds check in classScope*/, location);
}
public TypeBinding resolveTypeEnclosing(BlockScope scope, ReferenceBinding enclosingType) {
- return internalResolveType(scope, enclosingType, true/*check bounds*/);
+ return internalResolveType(scope, enclosingType, true/*check bounds*/, 0);
}
public void traverse(ASTVisitor visitor, BlockScope scope) {
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ReferenceExpression.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ReferenceExpression.java
index 0659fc6..d058e84 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ReferenceExpression.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ReferenceExpression.java
@@ -73,6 +73,8 @@
public TypeReference [] typeArguments;
public char [] selector;
+ public int nameSourceStart;
+
public TypeBinding receiverType;
private boolean haveReceiver;
public TypeBinding[] resolvedTypeArguments;
@@ -356,6 +358,7 @@
this.lhs.bits |= ASTNode.IgnoreRawTypeCheck;
lhsType = this.lhs.resolveType(scope);
+ this.lhs.computeConversion(scope, lhsType, lhsType);
if (this.typeArguments != null) {
int length = this.typeArguments.length;
this.typeArgumentsHaveErrors = compilerOptions.sourceLevel < ClassFileConstants.JDK1_5;
@@ -395,7 +398,6 @@
lhsType = lhsType.closestMatch(); // improve resolving experience
if (!lhsType.isValidBinding())
return this.resolvedType = null; // nope, no useful type found
-
final TypeBinding[] descriptorParameters = this.descriptor != null ? this.descriptor.parameters : Binding.NO_PARAMETERS;
if (lhsType.isBaseType()) {
scope.problemReporter().errorNoMethodFor(this.lhs, lhsType, this.selector, descriptorParameters);
@@ -436,7 +438,7 @@
scope.problemReporter().invalidArrayConstructorReference(this, lhsType, descriptorParameters);
return this.resolvedType = null;
}
- if (!lhsType.isCompatibleWith(this.descriptor.returnType) && this.descriptor.returnType.id != TypeIds.T_void) {
+ if (this.descriptor.returnType.isProperType(true) && !lhsType.isCompatibleWith(this.descriptor.returnType) && this.descriptor.returnType.id != TypeIds.T_void) {
scope.problemReporter().constructedArrayIncompatible(this, lhsType, this.descriptor.returnType);
return this.resolvedType = null;
}
@@ -467,7 +469,7 @@
int someMethodDepth = this.depth, anotherMethodDepth = 0;
if (someMethod != null && someMethod.isValidBinding()) {
final boolean isStatic = someMethod.isStatic();
- if (isStatic && (this.haveReceiver || this.receiverType.isParameterizedType())) {
+ if (isStatic && (this.haveReceiver || this.receiverType.isParameterizedTypeWithActualArguments())) {
scope.problemReporter().methodMustBeAccessedStatically(this, someMethod);
return this.resolvedType = null;
}
@@ -647,14 +649,10 @@
/** During inference: Try to find an applicable method binding without causing undesired side-effects. */
public MethodBinding findCompileTimeMethodTargeting(TypeBinding targetType, Scope scope) {
- if (this.exactMethodBinding != null) {
- // TODO: shouldn't extactMethodBinding already be parameterized?
- if (this.exactMethodBinding.typeVariables != Binding.NO_TYPE_VARIABLES && this.resolvedTypeArguments != null) {
- return scope.environment().createParameterizedGenericMethod(this.exactMethodBinding, this.resolvedTypeArguments);
- }
- return this.exactMethodBinding;
- }
- return internalResolveTentatively(targetType, scope);
+ MethodBinding targetMethod = internalResolveTentatively(targetType, scope);
+ if (targetMethod == null || !targetMethod.isValidBinding())
+ return null;
+ return targetMethod;
}
MethodBinding internalResolveTentatively(TypeBinding targetType, Scope scope) {
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ReturnStatement.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ReturnStatement.java
index ba10f17..1447511 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ReturnStatement.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/ReturnStatement.java
@@ -29,6 +29,7 @@
* Bug 416307 - [1.8][compiler][null] subclass with type parameter substitution confuses null checking
* Bug 417758 - [1.8][null] Null safety compromise during array creation.
* Bug 427438 - [1.8][compiler] NPE at org.aspectj.org.eclipse.jdt.internal.compiler.ast.ConditionalExpression.generateCode(ConditionalExpression.java:280)
+ * Bug 430150 - [1.8][null] stricter checking against type variables
* Jesper S Moller - Contributions for
* bug 382701 - [1.8][compiler] Implement semantic analysis of Lambda expressions & Reference expression
*******************************************************************************/
@@ -81,7 +82,7 @@
if (this.expression != null) {
flowInfo = this.expression.analyseCode(currentScope, flowContext, flowInfo);
this.expression.checkNPEbyUnboxing(currentScope, flowContext, flowInfo);
- if (flowInfo.reachMode() == FlowInfo.REACHABLE)
+ if (flowInfo.reachMode() == FlowInfo.REACHABLE && currentScope.compilerOptions().isAnnotationBasedNullAnalysisEnabled)
checkAgainstNullAnnotation(currentScope, flowContext, flowInfo);
if (currentScope.compilerOptions().analyseResourceLeaks) {
FakedTrackingVariable trackingVariable = FakedTrackingVariable.getCloseTrackingVariable(this.expression, flowInfo, flowContext);
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SingleTypeReference.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SingleTypeReference.java
index 090de99..169bb72 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SingleTypeReference.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SingleTypeReference.java
@@ -9,6 +9,7 @@
* IBM Corporation - initial API and implementation
* Stephan Herrmann - Contribution for
* Bug 392238 - [1.8][compiler][null] Detect semantically invalid null type annotations
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.ast;
@@ -78,7 +79,7 @@
this.resolvedType = scope.getMemberType(this.token, enclosingType);
boolean hasError = false;
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=391500
- resolveAnnotations(scope);
+ resolveAnnotations(scope, 0); // defaultNullness not relevant, the only caller within the compiler: QAE
TypeBinding memberType = this.resolvedType; // load after possible update in resolveAnnotations()
if (!memberType.isValidBinding()) {
hasError = true;
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SwitchStatement.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SwitchStatement.java
index e12e3df..d0831b7 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SwitchStatement.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/SwitchStatement.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -65,7 +65,8 @@
try {
flowInfo = this.expression.analyseCode(currentScope, flowContext, flowInfo);
if ((this.expression.implicitConversion & TypeIds.UNBOXING) != 0
- || (this.expression.resolvedType != null && this.expression.resolvedType.id == T_JavaLangString)) {
+ || (this.expression.resolvedType != null
+ && (this.expression.resolvedType.id == T_JavaLangString || this.expression.resolvedType.isEnum()))) {
this.expression.checkNPE(currentScope, flowContext, flowInfo);
}
SwitchFlowContext switchContext =
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TypeDeclaration.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TypeDeclaration.java
index 287a80a..f92ad85 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TypeDeclaration.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TypeDeclaration.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -1299,9 +1299,12 @@
outerScope = outerScope.parent;
}
} else if (existingType instanceof LocalTypeBinding
- && (((LocalTypeBinding) existingType).scope.methodScope() == blockScope.methodScope() || blockScope.isLambdaSubscope())) {
+ && ((LocalTypeBinding) existingType).scope.methodScope() == blockScope.methodScope()) {
// dup in same method
blockScope.problemReporter().duplicateNestedType(this);
+ } else if (existingType instanceof LocalTypeBinding && blockScope.isLambdaSubscope()
+ && blockScope.enclosingLambdaScope().enclosingMethodScope() == ((LocalTypeBinding) existingType).scope.methodScope()) {
+ blockScope.problemReporter().duplicateNestedType(this);
} else if (blockScope.isDefinedInType(existingType)) {
// collision with enclosing type
blockScope.problemReporter().typeCollidesWithEnclosingType(this);
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TypeReference.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TypeReference.java
index a5caf20..d9b08d7 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TypeReference.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/TypeReference.java
@@ -15,6 +15,7 @@
* Bug 415850 - [1.8] Ensure RunJDTCoreTests can cope with null annotations enabled
* Bug 417295 - [1.8[[null] Massage type annotated null analysis to gel well with deep encoded type bindings.
* Bug 427163 - [1.8][null] bogus error "Contradictory null specification" on varags
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
* Andy Clement (GoPivotal, Inc) aclement@gopivotal.com - Contributions for
* Bug 383624 - [1.8][compiler] Revive code generation support for type annotations (from Olivier's work)
* Bug 409236 - [1.8][compiler] Type annotations on intersection cast types dropped by code generator
@@ -33,10 +34,13 @@
import org.aspectj.org.eclipse.jdt.internal.compiler.flow.FlowInfo;
import org.aspectj.org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
import org.aspectj.org.eclipse.jdt.internal.compiler.impl.Constant;
+import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ArrayBinding;
+import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BlockScope;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ClassScope;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding;
+import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ProblemReasons;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ProblemReferenceBinding;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding;
@@ -450,7 +454,7 @@
*/
public abstract char [][] getTypeName() ;
-protected TypeBinding internalResolveType(Scope scope) {
+protected TypeBinding internalResolveType(Scope scope, int location) {
// handle the error here
this.constant = Constant.NotAConstant;
if (this.resolvedType != null) { // is a shared type reference which was already resolved
@@ -501,12 +505,12 @@
scope.problemReporter().rawTypeReference(this, type);
}
if (hasError) {
- resolveAnnotations(scope);
+ resolveAnnotations(scope, 0); // don't apply null defaults to buggy type
return type;
} else {
// store the computed type only if no error, otherwise keep the problem type instead
this.resolvedType = type;
- resolveAnnotations(scope);
+ resolveAnnotations(scope, location);
return this.resolvedType; // pick up value that may have been changed in resolveAnnotations(..)
}
}
@@ -557,15 +561,23 @@
}
public TypeBinding resolveType(BlockScope scope, boolean checkBounds) {
- return internalResolveType(scope);
+ return resolveType(scope, checkBounds, 0);
+}
+
+public TypeBinding resolveType(BlockScope scope, boolean checkBounds, int location) {
+ return internalResolveType(scope, location);
}
public TypeBinding resolveType(ClassScope scope) {
- return internalResolveType(scope);
+ return resolveType(scope, 0);
+}
+
+public TypeBinding resolveType(ClassScope scope, int location) {
+ return internalResolveType(scope, location);
}
public TypeBinding resolveTypeArgument(BlockScope blockScope, ReferenceBinding genericType, int rank) {
- return resolveType(blockScope, true /* check bounds*/);
+ return resolveType(blockScope, true /* check bounds*/, Binding.DefaultLocationTypeArgument);
}
public TypeBinding resolveTypeArgument(ClassScope classScope, ReferenceBinding genericType, int rank) {
@@ -579,7 +591,7 @@
ref.tagBits |= TagBits.PauseHierarchyCheck;
pauseHierarchyCheck = true;
}
- return resolveType(classScope);
+ return resolveType(classScope, Binding.DefaultLocationTypeArgument);
} finally {
if (pauseHierarchyCheck) {
ref.tagBits &= ~TagBits.PauseHierarchyCheck;
@@ -591,7 +603,7 @@
public abstract void traverse(ASTVisitor visitor, ClassScope scope);
-protected void resolveAnnotations(Scope scope) {
+protected void resolveAnnotations(Scope scope, int location) {
Annotation[][] annotationsOnDimensions = getAnnotationsOnDimensions();
if (this.annotations != null || annotationsOnDimensions != null) {
BlockScope resolutionScope = Scope.typeAnnotationsResolutionScope(scope);
@@ -619,6 +631,17 @@
}
}
}
+ if (this.resolvedType != null
+ && (this.resolvedType.tagBits & TagBits.AnnotationNullMASK) == 0
+ && !this.resolvedType.isTypeVariable()
+ && !this.resolvedType.isWildcard()
+ && location != 0
+ && scope.hasDefaultNullnessFor(location))
+ {
+ LookupEnvironment environment = scope.environment();
+ AnnotationBinding[] annots = new AnnotationBinding[]{environment.getNonNullAnnotation()};
+ this.resolvedType = environment.createAnnotatedType(this.resolvedType, annots);
+ }
}
public int getAnnotatableLevels() {
return 1;
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/UnionTypeReference.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/UnionTypeReference.java
index 199e1ff..f53927c 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/UnionTypeReference.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/UnionTypeReference.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011, 2012 IBM Corporation and others.
+ * Copyright (c) 2011, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -7,6 +7,8 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
+ * Stephan Herrmann - Contribution for
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.ast;
@@ -46,13 +48,13 @@
/* (non-Javadoc)
* @see org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeReference#getTypeBinding(org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Scope)
*/
- public TypeBinding resolveType(BlockScope scope, boolean checkBounds) {
+ public TypeBinding resolveType(BlockScope scope, boolean checkBounds, int location) {
// return the lub (least upper bound of all type binding)
int length = this.typeReferences.length;
TypeBinding[] allExceptionTypes = new TypeBinding[length];
boolean hasError = false;
for (int i = 0; i < length; i++) {
- TypeBinding exceptionType = this.typeReferences[i].resolveType(scope, checkBounds);
+ TypeBinding exceptionType = this.typeReferences[i].resolveType(scope, checkBounds, location);
if (exceptionType == null) {
return null;
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Wildcard.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Wildcard.java
index f084504..2fa0b96 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Wildcard.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/ast/Wildcard.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -12,6 +12,7 @@
* Stephan Herrmann - Contribution for
* Bug 415043 - [1.8][null] Follow-up re null type annotations after bug 392099
* Bug 417295 - [1.8[[null] Massage type annotated null analysis to gel well with deep encoded type bindings.
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.ast;
@@ -62,15 +63,15 @@
TypeBinding boundType = null;
if (this.bound != null) {
boundType = scope.kind == Scope.CLASS_SCOPE
- ? this.bound.resolveType((ClassScope)scope)
- : this.bound.resolveType((BlockScope)scope, true /* check bounds*/);
+ ? this.bound.resolveType((ClassScope)scope, Binding.DefaultLocationTypeBound)
+ : this.bound.resolveType((BlockScope)scope, true /* check bounds*/, Binding.DefaultLocationTypeBound);
this.bits |= (this.bound.bits & ASTNode.HasTypeAnnotations);
if (boundType == null) {
return null;
}
}
this.resolvedType = scope.environment().createWildcard(genericType, rank, boundType, null /*no extra bound*/, this.kind);
- resolveAnnotations(scope);
+ resolveAnnotations(scope, 0); // no defaultNullness for wildcards
if (boundType != null && boundType.hasNullTypeAnnotations() && this.resolvedType.hasNullTypeAnnotations()) {
if (((boundType.tagBits | this.resolvedType.tagBits) & TagBits.AnnotationNullMASK) == TagBits.AnnotationNullMASK) { // are both set?
Annotation annotation = this.bound.findAnnotation(boundType.tagBits & TagBits.AnnotationNullMASK);
@@ -102,27 +103,27 @@
}
// only invoked for improving resilience when unable to bind generic type from parameterized reference
- public TypeBinding resolveType(BlockScope scope, boolean checkBounds) {
+ public TypeBinding resolveType(BlockScope scope, boolean checkBounds, int location) {
if (this.bound != null) {
- this.bound.resolveType(scope, checkBounds);
+ this.bound.resolveType(scope, checkBounds, Binding.DefaultLocationTypeBound);
this.bits |= (this.bound.bits & ASTNode.HasTypeAnnotations);
}
return null;
}
// only invoked for improving resilience when unable to bind generic type from parameterized reference
- public TypeBinding resolveType(ClassScope scope) {
+ public TypeBinding resolveType(ClassScope scope, int location) {
if (this.bound != null) {
- this.bound.resolveType(scope);
+ this.bound.resolveType(scope, Binding.DefaultLocationTypeBound);
this.bits |= (this.bound.bits & ASTNode.HasTypeAnnotations);
}
return null;
}
public TypeBinding resolveTypeArgument(BlockScope blockScope, ReferenceBinding genericType, int rank) {
- return internalResolveType(blockScope, genericType, rank);
+ return internalResolveType(blockScope, genericType, rank); // no defaultNullness for wildcards
}
public TypeBinding resolveTypeArgument(ClassScope classScope, ReferenceBinding genericType, int rank) {
- return internalResolveType(classScope, genericType, rank);
+ return internalResolveType(classScope, genericType, rank); // no defaultNullness for wildcards
}
public void traverse(ASTVisitor visitor, BlockScope scope) {
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/NonNullDefaultAwareTypeAnnotationWalker.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/NonNullDefaultAwareTypeAnnotationWalker.java
new file mode 100644
index 0000000..1d4c8a9
--- /dev/null
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/NonNullDefaultAwareTypeAnnotationWalker.java
@@ -0,0 +1,151 @@
+/*******************************************************************************
+ * Copyright (c) 2014 GK Software AG.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Stephan Herrmann - initial API and implementation
+ *******************************************************************************/
+package org.aspectj.org.eclipse.jdt.internal.compiler.classfmt;
+
+import org.aspectj.org.eclipse.jdt.core.compiler.CharOperation;
+import org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation;
+import org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryElementValuePair;
+import org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryTypeAnnotation;
+import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding;
+import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment;
+
+/**
+ * A type annotation walker that adds missing NonNull annotations according to the current default.
+ */
+public class NonNullDefaultAwareTypeAnnotationWalker extends TypeAnnotationWalker {
+
+ private int defaultNullness;
+ private boolean atDefaultLocation;
+ private boolean nextIsDefaultLocation;
+ private boolean isEmpty;
+ IBinaryAnnotation nonNullAnnotation;
+
+ /** Create initial walker with non-empty type annotations. */
+ public NonNullDefaultAwareTypeAnnotationWalker(IBinaryTypeAnnotation[] typeAnnotations,
+ int defaultNullness, LookupEnvironment environment) {
+ super(typeAnnotations);
+ this.nonNullAnnotation = getNonNullAnnotation(environment);
+ this.defaultNullness = defaultNullness;
+ }
+
+ /** Create an initial walker without 'real' type annotations, but with a nonnull default. */
+ public NonNullDefaultAwareTypeAnnotationWalker(int defaultNullness, LookupEnvironment environment) {
+ this(defaultNullness, getNonNullAnnotation(environment), false);
+ }
+
+ /** Get restricted walker, still with non-empty type annotations. */
+ NonNullDefaultAwareTypeAnnotationWalker(IBinaryTypeAnnotation[] typeAnnotations, long newMatches, int newPathPtr,
+ int defaultNullness, IBinaryAnnotation nonNullAnnotation, boolean atDefaultLocation) {
+ super(typeAnnotations, newMatches, newPathPtr);
+ this.defaultNullness = defaultNullness;
+ this.nonNullAnnotation = nonNullAnnotation;
+ this.atDefaultLocation = atDefaultLocation;
+ }
+
+ /** Create a restricted walker without 'real' type annotations, but with a nonnull default. */
+ NonNullDefaultAwareTypeAnnotationWalker(int defaultNullness, IBinaryAnnotation nonNullAnnotation, boolean atDefaultLocation) {
+ super(null, 0, 0);
+ this.nonNullAnnotation = nonNullAnnotation;
+ this.defaultNullness = defaultNullness;
+ this.atDefaultLocation = atDefaultLocation;
+ this.isEmpty = true;
+ }
+
+ private static IBinaryAnnotation getNonNullAnnotation(LookupEnvironment environment) {
+ final char[] nonNullAnnotationName = CharOperation.concat(
+ 'L', CharOperation.concatWith(environment.getNonNullAnnotationName(), '/'), ';');
+ // create the synthetic annotation:
+ return new IBinaryAnnotation() {
+ @Override
+ public char[] getTypeName() {
+ return nonNullAnnotationName;
+ }
+ @Override
+ public IBinaryElementValuePair[] getElementValuePairs() {
+ return null;
+ }
+ };
+ }
+
+ protected TypeAnnotationWalker restrict(long newMatches, int newPathPtr) {
+ // considers nextIsDefaultLocation as the new atDefaultLocation
+ try {
+ // do we have any change at all?
+ if (this.matches == newMatches && this.pathPtr == newPathPtr && this.atDefaultLocation == this.nextIsDefaultLocation)
+ return this;
+ // are we running out of real type annotations?
+ if (newMatches == 0 || this.typeAnnotations == null || this.typeAnnotations.length == 0)
+ return new NonNullDefaultAwareTypeAnnotationWalker(this.defaultNullness, this.nonNullAnnotation, this.nextIsDefaultLocation);
+ // proceed as normal, but pass on our specific fields, too:
+ return new NonNullDefaultAwareTypeAnnotationWalker(this.typeAnnotations, newMatches, newPathPtr,
+ this.defaultNullness, this.nonNullAnnotation, this.nextIsDefaultLocation);
+ } finally {
+ this.nextIsDefaultLocation = false; // expire
+ }
+ }
+
+ @Override
+ public TypeAnnotationWalker toMethodParameter(short index) {
+ // don't set nextIsDefaultLocation, because signature-level nullness is handled by ImplicitNullAnnotationVerifier
+ if (this.isEmpty) return restrict(this.matches, this.pathPtr);
+ return super.toMethodParameter(index);
+ }
+
+ @Override
+ public TypeAnnotationWalker toMethodReturn() {
+ // don't set nextIsDefaultLocation, because signature-level nullness is handled by ImplicitNullAnnotationVerifier
+ if (this.isEmpty) return restrict(this.matches, this.pathPtr);
+ return super.toMethodReturn();
+ }
+
+ @Override
+ public TypeAnnotationWalker toTypeBound(short boundIndex) {
+ this.nextIsDefaultLocation = (this.defaultNullness & Binding.DefaultLocationTypeBound) != 0;
+ if (this.isEmpty) return restrict(this.matches, this.pathPtr);
+ return super.toTypeBound(boundIndex);
+ }
+
+ @Override
+ public TypeAnnotationWalker toTypeParameterBounds(boolean isClassTypeParameter, int parameterRank) {
+ this.nextIsDefaultLocation = (this.defaultNullness & Binding.DefaultLocationTypeBound) != 0;
+ if (this.isEmpty) return restrict(this.matches, this.pathPtr);
+ return super.toTypeParameterBounds(isClassTypeParameter, parameterRank);
+ }
+
+ @Override
+ public TypeAnnotationWalker toTypeArgument(int rank) {
+ this.nextIsDefaultLocation = (this.defaultNullness & Binding.DefaultLocationTypeArgument) != 0;
+ if (this.isEmpty) return restrict(this.matches, this.pathPtr);
+ return super.toTypeArgument(rank);
+ }
+
+ @Override
+ public TypeAnnotationWalker toTypeParameter(boolean isClassTypeParameter, int rank) {
+ this.nextIsDefaultLocation = (this.defaultNullness & Binding.DefaultLocationTypeParameter) != 0;
+ if (this.isEmpty) return restrict(this.matches, this.pathPtr);
+ return super.toTypeParameter(isClassTypeParameter, rank);
+ }
+
+ @Override
+ public IBinaryAnnotation[] getAnnotationsAtCursor() {
+ IBinaryAnnotation[] normalAnnotations = this.isEmpty ? null : super.getAnnotationsAtCursor();
+ if (this.atDefaultLocation) {
+ if (normalAnnotations == null || normalAnnotations.length == 0)
+ return new IBinaryAnnotation[] { this.nonNullAnnotation };
+ int len = normalAnnotations.length;
+ IBinaryAnnotation[] newAnnots = new IBinaryAnnotation[len+1];
+ System.arraycopy(normalAnnotations, 0, newAnnots, 0, len);
+ newAnnots[len] = this.nonNullAnnotation;
+ return newAnnots;
+ }
+ return normalAnnotations;
+ }
+}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationWalker.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationWalker.java
index 0245ae7..e1cbab6 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationWalker.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/classfmt/TypeAnnotationWalker.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2013 GK Software AG.
+ * Copyright (c) 2013, 2014 GK Software AG.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -44,9 +44,9 @@
public IBinaryAnnotation[] getAnnotationsAtCursor() { return NO_ANNOTATIONS; }
};
- final private IBinaryTypeAnnotation[] typeAnnotations; // the actual material we're managing here
- final private long matches; // bit mask of indices into typeAnnotations, 1 means active, 0 is filtered during the walk
- final private int pathPtr; // pointer into the typePath
+ final protected IBinaryTypeAnnotation[] typeAnnotations; // the actual material we're managing here
+ final protected long matches; // bit mask of indices into typeAnnotations, 1 means active, 0 is filtered during the walk
+ final protected int pathPtr; // pointer into the typePath
// precondition: not-empty typeAnnotations
public TypeAnnotationWalker(IBinaryTypeAnnotation[] typeAnnotations) {
@@ -55,13 +55,13 @@
TypeAnnotationWalker(IBinaryTypeAnnotation[] typeAnnotations, long matchBits) {
this(typeAnnotations, matchBits, 0);
}
- private TypeAnnotationWalker(IBinaryTypeAnnotation[] typeAnnotations, long matchBits, int pathPtr) {
+ protected TypeAnnotationWalker(IBinaryTypeAnnotation[] typeAnnotations, long matchBits, int pathPtr) {
this.typeAnnotations = typeAnnotations;
this.matches = matchBits;
this.pathPtr = pathPtr;
}
- private TypeAnnotationWalker restrict(long newMatches, int newPathPtr) {
+ protected TypeAnnotationWalker restrict(long newMatches, int newPathPtr) {
if (this.matches == newMatches && this.pathPtr == newPathPtr) return this;
if (newMatches == 0 || this.typeAnnotations == null || this.typeAnnotations.length == 0)
return EMPTY_ANNOTATION_WALKER;
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/env/ISourceType.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/env/ISourceType.java
index dae750f..8361de1 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/env/ISourceType.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/env/ISourceType.java
@@ -87,4 +87,9 @@
* Answer the names of the receiver's type parameters.
*/
char[][] getTypeParameterNames();
+
+/**
+ * Answer whether the receiver type is anonymous
+ */
+boolean isAnonymous();
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/AnnotatableTypeSystem.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/AnnotatableTypeSystem.java
index acb4281..e734d5a 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/AnnotatableTypeSystem.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/AnnotatableTypeSystem.java
@@ -7,6 +7,8 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
+ * Stephan Herrmann - Contribution for
+ * Bug 432977 - [1.8][null] Incorrect 'type is not visible' compiler error
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.lookup;
@@ -318,6 +320,9 @@
break;
}
if (Util.effectivelyEqual(derivedType.getTypeAnnotations(), annotations)) {
+ // point-fix for https://bugs.eclipse.org/432977
+ if (!type.isUnresolvedType() && derivedType.isUnresolvedType())
+ return ((UnresolvedReferenceBinding)derivedType).resolve(this.environment, false);
return derivedType;
}
if (!derivedType.hasTypeAnnotations())
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ArrayBinding.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ArrayBinding.java
index ebb946e..945289b 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ArrayBinding.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ArrayBinding.java
@@ -438,6 +438,13 @@
public void swapUnresolved(UnresolvedReferenceBinding unresolvedType, ReferenceBinding resolvedType, LookupEnvironment env) {
if (this.leafComponentType == unresolvedType) { //$IDENTITY-COMPARISON$
this.leafComponentType = env.convertUnresolvedBinaryToRawType(resolvedType);
+ /* Leaf component type is the key in the type system. If it undergoes change, the array has to be rehashed.
+ We achieve by creating a fresh array with the new component type and equating this array's id with that.
+ This means this array can still be found under the old key, but that is harmless (since the component type
+ is always consulted (see TypeSystem.getArrayType())
+ */
+ if (this.leafComponentType != resolvedType) //$IDENTITY-COMPARISON$
+ this.id = env.createArrayType(this.leafComponentType, this.dimensions, this.typeAnnotations).id;
this.tagBits |= this.leafComponentType.tagBits & (TagBits.HasTypeVariable | TagBits.HasDirectWildcard | TagBits.HasMissingType | TagBits.HasCapturedWildcard);
}
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding.java
index 23b1e38..0de63e1 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding.java
@@ -24,6 +24,8 @@
* Bug 417295 - [1.8[[null] Massage type annotated null analysis to gel well with deep encoded type bindings.
* Bug 427199 - [1.8][resource] avoid resource leak warnings on Streams that have no resource
* Bug 392245 - [1.8][compiler][null] Define whether / how @NonNullByDefault applies to TYPE_USE locations
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
+ * Bug 390889 - [1.8][compiler] Evaluate options to support 1.7- projects against 1.8 JRE.
* Jesper Steen Moller - Contributions for
* Bug 412150 [1.8] [compiler] Enable reflected parameter names during annotation processing
* Bug 412153 - [1.8][compiler] Check validity of annotations which may be repeatable
@@ -33,7 +35,9 @@
import java.util.ArrayList;
import org.aspectj.org.eclipse.jdt.core.compiler.CharOperation;
+import org.aspectj.org.eclipse.jdt.internal.compiler.ast.Annotation;
import org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants;
+import org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.NonNullDefaultAwareTypeAnnotationWalker;
import org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.TypeAnnotationWalker;
import org.aspectj.org.eclipse.jdt.internal.compiler.codegen.ConstantPool;
import org.aspectj.org.eclipse.jdt.internal.compiler.env.*;
@@ -79,8 +83,9 @@
protected SimpleLookupTable storedAnnotations = null; // keys are this ReferenceBinding & its fields and methods, value is an AnnotationHolder
private ReferenceBinding containerAnnotationType;
+ int defaultNullness = 0;
-static Object convertMemberValue(Object binaryValue, LookupEnvironment env, char[][][] missingTypeNames) {
+static Object convertMemberValue(Object binaryValue, LookupEnvironment env, char[][][] missingTypeNames, boolean resolveEnumConstants) {
if (binaryValue == null) return null;
if (binaryValue instanceof Constant)
return binaryValue;
@@ -91,6 +96,8 @@
if (binaryValue instanceof EnumConstantSignature) {
EnumConstantSignature ref = (EnumConstantSignature) binaryValue;
ReferenceBinding enumType = (ReferenceBinding) env.getTypeFromSignature(ref.getTypeName(), 0, -1, false, null, missingTypeNames, TypeAnnotationWalker.EMPTY_ANNOTATION_WALKER);
+ if (enumType.isUnresolvedType() && !resolveEnumConstants)
+ return new ElementValuePair.UnresolvedEnumConstant(enumType, env, ref.getEnumConstantName());
enumType = (ReferenceBinding) resolveType(enumType, env, false /* no raw conversion */);
return enumType.getField(ref.getEnumConstantName(), false);
}
@@ -100,7 +107,7 @@
if (length == 0) return objects;
Object[] values = new Object[length];
for (int i = 0; i < length; i++)
- values[i] = convertMemberValue(objects[i], env, missingTypeNames);
+ values[i] = convertMemberValue(objects[i], env, missingTypeNames, resolveEnumConstants);
return values;
}
@@ -132,7 +139,7 @@
int length = binaryPairs == null ? 0 : binaryPairs.length;
ElementValuePair[] pairs = length == 0 ? Binding.NO_ELEMENT_VALUE_PAIRS : new ElementValuePair[length];
for (int i = 0; i < length; i++)
- pairs[i] = new ElementValuePair(binaryPairs[i].getName(), convertMemberValue(binaryPairs[i].getValue(), env, missingTypeNames), null);
+ pairs[i] = new ElementValuePair(binaryPairs[i].getName(), convertMemberValue(binaryPairs[i].getValue(), env, missingTypeNames, false), null);
char[] typeName = annotationInfo.getTypeName();
ReferenceBinding annotationType = env.getTypeFromConstantPoolName(typeName, 1, typeName.length - 1, false, missingTypeNames);
@@ -393,6 +400,10 @@
and/or super interfaces in order to be able to detect overriding in the presence
of generics.
*/
+ if (this.environment.globalOptions.isAnnotationBasedNullAnalysisEnabled) {
+ // need annotations on the type before processing null annotations on members respecting any @NonNullByDefault:
+ scanTypeForNullDefaultAnnotation(binaryType, this.fPackage, this);
+ }
TypeAnnotationWalker walker = getTypeAnnotationWalker(binaryType.getTypeAnnotations());
char[] typeSignature = binaryType.getGenericSignature(); // use generic signature even in 1.4
this.tagBits |= binaryType.getTagBits();
@@ -480,9 +491,6 @@
}
}
if (this.environment.globalOptions.isAnnotationBasedNullAnalysisEnabled) {
- // need annotations on the type before processing null annotations on members respecting any @NonNullByDefault:
- scanTypeForNullDefaultAnnotation(binaryType, this.fPackage, this);
-
if (iFields != null) {
for (int i = 0; i < iFields.length; i++)
scanFieldForNullAnnotation(iFields[i], this.fields[i], this.isEnum());
@@ -508,10 +516,20 @@
private TypeAnnotationWalker getTypeAnnotationWalker(IBinaryTypeAnnotation[] annotations) {
if (!isPrototype()) throw new IllegalStateException();
- if (annotations == null || annotations.length == 0)
+ if (annotations == null || annotations.length == 0 || !this.environment.usesAnnotatedTypeSystem()) {
+ if (this.environment.globalOptions.isAnnotationBasedNullAnalysisEnabled) {
+ int nullness = getNullDefault();
+ if (nullness > Binding.NULL_UNSPECIFIED_BY_DEFAULT)
+ return new NonNullDefaultAwareTypeAnnotationWalker(nullness, this.environment);
+ }
return TypeAnnotationWalker.EMPTY_ANNOTATION_WALKER;
-
- return this.environment.usesAnnotatedTypeSystem() ? new TypeAnnotationWalker(annotations) : TypeAnnotationWalker.EMPTY_ANNOTATION_WALKER;
+ }
+ if (this.environment.globalOptions.isAnnotationBasedNullAnalysisEnabled) {
+ int nullness = getNullDefault();
+ if (nullness > Binding.NULL_UNSPECIFIED_BY_DEFAULT)
+ return new NonNullDefaultAwareTypeAnnotationWalker(annotations, nullness, this.environment);
+ }
+ return new TypeAnnotationWalker(annotations);
}
private void createFields(IBinaryField[] iFields, long sourceLevel, char[][][] missingTypeNames) {
@@ -575,13 +593,10 @@
if (sourceLevel < ClassFileConstants.JDK1_5)
methodModifiers &= ~ClassFileConstants.AccVarargs; // vararg methods are not recognized until 1.5
if (isInterface() && (methodModifiers & ClassFileConstants.AccAbstract) == 0) {
- // see https://bugs.eclipse.org/388954
- if (sourceLevel >= ClassFileConstants.JDK1_8) {
- if ((methodModifiers & ClassFileConstants.AccStatic) == 0) {
- methodModifiers |= ExtraCompilerModifiers.AccDefaultMethod;
- }
- } else {
- methodModifiers |= ClassFileConstants.AccAbstract;
+ // see https://bugs.eclipse.org/388954 superseded by https://bugs.eclipse.org/390889
+ if ((methodModifiers & ClassFileConstants.AccStatic) == 0) {
+ // i.e. even at 1.7- we record AccDefaultMethod when reading a 1.8+ interface to avoid errors caused by default methods added to a library
+ methodModifiers |= ExtraCompilerModifiers.AccDefaultMethod;
}
}
ReferenceBinding[] exceptions = Binding.NO_EXCEPTIONS;
@@ -643,12 +658,7 @@
// 'paramAnnotations' line up with 'parameters'
// int parameter to method.getParameterAnnotations() include the synthetic arg
if (paramAnnotations != null)
- // BUGFIX PICKED UP? NO NEED TO PATCH ANYMORE?
-// /* Aspectj extension start:309440: was:
paramAnnotations[i - startIndex] = createAnnotations(method.getParameterAnnotations(i - startIndex), this.environment, missingTypeNames);
-// // now */
-// paramAnnotations[i - startIndex] = createAnnotations(method.getParameterAnnotations(i-startIndex), this.environment);
-// // AspectJ extension end
}
index = end + 1;
}
@@ -801,7 +811,7 @@
result.setAnnotations(
createAnnotations(annotations, this.environment, missingTypeNames),
paramAnnotations,
- isAnnotationType() ? convertMemberValue(method.getDefaultValue(), this.environment, missingTypeNames) : null,
+ isAnnotationType() ? convertMemberValue(method.getDefaultValue(), this.environment, missingTypeNames, true) : null,
this.environment);
}
@@ -1117,6 +1127,7 @@
public FieldBinding getFieldBase(char[] fieldName, boolean needResolve) { // AspectJ Extension - added Base to name
if (!isPrototype())
return this.prototype.getField(fieldName, needResolve);
+
// lazily sort fields
if ((this.tagBits & TagBits.AreFieldsSorted) == 0) {
int length = this.fields.length;
@@ -1153,8 +1164,10 @@
}
// NOTE: the return type, arg & exception types of each method of a binary type are resolved when needed
public MethodBinding[] getMethodsBase(char[] selector) { // AspectJ Extension - added Base to name
- if (!isPrototype())
- return this.prototype.getMethods(selector);
+
+ if (!isPrototype())
+ return this.prototype.getMethods(selector);
+
if ((this.tagBits & TagBits.AreMethodsComplete) != 0) {
long range;
if ((range = ReferenceBinding.binarySearch(selector, this.methods)) >= 0) {
@@ -1518,7 +1531,7 @@
if (fieldType != null
&& !fieldType.isBaseType()
&& (fieldType.tagBits & TagBits.AnnotationNullMASK) == 0
- && (this.tagBits & TagBits.AnnotationNonNullByDefault) != 0) {
+ && hasNonNullDefaultFor(DefaultLocationField, true)) {
fieldBinding.type = this.environment.createAnnotatedType(fieldType, new AnnotationBinding[]{this.environment.getNonNullAnnotation()});
}
return; // not using fieldBinding.tagBits when we have type annotations.
@@ -1586,6 +1599,8 @@
char[][] typeName = CharOperation.splitOn('/', annotationTypeName, 1, annotationTypeName.length-1); // cut of leading 'L' and trailing ';'
if (CharOperation.equals(typeName, nonNullByDefaultAnnotationName)) {
methodBinding.tagBits |= TagBits.AnnotationNonNullByDefault;
+ if (useTypeAnnotations)
+ methodBinding.defaultNullness = getNonNullByDefaultValue(annotations[i]);
}
if (!useTypeAnnotations && !explicitNullness) {
if (CharOperation.equals(typeName, nonNullAnnotationName)) {
@@ -1634,6 +1649,7 @@
}
}
}
+// pre: null annotation analysis is enabled
private void scanTypeForNullDefaultAnnotation(IBinaryType binaryType, PackageBinding packageBinding, BinaryTypeBinding binaryBinding) {
if (!isPrototype()) throw new IllegalStateException();
char[][] nonNullByDefaultAnnotationName = this.environment.getNonNullByDefaultAnnotationName();
@@ -1642,6 +1658,7 @@
IBinaryAnnotation[] annotations = binaryType.getAnnotations();
boolean isPackageInfo = CharOperation.equals(binaryBinding.sourceName(), TypeConstants.PACKAGE_INFO_NAME);
+ boolean useTypeAnnotations = this.environment.globalOptions.sourceLevel >= ClassFileConstants.JDK1_8;
if (annotations != null) {
long annotationBit = 0L;
int nullness = NO_NULL_DEFAULT;
@@ -1653,21 +1670,28 @@
char[][] typeName = CharOperation.splitOn('/', annotationTypeName, 1, annotationTypeName.length-1); // cut of leading 'L' and trailing ';'
if (CharOperation.equals(typeName, nonNullByDefaultAnnotationName)) {
IBinaryElementValuePair[] elementValuePairs = annotations[i].getElementValuePairs();
- if (elementValuePairs != null && elementValuePairs.length == 1) {
- Object value = elementValuePairs[0].getValue();
- if (value instanceof BooleanConstant
- && !((BooleanConstant)value).booleanValue())
- {
- // parameter is 'false': this means we cancel defaults from outer scopes:
- annotationBit = TagBits.AnnotationNullUnspecifiedByDefault;
- nullness = NULL_UNSPECIFIED_BY_DEFAULT;
- break;
- } else if (value instanceof Object[] && ((Object[])value).length == 0) {
- // parameter is '{}': this means we cancel defaults from outer scopes:
- annotationBit = TagBits.AnnotationNullUnspecifiedByDefault;
- nullness = NULL_UNSPECIFIED_BY_DEFAULT;
- break;
+ if (!useTypeAnnotations) {
+ if (elementValuePairs != null && elementValuePairs.length == 1) {
+ Object value = elementValuePairs[0].getValue();
+ if (value instanceof BooleanConstant
+ && !((BooleanConstant)value).booleanValue())
+ {
+ // parameter is 'false': this means we cancel defaults from outer scopes:
+ annotationBit = TagBits.AnnotationNullUnspecifiedByDefault;
+ nullness = NULL_UNSPECIFIED_BY_DEFAULT;
+ break;
+ }
}
+ } else {
+ // using NonNullByDefault we need to inspect the details of the value() attribute:
+ nullness = getNonNullByDefaultValue(annotations[i]);
+ if (nullness == NULL_UNSPECIFIED_BY_DEFAULT) {
+ annotationBit = TagBits.AnnotationNullUnspecifiedByDefault;
+ } else if (nullness != 0) {
+ annotationBit = TagBits.AnnotationNonNullByDefault;
+ }
+ this.defaultNullness = nullness;
+ break;
}
annotationBit = TagBits.AnnotationNonNullByDefault;
nullness = NONNULL_BY_DEFAULT;
@@ -1688,12 +1712,19 @@
}
ReferenceBinding enclosingTypeBinding = binaryBinding.enclosingType;
if (enclosingTypeBinding != null) {
- if ((enclosingTypeBinding.tagBits & TagBits.AnnotationNonNullByDefault) != 0) {
- binaryBinding.tagBits |= TagBits.AnnotationNonNullByDefault;
- return;
- } else if ((enclosingTypeBinding.tagBits & TagBits.AnnotationNullUnspecifiedByDefault) != 0) {
- binaryBinding.tagBits |= TagBits.AnnotationNullUnspecifiedByDefault;
- return;
+ if (useTypeAnnotations) {
+ binaryBinding.defaultNullness = enclosingTypeBinding.getNullDefault();
+ if (binaryBinding.defaultNullness != 0) {
+ return;
+ }
+ } else {
+ if ((enclosingTypeBinding.tagBits & TagBits.AnnotationNonNullByDefault) != 0) {
+ binaryBinding.tagBits |= TagBits.AnnotationNonNullByDefault;
+ return;
+ } else if ((enclosingTypeBinding.tagBits & TagBits.AnnotationNullUnspecifiedByDefault) != 0) {
+ binaryBinding.tagBits |= TagBits.AnnotationNullUnspecifiedByDefault;
+ return;
+ }
}
}
// no annotation found on the type or its enclosing types
@@ -1706,16 +1737,55 @@
}
}
// no @NonNullByDefault at type level, check containing package:
- switch (packageBinding.defaultNullness) {
- case Binding.NONNULL_BY_DEFAULT :
- binaryBinding.tagBits |= TagBits.AnnotationNonNullByDefault;
- break;
- case Binding.NULL_UNSPECIFIED_BY_DEFAULT :
- binaryBinding.tagBits |= TagBits.AnnotationNullUnspecifiedByDefault;
- break;
+ if (useTypeAnnotations) {
+ binaryBinding.defaultNullness = packageBinding.defaultNullness;
+ } else {
+ switch (packageBinding.defaultNullness) {
+ case Binding.NONNULL_BY_DEFAULT :
+ binaryBinding.tagBits |= TagBits.AnnotationNonNullByDefault;
+ break;
+ case Binding.NULL_UNSPECIFIED_BY_DEFAULT :
+ binaryBinding.tagBits |= TagBits.AnnotationNullUnspecifiedByDefault;
+ break;
+ }
}
}
+/** given an application of @NonNullByDefault convert the annotation argument (if any) into a bitvector a la {@link Binding#NullnessDefaultMASK} */
+// pre: null annotation analysis is enabled
+int getNonNullByDefaultValue(IBinaryAnnotation annotation) {
+ char[] annotationTypeName = annotation.getTypeName();
+ char[][] typeName = CharOperation.splitOn('/', annotationTypeName, 1, annotationTypeName.length-1); // cut of leading 'L' and trailing ';'
+ IBinaryElementValuePair[] elementValuePairs = annotation.getElementValuePairs();
+ if (elementValuePairs == null || elementValuePairs.length == 0 ) {
+ // no argument: apply default default
+ ReferenceBinding annotationType = this.environment.getType(typeName);
+ if (annotationType == null) return 0;
+ if (annotationType.isUnresolvedType())
+ annotationType = ((UnresolvedReferenceBinding) annotationType).resolve(this.environment, false);
+ MethodBinding[] annotationMethods = annotationType.methods();
+ if (annotationMethods != null && annotationMethods.length == 1) {
+ Object value = annotationMethods[0].getDefaultValue();
+ return Annotation.nullTagBitsFromAnnotationValue(value);
+ }
+ } else if (elementValuePairs.length > 0) {
+ // evaluate the contained EnumConstantSignatures:
+ int nullness = 0;
+ for (int i = 0; i < elementValuePairs.length; i++)
+ nullness |= Annotation.nullTagBitsFromAnnotationValue(elementValuePairs[i].getValue());
+ return nullness;
+ } else {
+ // empty argument: cancel all defaults from enclosing scopes
+ return NULL_UNSPECIFIED_BY_DEFAULT;
+ }
+ return 0;
+}
+
+@Override
+int getNullDefault() {
+ return this.defaultNullness;
+}
+
private void scanTypeForContainerAnnotation(IBinaryType binaryType, char[][][] missingTypeNames) {
if (!isPrototype()) throw new IllegalStateException();
IBinaryAnnotation[] annotations = binaryType.getAnnotations();
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Binding.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Binding.java
index e3cb8b7..15d173d 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Binding.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Binding.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -10,6 +10,7 @@
* Stephan Herrmann - Contribution for
* bug 365531 - [compiler][null] investigate alternative strategy for internally encoding nullness defaults
* Bug 400874 - [1.8][compiler] Inference infrastructure should evolve to meet JLS8 18.x (Part G of JSR335 spec)
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
* Jesper Steen Moller - Contributions for
* Bug 412150 [1.8] [compiler] Enable reflected parameter names during annotation processing
*******************************************************************************/
@@ -66,8 +67,44 @@
// Nullness defaults:
public static final int NO_NULL_DEFAULT = 0;
- public static final int NULL_UNSPECIFIED_BY_DEFAULT = 1;
- public static final int NONNULL_BY_DEFAULT = 2;
+ // SE5 style:
+ public static final int NONNULL_BY_DEFAULT = 1;
+ public static final int NULL_UNSPECIFIED_BY_DEFAULT = 2;
+ // JSR308 style:
+ /**
+ * Bit in defaultNullness bit vectors, representing the enum constant DefaultLocation#PARAMETER
+ */
+ public static final int DefaultLocationParameter = ASTNode.Bit4;
+ /**
+ * Bit in defaultNullness bit vectors, representing the enum constant DefaultLocation#RETURN_TYPE
+ */
+ public static final int DefaultLocationReturnType = ASTNode.Bit5;
+ /**
+ * Bit in defaultNullness bit vectors, representing the enum constant DefaultLocation#FIELD
+ */
+ public static final int DefaultLocationField = ASTNode.Bit6;
+ /**
+ * Bit in defaultNullness bit vectors, representing the enum constant DefaultLocation#TYPE_ARGUMENT
+ */
+ public static final int DefaultLocationTypeArgument = ASTNode.Bit7;
+ /**
+ * Bit in defaultNullness bit vectors, representing the enum constant DefaultLocation#TYPE_PARAMETER
+ */
+ public static final int DefaultLocationTypeParameter = ASTNode.Bit8;
+ /**
+ * Bit in defaultNullness bit vectors, representing the enum constant DefaultLocation#TYPE_BOUND
+ */
+ public static final int DefaultLocationTypeBound = ASTNode.Bit9;
+ /**
+ * Bit in defaultNullness bit vectors, representing the enum constant DefaultLocation#ARRAY_CONTENTS
+ * TODO: this constant is not yet used, due to difficulty to discern these annotations between SE5 / SE8
+ */
+ public static final int DefaultLocationArrayContents = ASTNode.Bit10;
+
+ public static final int NullnessDefaultMASK =
+ NULL_UNSPECIFIED_BY_DEFAULT | // included to terminate search up the parent chain
+ DefaultLocationParameter | DefaultLocationReturnType | DefaultLocationField |
+ DefaultLocationTypeArgument | DefaultLocationTypeParameter | DefaultLocationTypeBound | DefaultLocationArrayContents;
/*
* Answer the receiver's binding type from Binding.BindingID.
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BlockScope.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BlockScope.java
index 77b4294..b4ff78d 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BlockScope.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BlockScope.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -17,6 +17,7 @@
* bug 379784 - [compiler] "Method can be static" is not getting reported
* bug 394768 - [compiler][resource] Incorrect resource leak warning when creating stream in conditional
* bug 404649 - [1.8][compiler] detect illegal reference to indirect or redundant super
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
* Jesper S Moller <jesper@selskabet.org> - Contributions for
* bug 378674 - "The method can be declared as static" is wrong
* Keigo Imai - Contribution for bug 388903 - Cannot extend inner class as an anonymous class when it extends the outer class
@@ -61,6 +62,9 @@
public final static VariableBinding[] NoEnclosingInstanceInStaticContext = {};
+ // annotation support
+ public boolean insideTypeAnnotation = false;
+
public BlockScope(BlockScope parent) {
this(parent, true);
}
@@ -99,7 +103,7 @@
MethodScope methodScope = methodScope();
while (methodScope != null && methodScope.referenceContext instanceof LambdaExpression) {
LambdaExpression lambda = (LambdaExpression) methodScope.referenceContext;
- if (!lambda.scope.isStatic) {
+ if (!lambda.scope.isStatic && !lambda.scope.isConstructorCall) {
lambda.shouldCaptureInstance = true;
}
methodScope = methodScope.enclosingMethodScope();
@@ -117,7 +121,7 @@
MethodScope methodScope = methodScope();
while (methodScope != null && methodScope.referenceContext instanceof LambdaExpression) {
LambdaExpression lambda = (LambdaExpression) methodScope.referenceContext;
- if (!lambda.scope.isStatic) {
+ if (!lambda.scope.isStatic && !lambda.scope.isConstructorCall) {
lambda.shouldCaptureInstance = true;
}
methodScope = methodScope.enclosingMethodScope();
@@ -1232,4 +1236,8 @@
}
return true;
}
+@Override
+public boolean hasDefaultNullnessFor(int location) {
+ return this.parent.hasDefaultNullnessFor(location);
+}
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BoundSet.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BoundSet.java
index ca1af60..ce29c0a 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BoundSet.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BoundSet.java
@@ -233,11 +233,17 @@
* which only happens if null annotations are enabled in the first place.
*/
private void useNullHints(long nullHints, TypeBinding[] boundTypes, LookupEnvironment environment) {
- AnnotationBinding[] annot = environment.nullAnnotationsFromTagBits(nullHints);
- if (annot != null) {
- // only get here if exactly one of @NonNull or @Nullable was hinted; now apply this hint:
+ if (nullHints == TagBits.AnnotationNullMASK) {
+ // on contradiction remove null type annotations
for (int i = 0; i < boundTypes.length; i++)
- boundTypes[i] = environment.createAnnotatedType(boundTypes[i], annot);
+ boundTypes[i] = boundTypes[i].unannotated();
+ } else {
+ AnnotationBinding[] annot = environment.nullAnnotationsFromTagBits(nullHints);
+ if (annot != null) {
+ // only get here if exactly one of @NonNull or @Nullable was hinted; now apply this hint:
+ for (int i = 0; i < boundTypes.length; i++)
+ boundTypes[i] = environment.createAnnotatedType(boundTypes[i], annot);
+ }
}
}
TypeBinding combineAndUseNullHints(TypeBinding type, long nullHints, LookupEnvironment environment) {
@@ -259,6 +265,8 @@
while(it.hasNext())
nullHints |= it.next().nullHints;
}
+ if (nullHints == TagBits.AnnotationNullMASK) // on contradiction remove null type annotations
+ return type.unannotated();
AnnotationBinding[] annot = environment.nullAnnotationsFromTagBits(nullHints);
if (annot != null)
// only get here if exactly one of @NonNull or @Nullable was hinted; now apply this hint:
@@ -306,7 +314,7 @@
for (int i = 0; i < length; i++) {
TypeVariableBinding typeParameter = typeParameters[i];
InferenceVariable variable = variables[i];
- TypeBound[] someBounds = typeParameter.getTypeBounds(variable, context);
+ TypeBound[] someBounds = typeParameter.getTypeBounds(variable, new InferenceSubstitution(context.environment, context.inferenceVariables));
boolean hasProperBound = false;
if (someBounds.length > 0)
hasProperBound = addBounds(someBounds, context.environment);
@@ -503,12 +511,21 @@
ParameterizedTypeBinding gAlpha = capt.getKey();
ParameterizedTypeBinding gA = capt.getValue();
ReferenceBinding g = (ReferenceBinding) gA.original();
- TypeVariableBinding[] parameters = g.typeVariables();
+ final TypeVariableBinding[] parameters = g.typeVariables();
+ // construct theta = [P1:=alpha1,...]
+ final InferenceVariable[] alphas = new InferenceVariable[gAlpha.arguments.length];
+ System.arraycopy(gAlpha.arguments, 0, alphas, 0, alphas.length);
+ InferenceSubstitution theta = new InferenceSubstitution(context.environment, alphas) {
+ @Override
+ protected TypeBinding getP(int i) {
+ return parameters[i];
+ }
+ };
for (int i = 0; i < parameters.length; i++) {
// A set of bounds on α1, ..., αn, constructed from the declared bounds of P1, ..., Pn as described in 18.1.3, is immediately implied.
TypeVariableBinding pi = parameters[i];
InferenceVariable alpha = (InferenceVariable) gAlpha.arguments[i];
- addBounds(pi.getTypeBounds(alpha, context), context.environment);
+ addBounds(pi.getTypeBounds(alpha, theta), context.environment);
TypeBinding ai = gA.arguments[i];
if (ai instanceof WildcardBinding) {
@@ -546,7 +563,7 @@
System.arraycopy(otherBounds, 0, allBounds, 1, n-1);
bi = new IntersectionCastTypeBinding(allBounds, context.environment);
}
- addTypeBoundsFromWildcardBound(context, wildcardBinding.boundKind, t, r, bi);
+ addTypeBoundsFromWildcardBound(context, theta, wildcardBinding.boundKind, t, r, bi);
// if (otherBounds != null) {
// for (int j = 0; j < otherBounds.length; j++) {
// TypeBinding tj = otherBounds[j];
@@ -582,16 +599,16 @@
return true;
}
- void addTypeBoundsFromWildcardBound(InferenceContext18 context, int boundKind, TypeBinding t,
+ void addTypeBoundsFromWildcardBound(InferenceContext18 context, InferenceSubstitution theta, int boundKind, TypeBinding t,
TypeBinding r, TypeBinding bi) throws InferenceFailureException {
ConstraintFormula formula = null;
if (boundKind == Wildcard.EXTENDS) {
if (bi.id == TypeIds.T_JavaLangObject)
formula = ConstraintTypeFormula.create(t, r, ReductionResult.SUBTYPE);
if (t.id == TypeIds.T_JavaLangObject)
- formula = ConstraintTypeFormula.create(context.substitute(bi), r, ReductionResult.SUBTYPE);
+ formula = ConstraintTypeFormula.create(theta.substitute(theta, bi), r, ReductionResult.SUBTYPE);
} else {
- formula = ConstraintTypeFormula.create(context.substitute(bi), r, ReductionResult.SUBTYPE);
+ formula = ConstraintTypeFormula.create(theta.substitute(theta, bi), r, ReductionResult.SUBTYPE);
}
if (formula != null)
reduceOneConstraint(context, formula);
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CaptureBinding.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CaptureBinding.java
index 32a9d58..def8c42 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CaptureBinding.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CaptureBinding.java
@@ -290,18 +290,25 @@
StringBuffer nameBuffer = new StringBuffer(10);
appendNullAnnotation(nameBuffer, options);
nameBuffer.append(this.sourceName());
- if (this.wildcard != null) {
- nameBuffer.append("of "); //$NON-NLS-1$
- nameBuffer.append(this.wildcard.nullAnnotatedReadableName(options, shortNames));
- } else if (this.lowerBound != null) {
- nameBuffer.append(" super "); //$NON-NLS-1$
- nameBuffer.append(this.lowerBound.nullAnnotatedReadableName(options, shortNames));
- } else if (this.firstBound != null) {
- nameBuffer.append(" extends "); //$NON-NLS-1$
- nameBuffer.append(this.firstBound.nullAnnotatedReadableName(options, shortNames));
- TypeBinding[] otherUpperBounds = this.otherUpperBounds();
- if (otherUpperBounds != NO_TYPES)
- nameBuffer.append(" & ..."); //$NON-NLS-1$ // only hint at more bounds, we currently don't evaluate null annotations on otherUpperBounds
+ if (!this.inRecursiveFunction) { // CaptureBinding18 can be recursive indeed
+ this.inRecursiveFunction = true;
+ try {
+ if (this.wildcard != null) {
+ nameBuffer.append("of "); //$NON-NLS-1$
+ nameBuffer.append(this.wildcard.nullAnnotatedReadableName(options, shortNames));
+ } else if (this.lowerBound != null) {
+ nameBuffer.append(" super "); //$NON-NLS-1$
+ nameBuffer.append(this.lowerBound.nullAnnotatedReadableName(options, shortNames));
+ } else if (this.firstBound != null) {
+ nameBuffer.append(" extends "); //$NON-NLS-1$
+ nameBuffer.append(this.firstBound.nullAnnotatedReadableName(options, shortNames));
+ TypeBinding[] otherUpperBounds = this.otherUpperBounds();
+ if (otherUpperBounds != NO_TYPES)
+ nameBuffer.append(" & ..."); //$NON-NLS-1$ // only hint at more bounds, we currently don't evaluate null annotations on otherUpperBounds
+ }
+ } finally {
+ this.inRecursiveFunction = false;
+ }
}
int nameLength = nameBuffer.length();
char[] readableName = new char[nameLength];
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CaptureBinding18.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CaptureBinding18.java
index 609e9ff..0ae9d2f 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CaptureBinding18.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CaptureBinding18.java
@@ -30,25 +30,15 @@
if (upperBounds.length > 0)
this.firstBound = upperBounds[0];
int numReferenceInterfaces = 0;
+ if (!isConsistentIntersection(upperBounds))
+ return false;
for (int i = 0; i < upperBounds.length; i++) {
TypeBinding aBound = upperBounds[i];
- if (!aBound.isWildcard() && !aBound.isTypeVariable() && aBound.isProperType(true)) {
- // check for inconsistency between any two real types:
- for (int j = 0; j < upperBounds.length; j++) {
- if (i == j) continue;
- TypeBinding otherBound = upperBounds[j];
- if (!otherBound.isWildcard() && !otherBound.isTypeVariable() && otherBound.isProperType(true))
- if (aBound.erasure().isCompatibleWith(otherBound.erasure()))
- if (!aBound.isCompatibleWith(otherBound))
- return false;
- }
- }
if (aBound instanceof ReferenceBinding) {
if (this.superclass == null && aBound.isClass())
- this.superclass = (ReferenceBinding) upperBounds[i];
+ this.superclass = (ReferenceBinding) aBound;
else if (aBound.isInterface())
numReferenceInterfaces++;
- // TODO: what about additional super classes?? (see isCompatibleWith)
}
}
this.superInterfaces = new ReferenceBinding[numReferenceInterfaces];
@@ -80,9 +70,16 @@
public TypeBinding erasure() {
if (this.upperBounds != null && this.upperBounds.length > 1) {
ReferenceBinding[] erasures = new ReferenceBinding[this.upperBounds.length];
+ boolean multipleErasures = false;
for (int i = 0; i < this.upperBounds.length; i++) {
erasures[i] = (ReferenceBinding) this.upperBounds[i].erasure(); // FIXME cast?
+ if (i > 0) {
+ if (TypeBinding.notEquals(erasures[0], erasures[i]))
+ multipleErasures = true;
+ }
}
+ if (!multipleErasures)
+ return erasures[0];
return new IntersectionCastTypeBinding(erasures, this.environment);
}
return super.erasure();
@@ -120,13 +117,20 @@
}
public boolean isCompatibleWith(TypeBinding otherType, Scope captureScope) {
- if (this.upperBounds != null) {
- for (int i = 0; i < this.upperBounds.length; i++) {
- if (this.upperBounds[i].isCompatibleWith(otherType, captureScope))
- return true;
+ if (this.inRecursiveFunction)
+ return true;
+ this.inRecursiveFunction = true;
+ try {
+ if (this.upperBounds != null) {
+ for (int i = 0; i < this.upperBounds.length; i++) {
+ if (this.upperBounds[i].isCompatibleWith(otherType, captureScope))
+ return true;
+ }
}
+ return super.isCompatibleWith(otherType, captureScope);
+ } finally {
+ this.inRecursiveFunction = false;
}
- return super.isCompatibleWith(otherType, captureScope);
}
public TypeBinding findSuperTypeOriginatingFrom(TypeBinding otherType) {
@@ -189,11 +193,25 @@
}
}
if (haveSubstitution) {
- CaptureBinding18 newCapture = (CaptureBinding18) clone(enclosingType());
- newCapture.superclass = currentSuperclass;
- newCapture.superInterfaces = currentSuperInterfaces;
- newCapture.upperBounds = currentUpperBounds;
+ final CaptureBinding18 newCapture = (CaptureBinding18) clone(enclosingType());
newCapture.tagBits = this.tagBits;
+ Substitution substitution = new Substitution() {
+ @Override
+ public TypeBinding substitute(TypeVariableBinding typeVariable) {
+ return (typeVariable == CaptureBinding18.this) ? newCapture : typeVariable; //$IDENTITY-COMPARISON$
+ }
+ @Override
+ public boolean isRawSubstitution() {
+ return false;
+ }
+ @Override
+ public LookupEnvironment environment() {
+ return CaptureBinding18.this.environment;
+ }
+ };
+ newCapture.superclass = (ReferenceBinding) Scope.substitute(substitution, currentSuperclass);
+ newCapture.superInterfaces = Scope.substitute(substitution, currentSuperInterfaces);
+ newCapture.upperBounds = Scope.substitute(substitution, currentUpperBounds);
return newCapture;
}
return this;
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ClassScope.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ClassScope.java
index 09eefa8..ffcc07a 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ClassScope.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ClassScope.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -17,11 +17,14 @@
* Bug 395002 - Self bound generic class doesn't resolve bounds properly for wildcards for certain parametrisation.
* Bug 416176 - [1.8][compiler][null] null type annotations cause grief on type variables
* Bug 427199 - [1.8][resource] avoid resource leak warnings on Streams that have no resource
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
+ * Bug 434570 - Generic type mismatch for parametrized class annotation attribute with inner class
* Andy Clement (GoPivotal, Inc) aclement@gopivotal.com - Contributions for
* Bug 415821 - [1.8][compiler] CLASS_EXTENDS target type annotation missing for anonymous classes
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.lookup;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
@@ -46,7 +49,8 @@
public TypeDeclaration referenceContext;
public TypeReference superTypeReference;
- java.util.ArrayList deferredBoundChecks;
+ java.util.ArrayList<Object> deferredBoundChecks; // contains TypeReference or Runnable. TODO consider making this a List<Runnable>
+ boolean connectingHierarchy;
public ClassScope(Scope parent, TypeDeclaration context) {
super(Scope.CLASS_SCOPE, parent);
@@ -927,8 +931,11 @@
// Perform deferred bound checks for parameterized type references (only done after hierarchy is connected)
public void checkParameterizedTypeBounds() {
- for (int i = 0, l = this.deferredBoundChecks == null ? 0 : this.deferredBoundChecks.size(); i < l; i++)
- ((TypeReference) this.deferredBoundChecks.get(i)).checkBounds(this);
+ for (int i = 0, l = this.deferredBoundChecks == null ? 0 : this.deferredBoundChecks.size(); i < l; i++) {
+ Object toCheck = this.deferredBoundChecks.get(i);
+ if (toCheck instanceof TypeReference)
+ ((TypeReference) toCheck).checkBounds(this);
+ }
this.deferredBoundChecks = null;
ReferenceBinding[] memberTypes = this.referenceContext.binding.memberTypes;
@@ -1128,17 +1135,24 @@
void connectTypeHierarchy() {
SourceTypeBinding sourceType = this.referenceContext.binding;
- if ((sourceType.tagBits & TagBits.BeginHierarchyCheck) == 0) {
- sourceType.tagBits |= TagBits.BeginHierarchyCheck;
- environment().typesBeingConnected.add(sourceType);
- boolean noProblems = connectSuperclass();
- noProblems &= connectSuperInterfaces();
- environment().typesBeingConnected.remove(sourceType);
- sourceType.tagBits |= TagBits.EndHierarchyCheck;
- noProblems &= connectTypeVariables(this.referenceContext.typeParameters, false);
- sourceType.tagBits |= TagBits.TypeVariablesAreConnected;
- if (noProblems && sourceType.isHierarchyInconsistent())
- problemReporter().hierarchyHasProblems(sourceType);
+ try {
+ if ((sourceType.tagBits & TagBits.BeginHierarchyCheck) == 0) {
+ this.connectingHierarchy = true;
+ sourceType.tagBits |= TagBits.BeginHierarchyCheck;
+ environment().typesBeingConnected.add(sourceType);
+ boolean noProblems = connectSuperclass();
+ noProblems &= connectSuperInterfaces();
+ environment().typesBeingConnected.remove(sourceType);
+ sourceType.tagBits |= TagBits.EndHierarchyCheck;
+ noProblems &= connectTypeVariables(this.referenceContext.typeParameters, false);
+ sourceType.tagBits |= TagBits.TypeVariablesAreConnected;
+ if (noProblems && sourceType.isHierarchyInconsistent())
+ problemReporter().hierarchyHasProblems(sourceType);
+ }
+ connectMemberTypes();
+ } finally {
+ this.connectingHierarchy = false;
+ deferredMemberValueCheck();
}
connectMemberTypes();
LookupEnvironment env = environment();
@@ -1153,6 +1167,31 @@
}
}
+ @Override
+ public boolean deferCheck(Runnable check) {
+ if (this.connectingHierarchy) {
+ if (this.deferredBoundChecks == null)
+ this.deferredBoundChecks = new ArrayList<Object>();
+ this.deferredBoundChecks.add(check);
+ return true;
+ } else {
+ return super.deferCheck(check);
+ }
+ }
+
+ private void deferredMemberValueCheck() {
+ if (this.deferredBoundChecks != null) {
+ Iterator iterator = this.deferredBoundChecks.iterator();
+ while (iterator.hasNext()) {
+ Object check = iterator.next();
+ if (check instanceof Runnable) {
+ ((Runnable)check).run();
+ iterator.remove();
+ }
+ }
+ }
+ }
+
private void connectTypeHierarchyWithoutMembers() {
// must ensure the imports are resolved
if (this.parent instanceof CompilationUnitScope) {
@@ -1349,6 +1388,17 @@
return this.referenceContext;
}
+ @Override
+ public boolean hasDefaultNullnessFor(int location) {
+ SourceTypeBinding binding = this.referenceContext.binding;
+ if (binding != null) {
+ int nullDefault = binding.getNullDefault();
+ if (nullDefault != 0)
+ return (nullDefault & location) != 0;
+ }
+ return this.parent.hasDefaultNullnessFor(location);
+ }
+
public String toString() {
if (this.referenceContext != null)
return "--- Class Scope ---\n\n" //$NON-NLS-1$
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CompilationUnitScope.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CompilationUnitScope.java
index 9d1c2ba..ca8e491 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CompilationUnitScope.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/CompilationUnitScope.java
@@ -8,6 +8,8 @@
* Contributors:
* IBM Corporation - initial API and implementation
* Erling Ellingsen - patch for bug 125570
+ * Stephan Herrmann - Contribution for
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.lookup;
@@ -41,6 +43,18 @@
private ImportBinding[] tempImports; // to keep a record of resolved imports while traversing all in faultInImports()
+ /**
+ * Flag that should be set during annotation traversal or similar runs
+ * to prevent caching of failures regarding imports of yet to be generated classes.
+ */
+ public boolean suppressImportErrors;
+
+ /**
+ * Skips import caching if unresolved imports were
+ * found last time.
+ */
+ private boolean skipCachingImports;
+
public CompilationUnitScope(CompilationUnitDeclaration unit, LookupEnvironment environment) {
super(COMPILATION_UNIT_SCOPE, null);
this.environment = environment;
@@ -322,7 +336,11 @@
this.topLevelTypes[i].scope.connectTypeHierarchy();
}
void faultInImports() {
- if (this.typeOrPackageCache != null)
+ boolean unresolvedFound = false;
+ // should report unresolved only if we are not suppressing caching of failed resolutions
+ boolean reportUnresolved = !this.suppressImportErrors;
+
+ if (this.typeOrPackageCache != null && !this.skipCachingImports)
return; // can be called when a field constant is resolved before static imports
if (this.referenceContext.imports == null) {
this.typeOrPackageCache = new HashtableOfObject(1);
@@ -393,7 +411,10 @@
if (importBinding.problemId() == ProblemReasons.Ambiguous) {
// keep it unless a duplicate can be found below
} else {
- problemReporter().importProblem(importReference, importBinding);
+ unresolvedFound = true;
+ if (reportUnresolved) {
+ problemReporter().importProblem(importReference, importBinding);
+ }
continue nextImport;
}
}
@@ -430,6 +451,7 @@
if (!binding.onDemand && binding.resolvedImport instanceof ReferenceBinding || binding instanceof ImportConflictBinding)
this.typeOrPackageCache.put(binding.compoundName[binding.compoundName.length - 1], binding);
}
+ this.skipCachingImports = this.suppressImportErrors && unresolvedFound;
}
public void faultInTypes() {
faultInImports();
@@ -957,4 +979,10 @@
}
return this.importPtr;
}
+@Override
+public boolean hasDefaultNullnessFor(int location) {
+ if (this.fPackage != null)
+ return (this.fPackage.defaultNullness & location) != 0;
+ return false;
+}
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula.java
index 010cbf9..d7d5122 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula.java
@@ -345,6 +345,10 @@
return false; // nothing here means we failed
if (TypeBinding.equalsEquals(ca, cb)) // incl C#RAW vs C#RAW
return true;
+ if (!(cb instanceof ParameterizedTypeBinding)) {
+ // if C is parameterized with its own type variables, there're no more constraints to be created here, otherwise let's fail
+ return isInsignificantParameterized(ca);
+ }
TypeBinding[] bi = ((ParameterizedTypeBinding) cb).arguments;
if (cb.isRawType() || bi == null || bi.length == 0)
return (this.isSoft && InferenceContext18.SIMULATE_BUG_JDK_8026527) ? true : false; // FALSE would conform to the spec
@@ -353,6 +357,20 @@
return true;
}
+ private boolean isInsignificantParameterized(ParameterizedTypeBinding ca) {
+ TypeVariableBinding[] typeVariables = ca.original().typeVariables();
+ TypeBinding[] typeArguments = ca.arguments;
+ if (typeVariables == null || typeArguments == null)
+ return typeVariables == typeArguments;
+ if (typeVariables.length != typeArguments.length)
+ return false;
+ for (int i = 0; i < typeArguments.length; i++) {
+ if (TypeBinding.notEquals(typeVariables[i], typeArguments[i]))
+ return false;
+ }
+ return true;
+ }
+
public boolean applySubstitution(BoundSet solutionSet, InferenceVariable[] variables) {
super.applySubstitution(solutionSet, variables);
for (int i=0; i<variables.length; i++) {
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ElementValuePair.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ElementValuePair.java
index 915b593..72f0e74 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ElementValuePair.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ElementValuePair.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -7,6 +7,8 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
+ * Stephan Herrmann - Contribution for
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.lookup;
@@ -18,6 +20,30 @@
char[] name;
public Object value;
public MethodBinding binding;
+
+ /**
+ * We want to avoid eagerly resolving of all enums that are used in annotations.
+ * This class encapsulates an unresolved enum constant as referenced in an ElementValuePair.
+ * The enum constant will be resolved when asking getValue()
+ */
+ public static class UnresolvedEnumConstant {
+ ReferenceBinding enumType;
+ LookupEnvironment environment;
+ char[] enumConstantName;
+ UnresolvedEnumConstant(ReferenceBinding enumType, LookupEnvironment environment, char[] enumConstantName) {
+ this.enumType = enumType;
+ this.environment = environment;
+ this.enumConstantName = enumConstantName;
+ }
+ FieldBinding getResolved() {
+ if (this.enumType.isUnresolvedType())
+ this.enumType = (ReferenceBinding) BinaryTypeBinding.resolveType(this.enumType, this.environment, false /* no raw conversion */);
+ return this.enumType.getField(this.enumConstantName, false);
+ }
+ public char[] getEnumConstantName() {
+ return this.enumConstantName;
+ }
+ }
public static Object getValue(Expression expression) {
if (expression == null)
@@ -88,6 +114,16 @@
* @return the value of this member value pair or null if the value is missing or is not a compile-time constant
*/
public Object getValue() {
+ if (this.value instanceof UnresolvedEnumConstant)
+ this.value = ((UnresolvedEnumConstant)this.value).getResolved();
+ else if (this.value instanceof Object[]) {
+ Object[] valueArray = (Object[]) this.value;
+ for(int i = 0; i < valueArray.length; i++) {
+ Object object = valueArray[i];
+ if (object instanceof UnresolvedEnumConstant)
+ valueArray[i] = ((UnresolvedEnumConstant) object).getResolved();
+ }
+ }
return this.value;
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier.java
index 38333e2..62202b5 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ImplicitNullAnnotationVerifier.java
@@ -74,7 +74,9 @@
if (currentType.id == TypeIds.T_JavaLangObject) {
return;
}
- boolean needToApplyNonNullDefault = currentMethod.hasNonNullDefault();
+ long sourceLevel = scope.compilerOptions().sourceLevel;
+ boolean needToApplyNonNullDefault = currentMethod.hasNonNullDefaultFor(Binding.DefaultLocationParameter|Binding.DefaultLocationReturnType,
+ sourceLevel >= ClassFileConstants.JDK1_8);
// compatibility & inheritance do not consider constructors / static methods:
boolean isInstanceMethod = !currentMethod.isConstructor() && !currentMethod.isStatic();
complain &= isInstanceMethod;
@@ -110,7 +112,6 @@
checkNullSpecInheritance(currentMethod, srcMethod, needToApplyNonNullDefault, complain, currentSuper, scope, inheritedNonNullnessInfos);
needToApplyNonNullDefault = false;
}
- long sourceLevel = scope.compilerOptions().sourceLevel;
// transfer collected information into currentMethod:
InheritedNonNullnessInfo info = inheritedNonNullnessInfos[0];
@@ -166,7 +167,10 @@
return;
// superclass:
- collectOverriddenMethods(original, selector, suggestedParameterLength, currentType.superclass(), ifcsSeen, result);
+ ReferenceBinding superclass = currentType.superclass();
+ if (superclass == null)
+ return; // pseudo root of inheritance, happens in eval contexts
+ collectOverriddenMethods(original, selector, suggestedParameterLength, superclass, ifcsSeen, result);
// superInterfaces:
ReferenceBinding[] superInterfaces = currentType.superInterfaces();
@@ -277,7 +281,13 @@
}
}
if (useTypeAnnotations) {
- if (NullAnnotationMatching.analyse(inheritedMethod.returnType, currentMethod.returnType, 0, true).isAnyMismatch()) {
+ TypeBinding substituteReturnType = null; // for TVB identity checks inside NullAnnotationMatching.analyze()
+ TypeVariableBinding[] typeVariables = inheritedMethod.typeVariables;
+ if (typeVariables != null && currentMethod.returnType.id != TypeIds.T_void) {
+ ParameterizedGenericMethodBinding substitute = this.environment.createParameterizedGenericMethod(currentMethod, typeVariables);
+ substituteReturnType = substitute.returnType;
+ }
+ if (NullAnnotationMatching.analyse(inheritedMethod.returnType, currentMethod.returnType, substituteReturnType, 0, true).isAnyMismatch()) {
scope.problemReporter().cannotImplementIncompatibleNullness(currentMethod, inheritedMethod, useTypeAnnotations);
return;
}
@@ -286,6 +296,15 @@
}
// parameters:
+ TypeBinding[] substituteParameters = null; // for TVB identity checks inside NullAnnotationMatching.analyze()
+ if (shouldComplain) {
+ TypeVariableBinding[] typeVariables = currentMethod.typeVariables;
+ if (typeVariables != Binding.NO_TYPE_VARIABLES) {
+ ParameterizedGenericMethodBinding substitute = this.environment.createParameterizedGenericMethod(inheritedMethod, typeVariables);
+ substituteParameters = substitute.parameters;
+ }
+ }
+
Argument[] currentArguments = srcMethod == null ? null : srcMethod.arguments;
int length = 0;
@@ -384,7 +403,8 @@
}
}
if (useTypeAnnotations) {
- if (NullAnnotationMatching.analyse(currentMethod.parameters[i], inheritedMethod.parameters[i], 0, true).isAnyMismatch()) {
+ TypeBinding substituteParameter = substituteParameters != null ? substituteParameters[i] : null;
+ if (NullAnnotationMatching.analyse(currentMethod.parameters[i], inheritedMethod.parameters[i], substituteParameter, 0, true).isAnyMismatch()) {
scope.problemReporter().cannotImplementIncompatibleNullness(currentMethod, inheritedMethod, false);
}
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18.java
index 71ef290..28c3142 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceContext18.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2013, 2014 GK Software AG.
+ * Copyright (c) 2013, 2014 GK Software AG, and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -7,6 +7,7 @@
*
* Contributors:
* Stephan Herrmann - initial API and implementation
+ * IBM Corporation - Bug fixes
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.lookup;
@@ -58,7 +59,7 @@
* replace occurrences of an inference variable with a proper type.</li>
* <li>{@link TypeBinding#collectInferenceVariables(Set)}:
* collect all inference variables mentioned in the receiver type into the given set.</li>
- * <li>{@link TypeVariableBinding#getTypeBounds(InferenceVariable, InferenceContext18)}:
+ * <li>{@link TypeVariableBinding#getTypeBounds(InferenceVariable, InferenceSubstitution)}:
* Compute the initial type bounds for one inference variable as per JLS8 sect 18.1.3.</li>
* </ul>
* <h2>Phases of Inference</h2>
@@ -928,7 +929,7 @@
final int numVars = variableSet.size();
if (numVars > 0) {
final InferenceVariable[] variables = variableSet.toArray(new InferenceVariable[numVars]);
- if (!tmpBoundSet.hasCaptureBound(variableSet)) {
+ variables: if (!tmpBoundSet.hasCaptureBound(variableSet)) {
// try to instantiate this set of variables in a fresh copy of the bound set:
BoundSet prevBoundSet = tmpBoundSet;
tmpBoundSet = tmpBoundSet.copy();
@@ -955,12 +956,18 @@
glb = upperBounds[0];
} else {
ReferenceBinding[] glbs = Scope.greaterLowerBound((ReferenceBinding[])upperBounds);
- if (glbs == null)
+ if (glbs == null) {
throw new UnsupportedOperationException("no glb for "+Arrays.asList(upperBounds)); //$NON-NLS-1$
- else if (glbs.length == 1)
+ } else if (glbs.length == 1) {
glb = glbs[0];
- else
- glb = new IntersectionCastTypeBinding(glbs, this.environment);
+ } else {
+ IntersectionCastTypeBinding intersection = new IntersectionCastTypeBinding(glbs, this.environment);
+ if (!ReferenceBinding.isConsistentIntersection(intersection.intersectingTypes)) {
+ tmpBoundSet = prevBoundSet; // clean up
+ break variables; // and start over
+ }
+ glb = intersection;
+ }
}
}
tmpBoundSet.addBound(new TypeBound(variable, glb, ReductionResult.SAME), this.environment);
@@ -1492,6 +1499,8 @@
ASTNode.resolvePolyExpressionArguments(invocation, innerBinding, this.scope);
}
}
+ } else if(method instanceof ParameterizedMethodBinding){
+ expression.checkAgainstFinalTargetType(targetType, this.scope);
}
} else {
expression.setExpectedType(targetType);
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution.java
index 675275a..b1f9929 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution.java
@@ -30,7 +30,7 @@
public TypeBinding substitute(Substitution substitution, TypeBinding originalType) {
for (int i = 0; i < this.variables.length; i++) {
InferenceVariable variable = this.variables[i];
- if (TypeBinding.equalsEquals(variable.typeParameter, originalType)) {
+ if (TypeBinding.equalsEquals(getP(i), originalType)) {
variable.nullHints |= originalType.tagBits & TagBits.AnnotationNullMASK;
return variable;
}
@@ -39,15 +39,25 @@
return super.substitute(substitution, originalType);
}
+ /**
+ * Get the type corresponding to the ith inference variable.
+ * Default behavior is to answer the inference variable's type parameter.
+ * Sub-class may override to substitute other types.
+ */
+ protected TypeBinding getP(int i) {
+ return this.variables[i].typeParameter;
+ }
+
public TypeBinding substitute(TypeVariableBinding typeVariable) {
ReferenceBinding superclass = typeVariable.superclass;
ReferenceBinding[] superInterfaces = typeVariable.superInterfaces;
boolean hasSubstituted = false;
variableLoop: for (int i = 0; i < this.variables.length; i++) {
InferenceVariable variable = this.variables[i];
- if (TypeBinding.equalsEquals(variable.typeParameter, typeVariable))
+ TypeBinding pi = getP(i);
+ if (TypeBinding.equalsEquals(pi, typeVariable))
return variable;
- if (TypeBinding.equalsEquals(variable.typeParameter, superclass)) {
+ if (TypeBinding.equalsEquals(pi, superclass)) {
superclass = variable;
hasSubstituted = true;
continue;
@@ -55,7 +65,7 @@
if (superInterfaces != null) {
int ifcLen = superInterfaces.length;
for (int j = 0; j < ifcLen; j++) {
- if (TypeBinding.equalsEquals(variable.typeParameter, superInterfaces[j])) {
+ if (TypeBinding.equalsEquals(pi, superInterfaces[j])) {
if (superInterfaces == typeVariable.superInterfaces)
System.arraycopy(superInterfaces, 0, superInterfaces = new ReferenceBinding[ifcLen], 0, ifcLen);
superInterfaces[j] = variable;
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/LocalTypeBinding.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/LocalTypeBinding.java
index 370964b..4caa764 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/LocalTypeBinding.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/LocalTypeBinding.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -9,7 +9,8 @@
* IBM Corporation - initial API and implementation
* Stephan Herrmann - Contributions for
* bug 365662 - [compiler][null] warn on contradictory and redundant null annotations
- * bug 401030 - [1.8][null] Null analysis support for lambda methods.
+ * bug 401030 - [1.8][null] Null analysis support for lambda methods.
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.lookup;
@@ -99,18 +100,23 @@
return this.superclass; // default answer
}
-protected void checkRedundantNullnessDefaultRecurse(ASTNode location, Annotation[] annotations, long annotationTagBits) {
+protected void checkRedundantNullnessDefaultRecurse(ASTNode location, Annotation[] annotations, long nullBits, boolean isJdk18) {
if (!isPrototype()) throw new IllegalStateException();
- long outerDefault = this.enclosingMethod != null ? this.enclosingMethod.tagBits & ((TagBits.AnnotationNonNullByDefault|TagBits.AnnotationNullUnspecifiedByDefault)) : 0;
+ long outerDefault = 0;
+ if (this.enclosingMethod != null) {
+ outerDefault = isJdk18
+ ? this.enclosingMethod.defaultNullness
+ : this.enclosingMethod.tagBits & (TagBits.AnnotationNonNullByDefault|TagBits.AnnotationNullUnspecifiedByDefault);
+ }
if (outerDefault != 0) {
- if (outerDefault == annotationTagBits) {
+ if (outerDefault == nullBits) {
this.scope.problemReporter().nullDefaultAnnotationIsRedundant(location, annotations, this.enclosingMethod);
}
return;
}
- super.checkRedundantNullnessDefaultRecurse(location, annotations, annotationTagBits);
+ super.checkRedundantNullnessDefaultRecurse(location, annotations, nullBits, isJdk18);
}
public char[] computeUniqueKey(boolean isLeaf) {
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodBinding.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodBinding.java
index 7e8790c..b46f8ae 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodBinding.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodBinding.java
@@ -19,6 +19,7 @@
* Bug 400874 - [1.8][compiler] Inference infrastructure should evolve to meet JLS8 18.x (Part G of JSR335 spec)
* Bug 425152 - [1.8] [compiler] Lambda Expression not resolved but flow analyzed leading to NPE.
* Bug 423505 - [1.8] Implement "18.5.4 More Specific Method Inference"
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
* Jesper Steen Moller - Contributions for
* Bug 412150 [1.8] [compiler] Enable reflected parameter names during annotation processing
*******************************************************************************/
@@ -35,6 +36,7 @@
import org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeDeclaration;
import org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants;
import org.aspectj.org.eclipse.jdt.internal.compiler.codegen.ConstantPool;
+import org.aspectj.org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
import org.aspectj.org.eclipse.jdt.internal.compiler.util.Util;
@SuppressWarnings("rawtypes")
@@ -53,6 +55,7 @@
/** Store nullness information from annotation (incl. applicable default). */
public Boolean[] parameterNonNullness; // TRUE means @NonNull declared, FALSE means @Nullable declared, null means nothing declared
+ public int defaultNullness; // for null *type* annotations
/** Store parameter names from MethodParameters attribute (incl. applicable default). */
public char[][] parameterNames = Binding.NO_PARAMETER_NAMES;
@@ -334,7 +337,7 @@
// for protected we need to check based on the type of this
ReferenceBinding currentType = scope.enclosingSourceType(); //invocationType();// NewNew AspectJ Extension - was enclosingSourceType();
// MUST be in the same package as the invocationType though... (pr 71723)
- if (invocationType != currentType) {
+ if (TypeBinding.notEquals(invocationType,currentType)) {
// this MUST be an ITD
if (invocationType.fPackage != currentType.fPackage) return false;
}
@@ -554,28 +557,31 @@
}
}
+//pre: null annotation analysis is enabled
protected void fillInDefaultNonNullness18(AbstractMethodDeclaration sourceMethod, LookupEnvironment env) {
- boolean added = false;
- int length = this.parameters.length;
- for (int i = 0; i < length; i++) {
- TypeBinding parameter = this.parameters[i];
- if (parameter.isBaseType())
- continue;
- long existing = parameter.tagBits & TagBits.AnnotationNullMASK;
- if (existing == 0L) {
- added = true;
- if (!parameter.isBaseType()) {
- this.parameters[i] = env.createAnnotatedType(parameter, new AnnotationBinding[]{env.getNonNullAnnotation()});
- if (sourceMethod != null)
- sourceMethod.arguments[i].binding.type = this.parameters[i];
+ if (hasNonNullDefaultFor(DefaultLocationParameter, true)) {
+ boolean added = false;
+ int length = this.parameters.length;
+ for (int i = 0; i < length; i++) {
+ TypeBinding parameter = this.parameters[i];
+ if (parameter.isBaseType())
+ continue;
+ long existing = parameter.tagBits & TagBits.AnnotationNullMASK;
+ if (existing == 0L) {
+ added = true;
+ if (!parameter.isBaseType()) {
+ this.parameters[i] = env.createAnnotatedType(parameter, new AnnotationBinding[]{env.getNonNullAnnotation()});
+ if (sourceMethod != null)
+ sourceMethod.arguments[i].binding.type = this.parameters[i];
+ }
+ } else if (sourceMethod != null && (parameter.tagBits & TagBits.AnnotationNonNull) != 0) {
+ sourceMethod.scope.problemReporter().nullAnnotationIsRedundant(sourceMethod, i);
}
- } else if (sourceMethod != null && (parameter.tagBits & TagBits.AnnotationNonNull) != 0) {
- sourceMethod.scope.problemReporter().nullAnnotationIsRedundant(sourceMethod, i);
}
+ if (added)
+ this.tagBits |= TagBits.HasParameterAnnotations;
}
- if (added)
- this.tagBits |= TagBits.HasParameterAnnotations;
- if (this.returnType != null) {
+ if (this.returnType != null && hasNonNullDefaultFor(DefaultLocationReturnType, true)) {
if (!this.returnType.isBaseType() && (this.returnType.tagBits & TagBits.AnnotationNullMASK) == 0) {
this.returnType = env.createAnnotatedType(this.returnType, new AnnotationBinding[]{env.getNonNullAnnotation()});
} else if (sourceMethod != null && (this.returnType.tagBits & TagBits.AnnotationNonNull) != 0) {
@@ -669,11 +675,16 @@
AbstractMethodDeclaration methodDecl = typeDecl.declarationOf(originalMethod);
if (methodDecl != null)
ASTNode.resolveAnnotations(methodDecl.scope, methodDecl.annotations, originalMethod);
- long nullDefaultBits = this.tagBits & (TagBits.AnnotationNonNullByDefault|TagBits.AnnotationNullUnspecifiedByDefault);
- if (nullDefaultBits != 0 && this.declaringClass instanceof SourceTypeBinding) {
- SourceTypeBinding declaringSourceType = (SourceTypeBinding) this.declaringClass;
- if (declaringSourceType.checkRedundantNullnessDefaultOne(methodDecl, methodDecl.annotations, nullDefaultBits)) {
- declaringSourceType.checkRedundantNullnessDefaultRecurse(methodDecl, methodDecl.annotations, nullDefaultBits);
+ CompilerOptions options = scope.compilerOptions();
+ if (options.isAnnotationBasedNullAnalysisEnabled) {
+ boolean isJdk18 = options.sourceLevel >= ClassFileConstants.JDK1_8;
+ long nullDefaultBits = isJdk18 ? this.defaultNullness
+ : this.tagBits & (TagBits.AnnotationNonNullByDefault|TagBits.AnnotationNullUnspecifiedByDefault);
+ if (nullDefaultBits != 0 && this.declaringClass instanceof SourceTypeBinding) {
+ SourceTypeBinding declaringSourceType = (SourceTypeBinding) this.declaringClass;
+ if (declaringSourceType.checkRedundantNullnessDefaultOne(methodDecl, methodDecl.annotations, nullDefaultBits, isJdk18)) {
+ declaringSourceType.checkRedundantNullnessDefaultRecurse(methodDecl, methodDecl.annotations, nullDefaultBits, isJdk18);
+ }
}
}
}
@@ -1321,12 +1332,18 @@
public TypeVariableBinding[] typeVariables() {
return this.typeVariables;
}
-public boolean hasNonNullDefault() {
- if ((this.tagBits & TagBits.AnnotationNonNullByDefault) != 0)
- return true;
- if ((this.tagBits & TagBits.AnnotationNullUnspecifiedByDefault) != 0)
- return false;
- return this.declaringClass.hasNonNullDefault();
+//pre: null annotation analysis is enabled
+public boolean hasNonNullDefaultFor(int location, boolean useTypeAnnotations) {
+ if (useTypeAnnotations) {
+ if (this.defaultNullness != 0)
+ return (this.defaultNullness & location) != 0;
+ } else {
+ if ((this.tagBits & TagBits.AnnotationNonNullByDefault) != 0)
+ return true;
+ if ((this.tagBits & TagBits.AnnotationNullUnspecifiedByDefault) != 0)
+ return false;
+ }
+ return this.declaringClass.hasNonNullDefaultFor(location, useTypeAnnotations);
}
public boolean redeclaresPublicObjectMethod(Scope scope) {
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodScope.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodScope.java
index 77c7546..be073d4 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodScope.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodScope.java
@@ -14,6 +14,7 @@
* bug 382354 - [1.8][compiler] Compiler silent on conflicting modifier
* bug 401030 - [1.8][null] Null analysis support for lambda methods.
* Bug 416176 - [1.8][compiler][null] null type annotations cause grief on type variables
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
* Jesper S Moller - Contributions for
* bug 382701 - [1.8][compiler] Implement semantic analysis of Lambda expressions & Reference expression
*******************************************************************************/
@@ -54,9 +55,6 @@
public long[] definiteInits = new long[4];
public long[][] extraDefiniteInits = new long[4][];
- // annotation support
- public boolean insideTypeAnnotation = false;
-
// inner-emulation
public SyntheticArgumentBinding[] extraSyntheticArguments;
@@ -564,4 +562,13 @@
void resolveTypeParameter(TypeParameter typeParameter) {
typeParameter.resolve(this);
}
+@Override
+public boolean hasDefaultNullnessFor(int location) {
+ if (this.referenceContext instanceof AbstractMethodDeclaration) {
+ MethodBinding binding = ((AbstractMethodDeclaration) this.referenceContext).binding;
+ if (binding != null && binding.defaultNullness != 0)
+ return (binding.defaultNullness & location) != 0;
+ }
+ return this.parent.hasDefaultNullnessFor(location);
+}
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier.java
index e211103..fee3579 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier.java
@@ -627,14 +627,14 @@
nextMethod : for (int m = methods.length; --m >= 0;) { // Interface methods are all abstract public
MethodBinding inheritedMethod = methods[m];
if (inheritedMethod.isStatic()) continue nextMethod;
- if (!inheritedMethod.isAbstract()) continue nextMethod; // AspectJ Extension - allow for ITDs on the interface
+ if (!inheritedMethod.isAbstract() && !inheritedMethod.isDefaultMethod()) continue nextMethod; // AspectJ Extension - allow for ITDs on the interface
MethodBinding[] existingMethods = (MethodBinding[]) this.inheritedMethods.get(inheritedMethod.selector);
if (existingMethods == null) {
// AspectJ Extension
// check for intertype declarations hitting the same type that implement the method in question (242797)
for (int ii=0;ii<methods.length;ii++) {
MethodBinding mb = methods[ii];
- if (!mb.isAbstract() && new String(mb.selector).equals(new String(inheritedMethod.selector))) {
+ if (!mb.isAbstract() && !inheritedMethod.isDefaultMethod() && new String(mb.selector).equals(new String(inheritedMethod.selector))) {
if (areMethodsCompatible(mb,inheritedMethod)) {
continue nextMethod;
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier15.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier15.java
index 9fd09e1..e36a7dd 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier15.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier15.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -24,6 +24,8 @@
* Bug 420080 - [1.8] Overridden Default method is reported as duplicated
* Bug 404690 - [1.8][compiler] revisit bridge generation after VM bug is fixed
* Bug 410325 - [1.7][compiler] Generified method override different between javac and eclipse compiler
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
+ * Bug 390889 - [1.8][compiler] Evaluate options to support 1.7- projects against 1.8 JRE.
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.lookup;
@@ -74,7 +76,9 @@
AbstractMethodDeclaration srcMethod = null;
if (analyseNullAnnotations && this.type.equals(concreteMethod.declaringClass)) // is currentMethod from the current type?
srcMethod = concreteMethod.sourceMethod();
- boolean hasNonNullDefault = concreteMethod.hasNonNullDefault();
+ boolean useTypeAnnotations = this.environment.globalOptions.sourceLevel >= ClassFileConstants.JDK1_8;
+ boolean hasNonNullDefault = analyseNullAnnotations &&
+ concreteMethod.hasNonNullDefaultFor(Binding.DefaultLocationParameter|Binding.DefaultLocationReturnType, useTypeAnnotations);
for (int i = 0, l = abstractMethods.length; i < l; i++) {
MethodBinding abstractMethod = abstractMethods[i];
if (concreteMethod.isVarargs() != abstractMethod.isVarargs())
@@ -312,7 +316,8 @@
continue;
}
- problemReporter().duplicateInheritedMethods(this.type, concreteMethod, methods[i]);
+ problemReporter().duplicateInheritedMethods(this.type, concreteMethod, methods[i],
+ this.environment.globalOptions.sourceLevel >= ClassFileConstants.JDK1_8);
continueInvestigation = false;
}
concreteMethod = methods[i];
@@ -387,7 +392,8 @@
AbstractMethodDeclaration srcMethod = null;
if (this.type.equals(currentMethod.declaringClass)) // is currentMethod from the current type?
srcMethod = currentMethod.sourceMethod();
- boolean hasNonNullDefault = currentMethod.hasNonNullDefault();
+ boolean useTypeAnnotations = options.sourceLevel >= ClassFileConstants.JDK1_8;
+ boolean hasNonNullDefault = currentMethod.hasNonNullDefaultFor(Binding.DefaultLocationParameter|Binding.DefaultLocationReturnType, useTypeAnnotations);
for (int i = length; --i >= 0;)
if (!currentMethod.isStatic() && !methods[i].isStatic())
checkNullSpecInheritance(currentMethod, srcMethod, hasNonNullDefault, true, methods[i], this.type.scope, null);
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MostSpecificExceptionMethodBinding.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MostSpecificExceptionMethodBinding.java
index 53e0513..b1e8c95 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MostSpecificExceptionMethodBinding.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/MostSpecificExceptionMethodBinding.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2011 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -7,7 +7,9 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
- * Stephan Herrmann - Contribution for bug 186342 - [compiler][null] Using annotations for null checking
+ * Stephan Herrmann - Contributions for
+ * Bug 186342 - [compiler][null] Using annotations for null checking
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.lookup;
@@ -29,6 +31,7 @@
originalMethod.declaringClass);
this.originalMethod = originalMethod;
this.parameterNonNullness = originalMethod.parameterNonNullness;
+ this.defaultNullness = originalMethod.defaultNullness;
}
public MethodBinding original() {
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/NestedTypeBinding.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/NestedTypeBinding.java
index 46b72f6..87d9d6d 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/NestedTypeBinding.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/NestedTypeBinding.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -7,7 +7,9 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
- * Stephan Herrmann - Contribution for bug 365662 - [compiler][null] warn on contradictory and redundant null annotations
+ * Stephan Herrmann - Contributions for
+ * Bug 365662 - [compiler][null] warn on contradictory and redundant null annotations
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
* Keigo Imai - Contribution for bug 388903 - Cannot extend inner class as an anonymous class when it extends the outer class
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.lookup;
@@ -123,16 +125,16 @@
return synthLocal;
}
-protected void checkRedundantNullnessDefaultRecurse(ASTNode location, Annotation[] annotations, long annotationTagBits) {
+protected void checkRedundantNullnessDefaultRecurse(ASTNode location, Annotation[] annotations, long nullBits, boolean isJdk18) {
if (!isPrototype()) throw new IllegalStateException();
ReferenceBinding currentType = this.enclosingType;
do {
- if (!((SourceTypeBinding)currentType).checkRedundantNullnessDefaultOne(location, annotations, annotationTagBits)) {
+ if (!((SourceTypeBinding)currentType).checkRedundantNullnessDefaultOne(location, annotations, nullBits, isJdk18)) {
return;
}
currentType = currentType.enclosingType();
} while (currentType instanceof SourceTypeBinding);
- super.checkRedundantNullnessDefaultRecurse(location, annotations, annotationTagBits);
+ super.checkRedundantNullnessDefaultRecurse(location, annotations, nullBits, isJdk18);
}
/* Answer the receiver's enclosing type... null if the receiver is a top level type.
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding.java
index 3736e26..6ff9b1c 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding.java
@@ -18,6 +18,7 @@
* Bug 427438 - [1.8][compiler] NPE at org.aspectj.org.eclipse.jdt.internal.compiler.ast.ConditionalExpression.generateCode(ConditionalExpression.java:280)
* Bug 418743 - [1.8][null] contradictory annotations on invocation of generic method not reported
* Bug 416182 - [1.8][compiler][null] Contradictory null annotations not rejected
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.lookup;
@@ -480,6 +481,7 @@
: Scope.substitute(rawType, originalMethod.returnType));
this.wasInferred = false; // not resulting from method invocation inferrence
this.parameterNonNullness = originalMethod.parameterNonNullness;
+ this.defaultNullness = originalMethod.defaultNullness;
}
/**
@@ -522,6 +524,7 @@
}
this.wasInferred = true;// resulting from method invocation inferrence
this.parameterNonNullness = originalMethod.parameterNonNullness;
+ this.defaultNullness = originalMethod.defaultNullness;
// special case: @NonNull for a parameter that is inferred to 'null' is encoded the old way
// because we cannot (and don't want to) add type annotations to NullTypeBinding.
int len = this.parameters.length;
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding.java
index 7d70c62..06ea64b 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding.java
@@ -14,6 +14,7 @@
* Bug 415043 - [1.8][null] Follow-up re null type annotations after bug 392099
* Bug 417295 - [1.8[[null] Massage type annotated null analysis to gel well with deep encoded type bindings.
* Bug 425152 - [1.8] [compiler] Lambda Expression not resolved but flow analyzed leading to NPE.
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.lookup;
@@ -48,6 +49,7 @@
*/
this.tagBits = originalMethod.tagBits & ~TagBits.HasMissingType;
this.parameterNonNullness = originalMethod.parameterNonNullness;
+ this.defaultNullness = originalMethod.defaultNullness;
final TypeVariableBinding[] originalVariables = originalMethod.typeVariables;
Substitution substitution = null;
@@ -335,6 +337,7 @@
return this.originalMethod.original();
}
+
public MethodBinding shallowOriginal() {
return this.originalMethod;
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/PolyTypeBinding.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/PolyTypeBinding.java
index 0ca089e..2bb5d60 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/PolyTypeBinding.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/PolyTypeBinding.java
@@ -14,6 +14,7 @@
package org.aspectj.org.eclipse.jdt.internal.compiler.lookup;
import org.aspectj.org.eclipse.jdt.internal.compiler.ast.Expression;
+import org.aspectj.org.eclipse.jdt.internal.compiler.ast.LambdaExpression;
public class PolyTypeBinding extends TypeBinding {
@@ -47,7 +48,12 @@
public char[] readableName() {
return this.expression.printExpression(0, new StringBuffer()).toString().toCharArray();
}
-
+
+ public char[] shortReadableName() {
+ return this.expression instanceof LambdaExpression ?
+ ((LambdaExpression) this.expression).printExpression(0, new StringBuffer(), true).toString().toCharArray() : readableName();
+ }
+
public boolean sIsMoreSpecific(TypeBinding s, TypeBinding t, Scope scope) {
return this.expression.sIsMoreSpecific(s, t, scope);
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ProblemMethodBinding.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ProblemMethodBinding.java
index bde74a8..6a42546 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ProblemMethodBinding.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ProblemMethodBinding.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -9,6 +9,7 @@
* IBM Corporation - initial API and implementation
* Stephan Herrmann - Contribution for
* Bug 400874 - [1.8][compiler] Inference infrastructure should evolve to meet JLS8 18.x (Part G of JSR335 spec)
+ * Bug 433478 - [compiler][null] NPE in ReferenceBinding.isCompatibleWith
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.lookup;
@@ -34,7 +35,10 @@
public ProblemMethodBinding(MethodBinding closestMatch, char[] selector, TypeBinding[] args, int problemReason) {
this(selector, args, problemReason);
this.closestMatch = closestMatch;
- if (closestMatch != null && problemReason != ProblemReasons.Ambiguous) this.declaringClass = closestMatch.declaringClass;
+ if (closestMatch != null && problemReason != ProblemReasons.Ambiguous) {
+ this.declaringClass = closestMatch.declaringClass;
+ this.returnType = closestMatch.returnType;
+ }
}
/* API
* Answer the problem id associated with the receiver.
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ProblemReferenceBinding.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ProblemReferenceBinding.java
index fd88254..2da24ed 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ProblemReferenceBinding.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ProblemReferenceBinding.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -91,6 +91,10 @@
return readableName();
}
+public char[] sourceName() {
+ return this.compoundName.length == 0 ? null : this.compoundName[this.compoundName.length - 1]; // last segment of [java][util][Map$Entry]
+}
+
public String toString() {
StringBuffer buffer = new StringBuffer(10);
buffer.append("ProblemType:[compoundName="); //$NON-NLS-1$
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding.java
index 2728883..9166e3e 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/ReferenceBinding.java
@@ -29,6 +29,8 @@
* Bug 428019 - [1.8][compiler] Type inference failure with nested generic invocation.
* Bug 427199 - [1.8][resource] avoid resource leak warnings on Streams that have no resource
* Bug 418743 - [1.8][null] contradictory annotations on invocation of generic method not reported
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
+ * Bug 431581 - Eclipse compiles what it should not
* Jesper S Moller - Contributions for
* bug 382701 - [1.8][compiler] Implement semantic analysis of Lambda expressions & Reference expression
* bug 412153 - [1.8][compiler] Check validity of annotations which may be repeatable
@@ -1141,20 +1143,35 @@
}
/**
- * Answer whether a @NonNullByDefault is applicable at the given method binding.
+ * Answer whether a @NonNullByDefault is applicable at the reference binding,
+ * for 1.8 check if the default is applicable to the given kind of location.
*/
-boolean hasNonNullDefault() {
+// pre: null annotation analysis is enabled
+boolean hasNonNullDefaultFor(int location, boolean useTypeAnnotations) {
// Note, STB overrides for correctly handling local types
ReferenceBinding currentType = this;
while (currentType != null) {
- if ((currentType.tagBits & TagBits.AnnotationNonNullByDefault) != 0)
- return true;
- if ((currentType.tagBits & TagBits.AnnotationNullUnspecifiedByDefault) != 0)
- return false;
+ if (useTypeAnnotations) {
+ int nullDefault = ((ReferenceBinding)currentType.original()).getNullDefault();
+ if (nullDefault != 0)
+ return (nullDefault & location) != 0;
+ } else {
+ if ((currentType.tagBits & TagBits.AnnotationNonNullByDefault) != 0)
+ return true;
+ if ((currentType.tagBits & TagBits.AnnotationNullUnspecifiedByDefault) != 0)
+ return false;
+ }
currentType = currentType.enclosingType();
}
// package
- return this.getPackage().defaultNullness == NONNULL_BY_DEFAULT;
+ if (useTypeAnnotations)
+ return (this.getPackage().defaultNullness & location) != 0;
+ else
+ return this.getPackage().defaultNullness == NONNULL_BY_DEFAULT;
+}
+
+int getNullDefault() {
+ return 0;
}
public final boolean hasRestrictedAccess() {
@@ -1929,48 +1946,29 @@
int contractsCount = 0;
int contractsLength = 0;
- // -- the following are used for early termination.
- MethodBinding aContract = null;
- int contractParameterLength = 0;
- char [] contractSelector = null;
- // ---
-
ReferenceBinding [] superInterfaces = superInterfaces();
for (int i = 0, length = superInterfaces.length; i < length; i++) {
MethodBinding [] superInterfaceContracts = superInterfaces[i].getInterfaceAbstractContracts(scope);
final int superInterfaceContractsLength = superInterfaceContracts == null ? 0 : superInterfaceContracts.length;
-
if (superInterfaceContractsLength == 0) continue;
- if (aContract == null) {
- aContract = superInterfaceContracts[0];
- contractParameterLength = aContract.parameters.length;
- contractSelector = aContract.selector;
- contracts = superInterfaceContracts;
- contractsCount = contractsLength = superInterfaceContractsLength;
- } else {
- if (superInterfaceContracts[0].parameters.length != contractParameterLength || !CharOperation.equals(contractSelector, superInterfaceContracts[0].selector)) {
- throw new InvalidInputException("Not a functional interface"); //$NON-NLS-1$
- }
- if (contractsLength < contractsCount + superInterfaceContractsLength) {
- System.arraycopy(contracts, 0, contracts = new MethodBinding[contractsLength = contractsCount + superInterfaceContractsLength], 0, contractsCount);
- }
- System.arraycopy(superInterfaceContracts, 0, contracts, contractsCount, superInterfaceContractsLength);
- contractsCount += superInterfaceContractsLength;
+ if (contractsLength < contractsCount + superInterfaceContractsLength) {
+ System.arraycopy(contracts, 0, contracts = new MethodBinding[contractsLength = contractsCount + superInterfaceContractsLength], 0, contractsCount);
}
+ System.arraycopy(superInterfaceContracts, 0, contracts, contractsCount, superInterfaceContractsLength);
+ contractsCount += superInterfaceContractsLength;
}
+
for (int i = 0, length = methods == null ? 0 : methods.length; i < length; i++) {
final MethodBinding method = methods[i];
- if (method.isStatic() || method.redeclaresPublicObjectMethod(scope)) continue;
+ if (method == null || method.isStatic() || method.redeclaresPublicObjectMethod(scope))
+ continue;
+ if (!method.isValidBinding())
+ throw new InvalidInputException("Not a functional interface"); //$NON-NLS-1$
if (method.isDefaultMethod()) {
for (int j = 0; j < contractsCount; j++) {
if (contracts[j] == null)
continue;
if (MethodVerifier.doesMethodOverride(method, contracts[j], scope.environment())) {
- if (aContract == contracts[j]) {
- aContract = null;
- contractParameterLength = 0;
- contractSelector = null;
- }
contractsCount--;
// abstract method from super type rendered default by present interface ==> contracts[j] = null;
if (j < contractsCount)
@@ -1979,16 +1977,6 @@
}
continue; // skip default method itself
}
- final boolean validBinding = method.isValidBinding();
- if (aContract == null && validBinding) {
- aContract = method;
- contractParameterLength = aContract.parameters.length;
- contractSelector = aContract.selector;
- } else {
- if (!validBinding || method.parameters.length != contractParameterLength || !CharOperation.equals(contractSelector, method.selector)) {
- throw new InvalidInputException("Not a functional interface"); //$NON-NLS-1$
- }
- }
if (contractsCount == contractsLength) {
System.arraycopy(contracts, 0, contracts = new MethodBinding[contractsLength += 16], 0, contractsCount);
}
@@ -2014,15 +2002,32 @@
MethodBinding[] methods = null;
try {
methods = getInterfaceAbstractContracts(scope);
+ if (methods == null || methods.length == 0)
+ return this.singleAbstractMethod[index] = samProblemBinding;
+ int contractParameterLength = 0;
+ char [] contractSelector = null;
+ for (int i = 0, length = methods.length; i < length; i++) {
+ MethodBinding method = methods[i];
+ if (method == null) continue;
+ if (contractSelector == null) {
+ contractSelector = method.selector;
+ contractParameterLength = method.parameters == null ? 0 : method.parameters.length;
+ } else {
+ int methodParameterLength = method.parameters == null ? 0 : method.parameters.length;
+ if (methodParameterLength != contractParameterLength || !CharOperation.equals(method.selector, contractSelector))
+ return this.singleAbstractMethod[index] = samProblemBinding;
+ }
+ }
} catch (InvalidInputException e) {
return this.singleAbstractMethod[index] = samProblemBinding;
}
- if (methods != null && methods.length == 1)
+ if (methods.length == 1)
return this.singleAbstractMethod[index] = methods[0];
final LookupEnvironment environment = scope.environment();
boolean genericMethodSeen = false;
int length = methods.length;
+
next:for (int i = length - 1; i >= 0; --i) {
MethodBinding method = methods[i], otherMethod = null;
if (method.typeVariables != Binding.NO_TYPE_VARIABLES)
@@ -2114,4 +2119,28 @@
}
return this.singleAbstractMethod[index] = samProblemBinding;
}
+
+// See JLS 4.9 bullet 1
+public static boolean isConsistentIntersection(TypeBinding[] intersectingTypes) {
+ TypeBinding[] ci = new TypeBinding[intersectingTypes.length];
+ for (int i = 0; i < ci.length; i++) {
+ TypeBinding current = intersectingTypes[i];
+ ci[i] = (current.isClass() || current.isArrayType())
+ ? current : current.superclass();
+ }
+ TypeBinding mostSpecific = ci[0];
+ for (int i = 1; i < ci.length; i++) {
+ TypeBinding current = ci[i];
+ // when invoked during type inference we only want to check inconsistency among real types:
+ if (current.isTypeVariable() || current.isWildcard() || !current.isProperType(true))
+ continue;
+ if (mostSpecific.isSubtypeOf(current))
+ continue;
+ else if (current.isSubtypeOf(mostSpecific))
+ mostSpecific = current;
+ else
+ return false;
+ }
+ return true;
+}
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope.java
index dfaf506..0095c5a 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/Scope.java
@@ -41,6 +41,8 @@
* Bug 424728 - [1.8][null] Unexpected error: The nullness annotation 'XXXX' is not applicable at this location
* Bug 428811 - [1.8][compiler] Type witness unnecessarily required
* Bug 429424 - [1.8][inference] Problem inferring type of method's parameter
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
+ * Bug 434570 - Generic type mismatch for parametrized class annotation attribute with inner class
* Jesper S Moller - Contributions for
* Bug 378674 - "The method can be declared as static" is wrong
* Bug 405066 - [1.8][compiler][codegen] Implement code generation infrastructure for JSR335
@@ -943,8 +945,8 @@
continue nextVariable;
boolean isFirstBoundTypeVariable = false;
TypeBinding superType = this.kind == METHOD_SCOPE
- ? typeRef.resolveType((BlockScope)this, false/*no bound check*/)
- : typeRef.resolveType((ClassScope)this);
+ ? typeRef.resolveType((BlockScope)this, false/*no bound check*/, Binding.DefaultLocationTypeBound)
+ : typeRef.resolveType((ClassScope)this, Binding.DefaultLocationTypeBound);
if (superType == null) {
typeVariable.tagBits |= TagBits.HierarchyHasProblems;
} else {
@@ -5010,6 +5012,12 @@
return null;
}
+ public boolean deferCheck(Runnable check) {
+ if (this.parent != null)
+ return this.parent.deferCheck(check); // only ClassScope potentially records this
+ return false;
+ }
+
public void deferBoundCheck(TypeReference typeRef) {
if (this.kind == CLASS_SCOPE) {
ClassScope classScope = (ClassScope) this;
@@ -5188,6 +5196,10 @@
}
return true;
}
+
+ /** Answer a defaultNullness defined for the closest enclosing scope, using bits from Binding.NullnessDefaultMASK. */
+ public abstract boolean hasDefaultNullnessFor(int location);
+
public static BlockScope typeAnnotationsResolutionScope(Scope scope) {
BlockScope resolutionScope = null;
switch(scope.kind) {
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java
index a756fca..d338196 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java
@@ -30,6 +30,8 @@
* Bug 417295 - [1.8[[null] Massage type annotated null analysis to gel well with deep encoded type bindings.
* Bug 426048 - [1.8] NPE in TypeVariableBinding.internalBoundCheck when parentheses are not balanced
* Bug 392238 - [1.8][compiler][null] Detect semantically invalid null type annotations
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
+ * Bug 432348 - [1.8] Internal compiler error (NPE) after upgrade to 1.8
* Jesper S Moller <jesper@selskabet.org> - Contributions for
* Bug 412153 - [1.8][compiler] Check validity of annotations which may be repeatable
* Till Brychcy - Contributions for
@@ -104,7 +106,7 @@
private SimpleLookupTable storedAnnotations = null; // keys are this ReferenceBinding & its fields and methods, value is an AnnotationHolder
- private int defaultNullness;
+ public int defaultNullness;
private int nullnessDefaultInitialized = 0; // 0: nothing; 1: type; 2: package
private int lambdaOrdinal = 0;
private ReferenceBinding containerAnnotationType = null;
@@ -1413,7 +1415,7 @@
this.scope.buildMethods();
}
-private int getNullDefault() {
+int getNullDefault() {
if (!isPrototype()) {
return this.prototype.getNullDefault();
@@ -1824,9 +1826,10 @@
if (sourceLevel >= ClassFileConstants.JDK1_8) {
Annotation [] annotations = fieldDecl.annotations;
if (annotations != null && annotations.length != 0) {
- ASTNode.copySE8AnnotationsToType(initializationScope, field, fieldDecl.annotations);
+ ASTNode.copySE8AnnotationsToType(initializationScope, field, annotations,
+ fieldDecl.getKind() != AbstractVariableDeclaration.ENUM_CONSTANT); // type annotation is illegal on enum constant
}
- Annotation.isTypeUseCompatible(fieldDecl.type, this.scope, fieldDecl.annotations);
+ Annotation.isTypeUseCompatible(fieldDecl.type, this.scope, annotations);
}
// apply null default:
if (this.environment.globalOptions.isAnnotationBasedNullAnalysisEnabled) {
@@ -1835,7 +1838,7 @@
// enum constants neither have a type declaration nor can they be null
field.tagBits |= TagBits.AnnotationNonNull;
} else {
- if (hasNonNullDefault()) {
+ if (hasNonNullDefaultFor(DefaultLocationField, sourceLevel >= ClassFileConstants.JDK1_8)) {
field.fillInDefaultNonNullness(fieldDecl, initializationScope);
}
// validate null annotation:
@@ -2018,7 +2021,7 @@
if (sourceLevel >= ClassFileConstants.JDK1_8 && !method.isVoidMethod()) {
Annotation [] annotations = methodDecl.annotations;
if (annotations != null && annotations.length != 0) {
- ASTNode.copySE8AnnotationsToType(methodDecl.scope, method, methodDecl.annotations);
+ ASTNode.copySE8AnnotationsToType(methodDecl.scope, method, methodDecl.annotations, true);
}
Annotation.isTypeUseCompatible(returnType, this.scope, methodDecl.annotations);
}
@@ -2126,35 +2129,78 @@
}
}
this.nullnessDefaultInitialized = 1;
- // transfer nullness info from tagBits to this.nullnessDefaultAnnotation
- int newDefaultNullness = NO_NULL_DEFAULT;
- if ((annotationTagBits & TagBits.AnnotationNullUnspecifiedByDefault) != 0)
- newDefaultNullness = NULL_UNSPECIFIED_BY_DEFAULT;
- else if ((annotationTagBits & TagBits.AnnotationNonNullByDefault) != 0)
- newDefaultNullness = NONNULL_BY_DEFAULT;
- if (newDefaultNullness != NO_NULL_DEFAULT) {
- if (isPackageInfo) {
- pkg.defaultNullness = newDefaultNullness;
- } else {
- this.defaultNullness = newDefaultNullness;
- TypeDeclaration typeDecl = this.scope.referenceContext;
- long nullDefaultBits = annotationTagBits & (TagBits.AnnotationNullUnspecifiedByDefault|TagBits.AnnotationNonNullByDefault);
- checkRedundantNullnessDefaultRecurse(typeDecl, typeDecl.annotations, nullDefaultBits);
+ boolean isJdk18 = this.scope.compilerOptions().sourceLevel >= ClassFileConstants.JDK1_8;
+ if (isJdk18) {
+ if (this.defaultNullness != 0) {
+ if (isPackageInfo) {
+ pkg.defaultNullness = this.defaultNullness;
+ } else {
+ TypeDeclaration typeDecl = this.scope.referenceContext;
+ checkRedundantNullnessDefaultRecurse(typeDecl, typeDecl.annotations, this.defaultNullness, isJdk18);
+ }
+ } else if (isPackageInfo || (isInDefaultPkg && !(this instanceof NestedTypeBinding))) {
+ this.scope.problemReporter().missingNonNullByDefaultAnnotation(this.scope.referenceContext);
+ if (!isInDefaultPkg)
+ pkg.defaultNullness = NULL_UNSPECIFIED_BY_DEFAULT;
}
- } else if (isPackageInfo || (isInDefaultPkg && !(this instanceof NestedTypeBinding))) {
- this.scope.problemReporter().missingNonNullByDefaultAnnotation(this.scope.referenceContext);
- if (!isInDefaultPkg)
- pkg.defaultNullness = NULL_UNSPECIFIED_BY_DEFAULT;
+ } else {
+ // transfer nullness info from tagBits to this.nullnessDefaultAnnotation
+ int newDefaultNullness = NO_NULL_DEFAULT;
+ if ((annotationTagBits & TagBits.AnnotationNullUnspecifiedByDefault) != 0)
+ newDefaultNullness = NULL_UNSPECIFIED_BY_DEFAULT;
+ else if ((annotationTagBits & TagBits.AnnotationNonNullByDefault) != 0)
+ newDefaultNullness = NONNULL_BY_DEFAULT;
+ if (newDefaultNullness != NO_NULL_DEFAULT) {
+ if (isPackageInfo) {
+ pkg.defaultNullness = newDefaultNullness;
+ } else {
+ this.defaultNullness = newDefaultNullness;
+ TypeDeclaration typeDecl = this.scope.referenceContext;
+ long nullDefaultBits = annotationTagBits & (TagBits.AnnotationNullUnspecifiedByDefault|TagBits.AnnotationNonNullByDefault);
+ checkRedundantNullnessDefaultRecurse(typeDecl, typeDecl.annotations, nullDefaultBits, false);
+ }
+ } else if (isPackageInfo || (isInDefaultPkg && !(this instanceof NestedTypeBinding))) {
+ this.scope.problemReporter().missingNonNullByDefaultAnnotation(this.scope.referenceContext);
+ if (!isInDefaultPkg)
+ pkg.defaultNullness = NULL_UNSPECIFIED_BY_DEFAULT;
+ }
+ }
+ maybeMarkTypeParametersNonNull();
+}
+
+private void maybeMarkTypeParametersNonNull() {
+ // when creating type variables we didn't yet have the defaultNullness, fill it in now:
+ if (this.scope == null || !this.scope.hasDefaultNullnessFor(DefaultLocationTypeParameter))
+ return;
+ if (this.typeVariables != null && this.typeVariables.length > 0) {
+ AnnotationBinding[] annots = new AnnotationBinding[]{ this.environment.getNonNullAnnotation() };
+ for (int i = 0; i < this.typeVariables.length; i++) {
+ TypeVariableBinding tvb = this.typeVariables[i];
+ if ((tvb.tagBits & TagBits.AnnotationNullMASK) == 0)
+ this.typeVariables[i] = (TypeVariableBinding) this.environment.createAnnotatedType(tvb, annots);
+ }
}
}
-protected void checkRedundantNullnessDefaultRecurse(ASTNode location, Annotation[] annotations, long annotationTagBits) {
+/**
+ * Recursively check if the given annotations are redundant with equal annotations at an enclosing level.
+ * @param location fallback location to report the warning against (if we can't blame a specific annotation)
+ * @param annotations search these for the annotation that should be blamed in warning messages
+ * @param nullBits in 1.7- times these are the annotationTagBits, in 1.8+ the bitvector from {@link Binding#NullnessDefaultMASK}
+ * @param isJdk18 toggles the interpretation of 'nullBits'
+ *
+ * @pre null annotation analysis is enabled
+ */
+protected void checkRedundantNullnessDefaultRecurse(ASTNode location, Annotation[] annotations, long nullBits, boolean isJdk18) {
if (!isPrototype()) throw new IllegalStateException();
if (this.fPackage.defaultNullness != NO_NULL_DEFAULT) {
- if ((this.fPackage.defaultNullness == NONNULL_BY_DEFAULT
- && ((annotationTagBits & TagBits.AnnotationNonNullByDefault) != 0))) {
+ boolean isRedundant = isJdk18
+ ? this.fPackage.defaultNullness == nullBits
+ : (this.fPackage.defaultNullness == NONNULL_BY_DEFAULT
+ && ((nullBits & TagBits.AnnotationNonNullByDefault) != 0));
+ if (isRedundant) {
this.scope.problemReporter().nullDefaultAnnotationIsRedundant(location, annotations, this.fPackage);
}
return;
@@ -2162,13 +2208,16 @@
}
// return: should caller continue searching?
-protected boolean checkRedundantNullnessDefaultOne(ASTNode location, Annotation[] annotations, long annotationTagBits) {
+protected boolean checkRedundantNullnessDefaultOne(ASTNode location, Annotation[] annotations, long nullBits, boolean isJdk18) {
if (!isPrototype()) throw new IllegalStateException();
int thisDefault = getNullDefault();
- if (thisDefault == NONNULL_BY_DEFAULT) {
- if ((annotationTagBits & TagBits.AnnotationNonNullByDefault) != 0) {
+ if (thisDefault != NO_NULL_DEFAULT) {
+ boolean isRedundant = isJdk18
+ ? thisDefault == nullBits
+ : (nullBits & TagBits.AnnotationNonNullByDefault) != 0;
+ if (isRedundant) {
this.scope.problemReporter().nullDefaultAnnotationIsRedundant(location, annotations, this);
}
return false; // different default means inner default is not redundant -> we're done
@@ -2176,10 +2225,18 @@
return true;
}
-boolean hasNonNullDefault() {
+boolean hasNonNullDefaultFor(int location, boolean useTypeAnnotations) {
if (!isPrototype()) throw new IllegalStateException();
+ // 1.8:
+ if (useTypeAnnotations) {
+ if (this.scope == null) {
+ return (this.defaultNullness & location) != 0;
+ }
+ return this.scope.hasDefaultNullnessFor(location);
+ }
+
// find the applicable default inside->out:
SourceTypeBinding currentType = null;
@@ -2200,6 +2257,9 @@
currentType = ((ClassScope)currentScope).referenceContext.binding;
if (currentType != null) {
int foundDefaultNullness = currentType.getNullDefault();
+ if ((foundDefaultNullness & NullnessDefaultMASK) > NULL_UNSPECIFIED_BY_DEFAULT) {
+ return true;
+ }
if (foundDefaultNullness != NO_NULL_DEFAULT) {
return foundDefaultNullness == NONNULL_BY_DEFAULT;
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeBound.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeBound.java
index 9069b07..63a02f5 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeBound.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeBound.java
@@ -26,9 +26,9 @@
// here we accumulate null tagBits from any types that have been related to this type bound during incorporation:
long nullHints;
- static TypeBound createBoundOrDependency(InferenceContext18 context, TypeBinding type, InferenceVariable variable) {
+ static TypeBound createBoundOrDependency(InferenceSubstitution theta, TypeBinding type, InferenceVariable variable) {
// Part of JLS8 sect 18.1.3:
- return new TypeBound(variable, context.substitute(type), SUBTYPE, true);
+ return new TypeBound(variable, theta.substitute(theta, type), SUBTYPE, true);
}
/** Create a true type bound or a dependency. */
@@ -47,7 +47,7 @@
private TypeBinding safeType(TypeBinding type) {
if (type != null && type.isLocalType()) {
- MethodBinding enclosingMethod = ((LocalTypeBinding) type).enclosingMethod;
+ MethodBinding enclosingMethod = ((LocalTypeBinding) type.original()).enclosingMethod;
if (enclosingMethod != null && CharOperation.prefixEquals(TypeConstants.ANONYMOUS_METHOD, enclosingMethod.selector))
return type.superclass(); // don't use local class inside lambda: lambda is copied, type will be re-created and thus is unmatchable
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeConstants.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeConstants.java
index 900753d..5a810fc 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeConstants.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeConstants.java
@@ -16,6 +16,7 @@
* Bug 405569 - Resource leak check false positive when using DbUtils.closeQuietly
* Bug 427199 - [1.8][resource] avoid resource leak warnings on Streams that have no resource
* Bug 425183 - [1.8][inference] make CaptureBinding18 safe
+ * Bug 429958 - [1.8][null] evaluate new DefaultLocation attribute of @NonNullByDefault
* Jesper S Moller - Contributions for
* Bug 405066 - [1.8][compiler][codegen] Implement code generation infrastructure for JSR335
* Bug 412153 - [1.8][compiler] Check validity of annotations which may be repeatable
@@ -351,6 +352,16 @@
char[] SYNTHETIC_ENUM_CONSTANT_INITIALIZATION_METHOD_PREFIX = " enum constant initialization$".toCharArray(); //$NON-NLS-1$
char[] SYNTHETIC_STATIC_FACTORY = "<factory>".toCharArray(); //$NON-NLS-1$
+ // constants in enum org.aspectj.org.eclipse.jdt.annotation.DefaultLocation:
+ char[] DEFAULT_LOCATION__PARAMETER = "PARAMETER".toCharArray(); //$NON-NLS-1$
+ char[] DEFAULT_LOCATION__RETURN_TYPE = "RETURN_TYPE".toCharArray(); //$NON-NLS-1$
+ char[] DEFAULT_LOCATION__FIELD = "FIELD".toCharArray(); //$NON-NLS-1$
+ char[] DEFAULT_LOCATION__TYPE_ARGUMENT = "TYPE_ARGUMENT".toCharArray(); //$NON-NLS-1$
+ char[] DEFAULT_LOCATION__TYPE_PARAMETER = "TYPE_PARAMETER".toCharArray(); //$NON-NLS-1$
+ char[] DEFAULT_LOCATION__TYPE_BOUND = "TYPE_BOUND".toCharArray(); //$NON-NLS-1$
+ char[] DEFAULT_LOCATION__ARRAY_CONTENTS = "ARRAY_CONTENTS".toCharArray(); //$NON-NLS-1$
+
+
// synthetic package-info name
public static final char[] PACKAGE_INFO_NAME = "package-info".toCharArray(); //$NON-NLS-1$
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding.java
index a516a2e..394b538 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding.java
@@ -20,6 +20,8 @@
* Bug 426792 - [1.8][inference][impl] generify new type inference engine
* Bug 428019 - [1.8][compiler] Type inference failure with nested generic invocation.
* Bug 429384 - [1.8][null] implement conformance rules for null-annotated lower / upper type bounds
+ * Bug 431269 - [1.8][compiler][null] StackOverflow in nullAnnotatedReadableName
+ * Bug 431408 - Java 8 (1.8) generics bug
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.compiler.lookup;
@@ -314,18 +316,25 @@
public String annotatedDebugName() {
StringBuffer buffer = new StringBuffer(10);
buffer.append(super.annotatedDebugName());
- if (this.superclass != null && TypeBinding.equalsEquals(this.firstBound, this.superclass)) {
- buffer.append(" extends ").append(this.superclass.annotatedDebugName()); //$NON-NLS-1$
- }
- if (this.superInterfaces != null && this.superInterfaces != Binding.NO_SUPERINTERFACES) {
- if (TypeBinding.notEquals(this.firstBound, this.superclass)) {
- buffer.append(" extends "); //$NON-NLS-1$
- }
- for (int i = 0, length = this.superInterfaces.length; i < length; i++) {
- if (i > 0 || TypeBinding.equalsEquals(this.firstBound, this.superclass)) {
- buffer.append(" & "); //$NON-NLS-1$
- }
- buffer.append(this.superInterfaces[i].annotatedDebugName());
+ if (!this.inRecursiveFunction) {
+ this.inRecursiveFunction = true;
+ try {
+ if (this.superclass != null && TypeBinding.equalsEquals(this.firstBound, this.superclass)) {
+ buffer.append(" extends ").append(this.superclass.annotatedDebugName()); //$NON-NLS-1$
+ }
+ if (this.superInterfaces != null && this.superInterfaces != Binding.NO_SUPERINTERFACES) {
+ if (TypeBinding.notEquals(this.firstBound, this.superclass)) {
+ buffer.append(" extends "); //$NON-NLS-1$
+ }
+ for (int i = 0, length = this.superInterfaces.length; i < length; i++) {
+ if (i > 0 || TypeBinding.equalsEquals(this.firstBound, this.superclass)) {
+ buffer.append(" & "); //$NON-NLS-1$
+ }
+ buffer.append(this.superInterfaces[i].annotatedDebugName());
+ }
+ }
+ } finally {
+ this.inRecursiveFunction = false;
}
}
return buffer.toString();
@@ -376,15 +385,15 @@
/**
* Compute the initial type bounds for one inference variable as per JLS8 sect 18.1.3.
*/
- TypeBound[] getTypeBounds(InferenceVariable variable, InferenceContext18 context) {
+ TypeBound[] getTypeBounds(InferenceVariable variable, InferenceSubstitution theta) {
int n = boundsCount();
if (n == 0)
return NO_TYPE_BOUNDS;
TypeBound[] bounds = new TypeBound[n];
- bounds[0] = TypeBound.createBoundOrDependency(context, this.firstBound, variable);
+ bounds[0] = TypeBound.createBoundOrDependency(theta, this.firstBound, variable);
int ifcOffset = TypeBinding.equalsEquals(this.firstBound, this.superclass) ? -1 : 0;
for (int i = 1; i < n; i++)
- bounds[i] = TypeBound.createBoundOrDependency(context, this.superInterfaces[i+ifcOffset], variable);
+ bounds[i] = TypeBound.createBoundOrDependency(theta, this.superInterfaces[i+ifcOffset], variable);
return bounds;
}
@@ -724,18 +733,25 @@
StringBuffer nameBuffer = new StringBuffer(10);
appendNullAnnotation(nameBuffer, options);
nameBuffer.append(this.sourceName());
- if (this.superclass != null && TypeBinding.equalsEquals(this.firstBound, this.superclass)) {
- nameBuffer.append(" extends ").append(this.superclass.nullAnnotatedReadableName(options, shortNames)); //$NON-NLS-1$
- }
- if (this.superInterfaces != null && this.superInterfaces != Binding.NO_SUPERINTERFACES) {
- if (TypeBinding.notEquals(this.firstBound, this.superclass)) {
- nameBuffer.append(" extends "); //$NON-NLS-1$
- }
- for (int i = 0, length = this.superInterfaces.length; i < length; i++) {
- if (i > 0 || TypeBinding.equalsEquals(this.firstBound, this.superclass)) {
- nameBuffer.append(" & "); //$NON-NLS-1$
- }
- nameBuffer.append(this.superInterfaces[i].nullAnnotatedReadableName(options, shortNames));
+ if (!this.inRecursiveFunction) {
+ this.inRecursiveFunction = true;
+ try {
+ if (this.superclass != null && TypeBinding.equalsEquals(this.firstBound, this.superclass)) {
+ nameBuffer.append(" extends ").append(this.superclass.nullAnnotatedReadableName(options, shortNames)); //$NON-NLS-1$
+ }
+ if (this.superInterfaces != null && this.superInterfaces != Binding.NO_SUPERINTERFACES) {
+ if (TypeBinding.notEquals(this.firstBound, this.superclass)) {
+ nameBuffer.append(" extends "); //$NON-NLS-1$
+ }
+ for (int i = 0, length = this.superInterfaces.length; i < length; i++) {
+ if (i > 0 || TypeBinding.equalsEquals(this.firstBound, this.superclass)) {
+ nameBuffer.append(" & "); //$NON-NLS-1$
+ }
+ nameBuffer.append(this.superInterfaces[i].nullAnnotatedReadableName(options, shortNames));
+ }
+ }
+ } finally {
+ this.inRecursiveFunction = false;
}
}
int nameLength = nameBuffer.length();
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTParserClass.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTParserClass.java
index b7b2b5b..896ec5a 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTParserClass.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/parser/TheOriginalJDTParserClass.java
@@ -920,6 +920,7 @@
protected int[] expressionLengthStack;
protected int expressionPtr;
protected Expression[] expressionStack = new Expression[ExpressionStackIncrement];
+ protected int rBracketPosition;
public int firstToken ; // handle for multiple parsing goals
/* jsr308 -- Type annotation management, we now maintain type annotations in a separate stack
@@ -4972,7 +4973,11 @@
md.bodyEnd = this.endPosition;
md.declarationSourceEnd = flushCommentsDefinedPriorTo(this.endStatementPosition);
if (isDefaultMethod && !this.tolerateDefaultClassMethods) {
- problemReporter().defaultModifierIllegallySpecified(md.bodyStart, this.endPosition);
+ if (this.options.sourceLevel >= ClassFileConstants.JDK1_8) {
+ problemReporter().defaultModifierIllegallySpecified(md.sourceStart, md.sourceEnd);
+ } else {
+ problemReporter().illegalModifierForMethod(md);
+ }
}
}
protected void consumeMethodHeader() {
@@ -6191,6 +6196,7 @@
int sourceEnd;
sourceEnd = (int) this.identifierPositionStack[this.identifierPtr];
+ referenceExpression.nameSourceStart = (int) (this.identifierPositionStack[this.identifierPtr] >>> 32);
selector = this.identifierStack[this.identifierPtr--];
this.identifierLengthPtr--;
@@ -6231,6 +6237,7 @@
int sourceEnd;
sourceEnd = (int) this.identifierPositionStack[this.identifierPtr];
+ referenceExpression.nameSourceStart = (int) (this.identifierPositionStack[this.identifierPtr] >>> 32);
selector = this.identifierStack[this.identifierPtr--];
this.identifierLengthPtr--;
@@ -6255,6 +6262,7 @@
int sourceEnd;
sourceEnd = (int) this.identifierPositionStack[this.identifierPtr];
+ referenceExpression.nameSourceStart = (int) (this.identifierPositionStack[this.identifierPtr] >>> 32);
selector = this.identifierStack[this.identifierPtr--];
this.identifierLengthPtr--;
@@ -6294,6 +6302,7 @@
int sourceEnd;
sourceEnd = (int) this.identifierPositionStack[this.identifierPtr];
+ referenceExpression.nameSourceStart = (int) (this.identifierPositionStack[this.identifierPtr] >>> 32);
selector = this.identifierStack[this.identifierPtr--];
this.identifierLengthPtr--;
@@ -7134,6 +7143,7 @@
break;
//let extra semantic action decide when to push
case TokenNameRBRACKET :
+ this.rBracketPosition = this.scanner.startPosition;
this.endPosition = this.scanner.startPosition;
this.endStatementPosition = this.scanner.currentPosition - 1;
break;
@@ -8237,7 +8247,7 @@
ref.sourceEnd = this.intStack[this.intPtr--];
} else {
this.intPtr--;
- ref.sourceEnd = this.endPosition;
+ ref.sourceEnd = this.rBracketPosition;
}
} else {
int numberOfIdentifiers = this.genericsIdentifiersLengthStack[this.genericsIdentifiersLengthPtr--];
@@ -8663,6 +8673,7 @@
this.rBraceStart = 0;
this.rBraceEnd = 0;
this.rBraceSuccessorStart = 0;
+ this.rBracketPosition = 0;
this.genericsIdentifiersLengthPtr = -1;
this.genericsLengthPtr = -1;
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java
index c0a2ae2..0c5d51e 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java
@@ -47,6 +47,8 @@
* Bug 428366 - [1.8] [compiler] The method valueAt(ObservableList<Object>, int) is ambiguous for the type Bindings
* Bug 416190 - [1.8][null] detect incompatible overrides due to null type annotations
* Bug 392245 - [1.8][compiler][null] Define whether / how @NonNullByDefault applies to TYPE_USE locations
+ * Bug 390889 - [1.8][compiler] Evaluate options to support 1.7- projects against 1.8 JRE.
+ * Bug 430150 - [1.8][null] stricter checking against type variables
* Jesper S Moller <jesper@selskabet.org> - Contributions for
* bug 382701 - [1.8][compiler] Implement semantic analysis of Lambda expressions & Reference expression
* bug 382721 - [1.8][compiler] Effectively final variables needs special treatment
@@ -393,6 +395,8 @@
case IProblem.CannotImplementIncompatibleNullness:
case IProblem.ConflictingNullAnnotations:
case IProblem.ConflictingInheritedNullAnnotations:
+ case IProblem.NullNotCompatibleToFreeTypeVariable:
+ case IProblem.NullityMismatchAgainstFreeTypeVariable:
case IProblem.NullityMismatchingTypeAnnotation:
case IProblem.NullityMismatchingTypeAnnotationSuperHint:
case IProblem.NullityMismatchTypeArgument:
@@ -1574,7 +1578,7 @@
this.handle(
IProblem.IncompatibleTypesInConditionalOperator,
new String[] {new String(trueType.readableName()), new String(falseType.readableName())},
- new String[] {new String(trueType.sourceName()), new String(falseType.sourceName())},
+ new String[] {new String(trueType.shortReadableName()), new String(falseType.shortReadableName())},
expression.sourceStart,
expression.sourceEnd);
}
@@ -1808,11 +1812,15 @@
importRef.sourceEnd);
}
-public void duplicateInheritedMethods(SourceTypeBinding type, MethodBinding inheritedMethod1, MethodBinding inheritedMethod2) {
+public void duplicateInheritedMethods(SourceTypeBinding type, MethodBinding inheritedMethod1, MethodBinding inheritedMethod2, boolean isJava8) {
if (TypeBinding.notEquals(inheritedMethod1.declaringClass, inheritedMethod2.declaringClass)) {
- int problemID = (inheritedMethod1.isDefaultMethod() && inheritedMethod2.isDefaultMethod())
- ? IProblem.DuplicateInheritedDefaultMethods
- : IProblem.DuplicateInheritedMethods;
+ int problemID = IProblem.DuplicateInheritedMethods;
+ if (inheritedMethod1.isDefaultMethod() && inheritedMethod2.isDefaultMethod()) {
+ if (isJava8)
+ problemID = IProblem.DuplicateInheritedDefaultMethods;
+ else
+ return; // don't report this error at 1.7-
+ }
this.handle(
problemID,
new String[] {
@@ -2228,8 +2236,8 @@
if (severity == ProblemSeverities.Ignore) return;
this.handle(
IProblem.FinalBoundForTypeVariable,
- new String[] { new String(typeVariable.sourceName), new String(typeRef.resolvedType.readableName())},
- new String[] { new String(typeVariable.sourceName), new String(typeRef.resolvedType.shortReadableName())},
+ new String[] { new String(typeVariable.sourceName()), new String(typeRef.resolvedType.readableName())},
+ new String[] { new String(typeVariable.sourceName()), new String(typeRef.resolvedType.shortReadableName())},
severity,
typeRef.sourceStart,
typeRef.sourceEnd);
@@ -2962,16 +2970,16 @@
IProblem.DefaultMethodNotBelow18,
NoArgument,
NoArgument,
- md.bodyStart,
- md.bodyEnd);
+ md.sourceStart,
+ md.sourceEnd);
}
public void staticInterfaceMethodsNotBelow18(MethodDeclaration md) {
this.handle(
IProblem.StaticInterfaceMethodNotBelow18,
NoArgument,
NoArgument,
- md.bodyStart,
- md.bodyEnd);
+ md.sourceStart,
+ md.sourceEnd);
}
public void referenceExpressionsNotBelow18(ReferenceExpression rexp) {
this.handle(
@@ -3576,7 +3584,7 @@
new String(shownConstructor.declaringClass.readableName()),
typesAsString(invocationArguments, false),
new String(inferredTypeArgument.readableName()),
- new String(typeParameter.sourceName),
+ new String(typeParameter.sourceName()),
parameterBoundAsString(typeParameter, false) },
new String[] {
new String(shownConstructor.declaringClass.sourceName()),
@@ -3584,7 +3592,7 @@
new String(shownConstructor.declaringClass.shortReadableName()),
typesAsString(invocationArguments, true),
new String(inferredTypeArgument.shortReadableName()),
- new String(typeParameter.sourceName),
+ new String(typeParameter.sourceName()),
parameterBoundAsString(typeParameter, true) },
sourceStart,
sourceEnd);
@@ -4124,7 +4132,7 @@
new String(shownMethod.declaringClass.readableName()),
typesAsString(invocationArguments, false),
new String(inferredTypeArgument.readableName()),
- new String(typeParameter.sourceName),
+ new String(typeParameter.sourceName()),
parameterBoundAsString(typeParameter, false) },
new String[] {
new String(shownMethod.selector),
@@ -4132,7 +4140,7 @@
new String(shownMethod.declaringClass.shortReadableName()),
typesAsString(invocationArguments, true),
new String(inferredTypeArgument.shortReadableName()),
- new String(typeParameter.sourceName),
+ new String(typeParameter.sourceName()),
parameterBoundAsString(typeParameter, true) },
(int) (messageSend.nameSourcePosition >>> 32),
(int) messageSend.nameSourcePosition);
@@ -4953,7 +4961,7 @@
new String(shownConstructor.declaringClass.readableName()),
typesAsString(invocationArguments, false),
new String(inferredTypeArgument.readableName()),
- new String(typeParameter.sourceName),
+ new String(typeParameter.sourceName()),
parameterBoundAsString(typeParameter, false) },
new String[] {
new String(shownConstructor.declaringClass.sourceName()),
@@ -4961,7 +4969,7 @@
new String(shownConstructor.declaringClass.shortReadableName()),
typesAsString(invocationArguments, true),
new String(inferredTypeArgument.shortReadableName()),
- new String(typeParameter.sourceName),
+ new String(typeParameter.sourceName()),
parameterBoundAsString(typeParameter, true) },
severity,
sourceStart,
@@ -5185,7 +5193,7 @@
new String(shownMethod.declaringClass.readableName()),
typesAsString(invocationArguments, false),
new String(inferredTypeArgument.readableName()),
- new String(typeParameter.sourceName),
+ new String(typeParameter.sourceName()),
parameterBoundAsString(typeParameter, false) },
new String[] {
new String(shownMethod.selector),
@@ -5193,7 +5201,7 @@
new String(shownMethod.declaringClass.shortReadableName()),
typesAsString(invocationArguments, true),
new String(inferredTypeArgument.shortReadableName()),
- new String(typeParameter.sourceName),
+ new String(typeParameter.sourceName()),
parameterBoundAsString(typeParameter, true) },
severity,
(int) (messageSend.nameSourcePosition >>> 32),
@@ -7809,6 +7817,10 @@
expectedType = expectedType.erasure();
}
if (actualType != null && (actualType.tagBits & TagBits.HasMissingType) != 0) { // improve secondary error
+ if (location instanceof Annotation) {
+ // https://bugs.eclipse.org/bugs/show_bug.cgi?id=376977
+ return; // Already reported, don't report a secondary error
+ }
this.handle(
IProblem.UndefinedType,
new String[] {new String(actualType.leafComponentType().readableName())},
@@ -7854,8 +7866,8 @@
if (location == null) { // binary case
this.handle(
IProblem.TypeArgumentMismatch,
- new String[] { new String(typeArgument.readableName()), new String(genericType.readableName()), new String(typeParameter.sourceName), parameterBoundAsString(typeParameter, false) },
- new String[] { new String(typeArgument.shortReadableName()), new String(genericType.shortReadableName()), new String(typeParameter.sourceName), parameterBoundAsString(typeParameter, true) },
+ new String[] { new String(typeArgument.readableName()), new String(genericType.readableName()), new String(typeParameter.sourceName()), parameterBoundAsString(typeParameter, false) },
+ new String[] { new String(typeArgument.shortReadableName()), new String(genericType.shortReadableName()), new String(typeParameter.sourceName()), parameterBoundAsString(typeParameter, true) },
ProblemSeverities.AbortCompilation | ProblemSeverities.Error | ProblemSeverities.Fatal,
0,
0);
@@ -7863,8 +7875,8 @@
}
this.handle(
IProblem.TypeArgumentMismatch,
- new String[] { new String(typeArgument.readableName()), new String(genericType.readableName()), new String(typeParameter.sourceName), parameterBoundAsString(typeParameter, false) },
- new String[] { new String(typeArgument.shortReadableName()), new String(genericType.shortReadableName()), new String(typeParameter.sourceName), parameterBoundAsString(typeParameter, true) },
+ new String[] { new String(typeArgument.readableName()), new String(genericType.readableName()), new String(typeParameter.sourceName()), parameterBoundAsString(typeParameter, false) },
+ new String[] { new String(typeArgument.shortReadableName()), new String(genericType.shortReadableName()), new String(typeParameter.sourceName()), parameterBoundAsString(typeParameter, true) },
location.sourceStart,
location.sourceEnd);
}
@@ -9157,20 +9169,28 @@
nullityMismatchingTypeAnnotation(expression, providedType, requiredType, NullAnnotationMatching.NULL_ANNOTATIONS_UNCHECKED);
}
public void nullityMismatchIsNull(Expression expression, TypeBinding requiredType) {
+ int problemId = IProblem.RequiredNonNullButProvidedNull;
+ boolean below18 = this.options.sourceLevel < ClassFileConstants.JDK1_8;
+ if (!below18 && requiredType.isTypeVariable() && !requiredType.hasNullTypeAnnotations())
+ problemId = IProblem.NullNotCompatibleToFreeTypeVariable;
if (requiredType instanceof CaptureBinding) {
CaptureBinding capture = (CaptureBinding) requiredType;
if (capture.wildcard != null)
requiredType = capture.wildcard;
}
- int problemId = IProblem.RequiredNonNullButProvidedNull;
String[] arguments;
String[] argumentsShort;
- if (this.options.sourceLevel < ClassFileConstants.JDK1_8) {
+ if (below18) {
arguments = new String[] { annotatedTypeName(requiredType, this.options.nonNullAnnotationName) };
argumentsShort = new String[] { shortAnnotatedTypeName(requiredType, this.options.nonNullAnnotationName) };
} else {
- arguments = new String[] { new String(requiredType.nullAnnotatedReadableName(this.options, false)) };
- argumentsShort = new String[] { new String(requiredType.nullAnnotatedReadableName(this.options, true)) };
+ if (problemId == IProblem.NullNotCompatibleToFreeTypeVariable) {
+ arguments = new String[] { new String(requiredType.sourceName()) }; // don't show any bounds
+ argumentsShort = new String[] { new String(requiredType.sourceName()) };
+ } else {
+ arguments = new String[] { new String(requiredType.nullAnnotatedReadableName(this.options, false)) };
+ argumentsShort = new String[] { new String(requiredType.nullAnnotatedReadableName(this.options, true)) };
+ }
}
this.handle(problemId, arguments, argumentsShort, expression.sourceStart, expression.sourceEnd);
}
@@ -9456,10 +9476,6 @@
this.handle(problemId, args, shortArgs, start, end);
}
-public void nonNullDefaultDetailNotEvaluated(ASTNode location) {
- this.handle(IProblem.NonNullDefaultDetailIsNotEvaluated, NoArgument, NoArgument, ProblemSeverities.Warning, location.sourceStart, location.sourceEnd);
-}
-
public void contradictoryNullAnnotations(Annotation annotation) {
contradictoryNullAnnotations(annotation.sourceStart, annotation.sourceEnd);
}
@@ -9706,23 +9722,47 @@
String[] shortArguments;
int problemId = 0;
+ String superHint = null;
+ String superHintShort = null;
if (status.superTypeHint != null) {
problemId = (status.isUnchecked()
? IProblem.NullityUncheckedTypeAnnotationDetailSuperHint
: IProblem.NullityMismatchingTypeAnnotationSuperHint);
- arguments = new String[] { null, null, status.superTypeHintName(this.options, false) };
- shortArguments = new String[] { null, null, status.superTypeHintName(this.options, true) };
+ superHint = status.superTypeHintName(this.options, false);
+ superHintShort = status.superTypeHintName(this.options, true);
} else {
problemId = (status.isUnchecked()
? IProblem.NullityUncheckedTypeAnnotationDetail
- : IProblem.NullityMismatchingTypeAnnotation);
- arguments = new String[2];
- shortArguments = new String[2];
+ : (requiredType.isTypeVariable() && !requiredType.hasNullTypeAnnotations())
+ ? IProblem.NullityMismatchAgainstFreeTypeVariable
+ : IProblem.NullityMismatchingTypeAnnotation);
+ if (problemId == IProblem.NullityMismatchAgainstFreeTypeVariable) {
+ arguments = new String[] { null, null, new String(requiredType.sourceName()) }; // don't show bounds here
+ shortArguments = new String[] { null, null, new String(requiredType.sourceName()) };
+ } else {
+ arguments = new String[2];
+ shortArguments = new String[2];
+ }
}
- arguments[0] = String.valueOf(requiredType.nullAnnotatedReadableName(this.options, false));
- arguments[1] = String.valueOf(providedType.nullAnnotatedReadableName(this.options, false));
- shortArguments[0] = String.valueOf(requiredType.nullAnnotatedReadableName(this.options, true));
- shortArguments[1] = String.valueOf(providedType.nullAnnotatedReadableName(this.options, true));
+ String requiredName;
+ String requiredNameShort;
+ if (problemId == IProblem.NullityMismatchAgainstFreeTypeVariable) {
+ requiredName = new String(requiredType.sourceName()); // don't show bounds here
+ requiredNameShort = new String(requiredType.sourceName()); // don't show bounds here
+ } else {
+ requiredName = new String(requiredType.nullAnnotatedReadableName(this.options, false));
+ requiredNameShort = new String(requiredType.nullAnnotatedReadableName(this.options, true));
+ }
+ String providedName = String.valueOf(providedType.nullAnnotatedReadableName(this.options, false));
+ String providedNameShort = String.valueOf(providedType.nullAnnotatedReadableName(this.options, true));
+ // assemble arguments:
+ if (superHint != null) {
+ arguments = new String[] { requiredName, providedName, superHint };
+ shortArguments = new String[] { requiredNameShort, providedNameShort, superHintShort };
+ } else {
+ arguments = new String[] { requiredName, providedName };
+ shortArguments = new String[] { requiredNameShort, providedNameShort };
+ }
this.handle(problemId, arguments, shortArguments, expression.sourceStart, expression.sourceEnd);
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/problem/messages.properties b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/problem/messages.properties
index 8dc1e3e..dfaddb3 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/problem/messages.properties
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/compiler/problem/messages.properties
@@ -37,6 +37,7 @@
# Bug 418743 - [1.8][null] contradictory annotations on invocation of generic method not reported
# Bug 416190 - [1.8][null] detect incompatible overrides due to null type annotations
# Bug 392245 - [1.8][compiler][null] Define whether / how @NonNullByDefault applies to TYPE_USE locations
+# Bug 430150 - [1.8][null] stricter checking against type variables
# Jesper S Moller <jesper@selskabet.org> - Contributions for
# bug 382701 - [1.8][compiler] Implement semantic analysis of Lambda expressions & Reference expression
# bug 384567 - [1.5][compiler] Compiler accepts illegal modifiers on package declaration
@@ -820,7 +821,9 @@
965 = This nullness annotation conflicts with a ''@{0}'' annotation which is effective on the same type parameter
966 = Contradictory null annotations: method was inferred as ''{2} {3}({4})'', but only one of ''@{0}'' and ''@{1}'' can be effective at any location
967 = Null type safety: Unchecked cast from {0} to {1}
-968 = Arguments controling the details of the nullness default are not yet evaluated by the analysis.
+#968 temporary warning has been removed
+969 = Null type mismatch (type annotations): ''null'' is not compatible to the free type variable ''{0}''
+970 = Null type mismatch (type annotations): required ''{0}'' but this expression has type ''{1}'', where ''{0}'' is a free type variable
# Java 8
1001 = Syntax error, modifiers and annotations are not allowed for the lambda parameter {0} as its type is elided
@@ -837,22 +840,22 @@
1055 = Illegal reference to super method {0} from type {1}, cannot bypass the more specific override from type {2}
1056 = Illegal combination of modifiers for the interface method {0}; only one of abstract, default, or static permitted
1057 = strictfp is not permitted for abstract interface method {0}
-1058 = Default methods are allowed only in interfaces with source level 1.8 or greater.
+1058 = Default methods are allowed only in interfaces.
1100 = Problem detected during type inference: {0}
1101 = (Recovered) Internal inconsistency detected during lambda shape analysis
### ELABORATIONS
## Access restrictions
-78592 = The type {1} is not accessible due to restriction on classpath entry {0}
-78593 = The type {1} is not accessible due to restriction on required project {0}
-78594 = The type {1} is not accessible due to restriction on required library {0}
-78596 = The field {1} from the type {2} is not accessible due to restriction on classpath entry {0}
-78597 = The field {1} from the type {2} is not accessible due to restriction on required project {0}
-78598 = The field {1} from the type {2} is not accessible due to restriction on required library {0}
-78600 = The constructor {1} is not accessible due to restriction on classpath entry {0}
-78601 = The constructor {1} is not accessible due to restriction on required project {0}
-78602 = The constructor {1} is not accessible due to restriction on required library {0}
-78604 = The method {1} from the type {2} is not accessible due to restriction on classpath entry {0}
-78606 = The method {1} from the type {2} is not accessible due to restriction on required library {0}
-78605 = The method {1} from the type {2} is not accessible due to restriction on required project {0}
+78592 = The type ''{1}'' is not API (restriction on classpath entry ''{0}'')
+78593 = The type ''{1}'' is not API (restriction on required project ''{0}'')
+78594 = The type ''{1}'' is not API (restriction on required library ''{0}'')
+78596 = The field ''{2}.{1}'' is not API (restriction on classpath entry ''{0}'')
+78597 = The field ''{2}.{1}'' is not API (restriction on required project ''{0}'')
+78598 = The field ''{2}.{1}'' is not API (restriction on required library ''{0}'')
+78600 = The constructor ''{1}'' is not API (restriction on classpath entry ''{0}'')
+78601 = The constructor ''{1}'' is not API (restriction on required project ''{0}'')
+78602 = The constructor ''{1}'' is not API (restriction on required library ''{0}'')
+78604 = The method ''{2}.{1}'' is not API (restriction on classpath entry ''{0}'')
+78606 = The method ''{2}.{1}'' is not API (restriction on required library ''{0}'')
+78605 = The method ''{2}.{1}'' is not API (restriction on required project ''{0}'')
\ No newline at end of file
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/BinaryLambdaExpression.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/BinaryLambdaExpression.java
new file mode 100644
index 0000000..c0ce6d8
--- /dev/null
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/BinaryLambdaExpression.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2014 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.aspectj.org.eclipse.jdt.internal.core;
+
+import org.aspectj.org.eclipse.jdt.core.IJavaElement;
+
+
+public class BinaryLambdaExpression extends LambdaExpression {
+
+ BinaryLambdaExpression(JavaElement parent, org.aspectj.org.eclipse.jdt.internal.compiler.ast.LambdaExpression lambdaExpression) {
+ super(parent, lambdaExpression);
+ }
+
+ BinaryLambdaExpression(JavaElement parent, String interphase, int sourceStart, int sourceEnd, int arrowPosition) {
+ super(parent, interphase, sourceStart, sourceEnd, arrowPosition);
+ }
+
+ BinaryLambdaExpression(JavaElement parent, String interphase, int sourceStart, int sourceEnd, int arrowPosition, LambdaMethod lambdaMethod) {
+ super(parent, interphase, sourceStart, sourceEnd, arrowPosition, lambdaMethod);
+ }
+
+ /*
+ * @see JavaElement#getPrimaryElement(boolean)
+ */
+ public IJavaElement getPrimaryElement(boolean checkOwner) {
+ return this;
+ }
+
+ /*
+ * @see IMember#isBinary()
+ */
+ public boolean isBinary() {
+ return true;
+ }
+}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/BinaryLambdaMethod.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/BinaryLambdaMethod.java
new file mode 100644
index 0000000..1c22410
--- /dev/null
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/BinaryLambdaMethod.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2014 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.aspectj.org.eclipse.jdt.internal.core;
+
+import org.aspectj.org.eclipse.jdt.core.IJavaElement;
+
+public class BinaryLambdaMethod extends LambdaMethod {
+
+ BinaryLambdaMethod(JavaElement parent, String name, String key, int sourceStart, String [] parameterTypes, String [] parameterNames, String returnType, SourceMethodElementInfo elementInfo) {
+ super(parent, name, key, sourceStart, parameterTypes, parameterNames, returnType, elementInfo);
+ }
+
+ /*
+ * @see JavaElement#getPrimaryElement(boolean)
+ */
+ public IJavaElement getPrimaryElement(boolean checkOwner) {
+ return this;
+ }
+
+ /*
+ * @see IMember#isBinary()
+ */
+ public boolean isBinary() {
+ return true;
+ }
+}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/BinaryMethod.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/BinaryMethod.java
index c6c0fa6..00ab780 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/BinaryMethod.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/BinaryMethod.java
@@ -7,6 +7,7 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
+ * Terry Parker <tparker@google.com> - Bug 418092
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.core;
@@ -28,6 +29,7 @@
import org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ExtraCompilerModifiers;
+import org.aspectj.org.eclipse.jdt.internal.compiler.parser.ScannerHelper;
import org.aspectj.org.eclipse.jdt.internal.core.JavaModelManager.PerProjectInfo;
import org.aspectj.org.eclipse.jdt.internal.core.util.Util;
@@ -353,7 +355,13 @@
}
}
if (methodDoc != null) {
- final int indexOfOpenParen = methodDoc.indexOf('(');
+ int indexOfOpenParen = methodDoc.indexOf('(');
+ // Annotations may have parameters, so make sure we are parsing the actual method parameters.
+ if (info.getAnnotations() != null) {
+ while (indexOfOpenParen != -1 && !isOpenParenForMethod(methodDoc, getElementName(), indexOfOpenParen)) {
+ indexOfOpenParen = methodDoc.indexOf('(', indexOfOpenParen + 1);
+ }
+ }
if (indexOfOpenParen != -1) {
final int indexOfClosingParen = methodDoc.indexOf(')', indexOfOpenParen);
if (indexOfClosingParen != -1) {
@@ -391,6 +399,33 @@
// If still no parameter names, produce fake ones, but don't cache them (https://bugs.eclipse.org/bugs/show_bug.cgi?id=329671)
return getRawParameterNames(paramCount);
}
+private boolean isOpenParenForMethod(String javaDoc, String methodName, int index) {
+ /*
+ * Annotations can have parameters associated with them, so we need to validate that this parameter list is
+ * actually for the method. Determine this by scanning backwards from where the paren was seen, skipping over
+ * HTML tags to find the identifier that precedes the paren, and then matching that identifier against the
+ * method's name.
+ */
+ boolean scanningTag = false;
+ int endIndex = 0;
+ while (--index > methodName.length()) {
+ char previousChar = javaDoc.charAt(index);
+ if (endIndex > 0) {
+ if (!ScannerHelper.isJavaIdentifierPart(previousChar)
+ || !ScannerHelper.isJavaIdentifierStart(previousChar))
+ return methodName.equals(javaDoc.substring(index + 1, endIndex));
+ } else if (!scanningTag) {
+ if (previousChar == '>')
+ scanningTag = true;
+ else if (ScannerHelper.isJavaIdentifierPart(previousChar)
+ || ScannerHelper.isJavaIdentifierStart(previousChar))
+ endIndex = index + 1;
+ } else if (previousChar == '<')
+ // We are only matching angle brackets here, without any other validation of the tags.
+ scanningTag = false;
+ }
+ return false;
+}
private char[][] splitParameters(char[] parametersSource, int paramCount) {
// we have generic types as one of the parameter types
char[][] params = new char[paramCount][];
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/BinaryType.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/BinaryType.java
index fb02b69..4181545 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/BinaryType.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/BinaryType.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -391,6 +391,7 @@
params.toArray(parameters);
JavaElement method = (JavaElement)getMethod(selector, parameters);
switch (token.charAt(0)) {
+ case JEM_LAMBDA_EXPRESSION:
case JEM_TYPE:
case JEM_TYPE_PARAMETER:
case JEM_LOCALVARIABLE:
@@ -1035,11 +1036,15 @@
pathBuffer.append(pack.getElementName().replace('.', '/')).append('/').append(typeQualifiedName).append(JavadocConstants.HTML_EXTENSION);
if (monitor != null && monitor.isCanceled()) throw new OperationCanceledException();
- final String contents = getURLContents(String.valueOf(pathBuffer));
+ final String contents = getURLContents(baseLocation, String.valueOf(pathBuffer));
JavadocContents javadocContents = new JavadocContents(this, contents);
synchronized (projectInfo.javadocCache) {
projectInfo.javadocCache.put(this, javadocContents);
}
return javadocContents;
}
+@Override
+public boolean isLambda() {
+ return false;
+}
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/CompilationUnitStructureRequestor.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/CompilationUnitStructureRequestor.java
index 592fdcc..1c6bb37 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/CompilationUnitStructureRequestor.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/CompilationUnitStructureRequestor.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -728,7 +728,7 @@
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=342393
// For anonymous source types, the occurrence count should be in the context
// of the enclosing type.
- if (handle instanceof SourceType && handle.getElementName().length() == 0) {
+ if (handle instanceof SourceType && ((SourceType) handle).isAnonymous()) {
Object key = handle.getParent().getAncestor(IJavaElement.TYPE);
occurenceCount = this.localOccurrenceCounts.get(key);
if (occurenceCount == -1)
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessingState.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessingState.java
index 13b4c9e..edbc32f 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessingState.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessingState.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -179,30 +179,36 @@
return deltaProcessor;
}
- public synchronized ClasspathChange addClasspathChange(IProject project, IClasspathEntry[] oldRawClasspath, IPath oldOutputLocation, IClasspathEntry[] oldResolvedClasspath) {
- ClasspathChange change = (ClasspathChange) this.classpathChanges.get(project);
- if (change == null) {
- change = new ClasspathChange((JavaProject) JavaModelManager.getJavaModelManager().getJavaModel().getJavaProject(project), oldRawClasspath, oldOutputLocation, oldResolvedClasspath);
- this.classpathChanges.put(project, change);
- } else {
- if (change.oldRawClasspath == null)
- change.oldRawClasspath = oldRawClasspath;
- if (change.oldOutputLocation == null)
- change.oldOutputLocation = oldOutputLocation;
- if (change.oldResolvedClasspath == null)
- change.oldResolvedClasspath = oldResolvedClasspath;
+ public ClasspathChange addClasspathChange(IProject project, IClasspathEntry[] oldRawClasspath, IPath oldOutputLocation, IClasspathEntry[] oldResolvedClasspath) {
+ synchronized (this.classpathChanges) {
+ ClasspathChange change = (ClasspathChange) this.classpathChanges.get(project);
+ if (change == null) {
+ change = new ClasspathChange((JavaProject) JavaModelManager.getJavaModelManager().getJavaModel().getJavaProject(project), oldRawClasspath, oldOutputLocation, oldResolvedClasspath);
+ this.classpathChanges.put(project, change);
+ } else {
+ if (change.oldRawClasspath == null)
+ change.oldRawClasspath = oldRawClasspath;
+ if (change.oldOutputLocation == null)
+ change.oldOutputLocation = oldOutputLocation;
+ if (change.oldResolvedClasspath == null)
+ change.oldResolvedClasspath = oldResolvedClasspath;
+ }
+ return change;
}
- return change;
}
- public synchronized ClasspathChange getClasspathChange(IProject project) {
- return (ClasspathChange) this.classpathChanges.get(project);
+ public ClasspathChange getClasspathChange(IProject project) {
+ synchronized (this.classpathChanges) {
+ return (ClasspathChange) this.classpathChanges.get(project);
+ }
}
- public synchronized HashMap removeAllClasspathChanges() {
- HashMap result = this.classpathChanges;
- this.classpathChanges = new HashMap(result.size());
- return result;
+ public HashMap removeAllClasspathChanges() {
+ synchronized (this.classpathChanges) {
+ HashMap result = this.classpathChanges;
+ this.classpathChanges = new HashMap(result.size());
+ return result;
+ }
}
public synchronized ClasspathValidation addClasspathValidation(JavaProject project) {
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor.java
index 0f88b8d..7e232e9 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/DeltaProcessor.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -9,6 +9,7 @@
* IBM Corporation - initial API and implementation
* Terry Parker <tparker@google.com> - DeltaProcessor exhibits O(N^2) behavior, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=354332
* Terry Parker <tparker@google.com> - DeltaProcessor misses state changes in archive files, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=357425
+ * Terry Parker <tparker@google.com> - [performance] Low hit rates in JavaModel caches - https://bugs.eclipse.org/421165
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.core;
@@ -16,6 +17,7 @@
import java.net.URL;
import java.util.*;
+import org.eclipse.core.resources.IBuildConfiguration;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
@@ -65,6 +67,9 @@
@SuppressWarnings({ "rawtypes", "unchecked" })
public class DeltaProcessor {
+ /*
+ * An object to hold information about a project's output folders (where .class files are generated).
+ */
static class OutputsInfo {
int outputCount;
IPath[] paths;
@@ -102,14 +107,20 @@
}
}
+ /*
+ * An object to hold information about IPackageFragmentRoots (which correspond to
+ * individual classpath entry items, e.g., a java/javatests source root or library
+ * archive jar.)
+ */
public static class RootInfo {
- char[][] inclusionPatterns;
- char[][] exclusionPatterns;
- public JavaProject project;
- IPath rootPath;
- int entryKind;
+ final char[][] inclusionPatterns;
+ final char[][] exclusionPatterns;
+ final public JavaProject project;
+ final IPath rootPath;
+ final int entryKind;
IPackageFragmentRoot root;
IPackageFragmentRoot cache;
+
RootInfo(JavaProject project, IPath rootPath, char[][] inclusionPatterns, char[][] exclusionPatterns, int entryKind) {
this.project = project;
this.rootPath = rootPath;
@@ -967,6 +978,9 @@
String status = (String)externalArchivesStatus.get(entryPath);
if (status == null){
+ // Clear the external file state for this path, since this method is responsible for updating it.
+ this.manager.clearExternalFileState(entryPath);
+
// compute shared status
Object targetLibrary = JavaModel.getTarget(entryPath, true);
@@ -1060,8 +1074,6 @@
javaProject.resetResolvedClasspath();
}
}
- // ensure the external file cache is reset so that if a .jar file is deleted but no longer on the classpath, it won't appear as changed next time it is added
- JavaModel.flushExternalFileCache();
if (hasDelta){
// flush jar type cache
@@ -1131,7 +1143,7 @@
if (elementType == IJavaElement.JAVA_PROJECT) {
// project add is handled by JavaProject.configure() because
- // when a project is created, it does not yet have a java nature
+ // when a project is created, it does not yet have a Java nature
IProject project;
if (delta != null && JavaProject.hasJavaNature(project = (IProject)delta.getResource())) {
addToParentInfo(element);
@@ -2156,7 +2168,39 @@
}
if (isAffected) {
- JavaModel.flushExternalFileCache();
+ Object source = event.getSource();
+ projects = null;
+ if (source instanceof IWorkspace) {
+ projects = ((IWorkspace) source).getRoot().getProjects();
+ } else if (source instanceof IProject) {
+ projects = new IProject[] {(IProject) source};
+ } else {
+ Util.log(new Exception(),
+ "Expected to see a workspace or project on the PRE_BUILD resource change but was: " + source.toString()); //$NON-NLS-1$
+ }
+ if (projects != null) {
+ // If we are about to do a build and a Java project's first builder is not the Java builder,
+ // then it is possible that one of the earlier builders will build a jar file that is on that
+ // project's classpath. If we see that, then to be safe we must flush the caching of the
+ // JavaModelManager's external file state.
+ // A possible further optimization for this situation where earlier builders can affect the
+ // Java builder would be to add a new classpath element attribute that identifies whether
+ // or not a library jar is "stable" and needs to be flushed.
+ for (int i = 0; i < projects.length; i++) {
+ try {
+ IProject project = projects[i];
+ if (project.isOpen() && project.hasNature(JavaCore.NATURE_ID)) {
+ IBuildConfiguration[] configs = project.getBuildConfigs();
+ if (configs.length > 1 && !JavaCore.BUILDER_ID.equals(configs[0].getName())) {
+ this.manager.resetExternalFilesCache();
+ break;
+ }
+ }
+ } catch (CoreException exception) {
+ Util.log(exception, "Exception while checking builder configuration ordering"); //$NON-NLS-1$
+ }
+ }
+ }
JavaBuilder.buildStarting();
}
@@ -2477,7 +2521,7 @@
}
/*
- * Update the current delta (i.e. add/remove/change the given element) and update the correponding index.
+ * Update the current delta (i.e. add/remove/change the given element) and update the corresponding index.
* Returns whether the children of the given delta must be processed.
* @throws a JavaModelException if the delta doesn't correspond to a java element of the given type.
*/
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/ExternalFoldersManager.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/ExternalFoldersManager.java
index 12f1547..223f441 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/ExternalFoldersManager.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/ExternalFoldersManager.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -9,6 +9,7 @@
* IBM Corporation - initial API and implementation
* Stephan Herrmann <stephan@cs.tu-berlin.de> - inconsistent initialization of classpath container backed by external class folder, see https://bugs.eclipse.org/320618
* Thirumala Reddy Mutchukota <thirumala@google.com> - Contribution to bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=411423
+ * Terry Parker <tparker@google.com> - [performance] Low hit rates in JavaModel caches - https://bugs.eclipse.org/421165
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.core;
@@ -69,9 +70,9 @@
return MANAGER;
}
- /*
- * Returns a set of external path to external folders referred to on the given classpath.
- * Returns null if none.
+ /**
+ * Returns a set of external paths to external folders referred to on the given classpath.
+ * Returns <code>null</code> if there are none.
*/
public static HashSet getExternalFolders(IClasspathEntry[] classpath) {
if (classpath == null)
@@ -97,7 +98,9 @@
return folders;
}
-
+ /**
+ * Returns <code>true</code> if the provided path is a folder external to the project.
+ */
public static boolean isExternalFolderPath(IPath externalPath) {
if (externalPath == null)
return false;
@@ -105,14 +108,17 @@
if (firstSegment != null && ResourcesPlugin.getWorkspace().getRoot().getProject(firstSegment).exists())
return false;
JavaModelManager manager = JavaModelManager.getJavaModelManager();
- if (manager.isExternalFile(externalPath))
+ if (manager.isExternalFile(externalPath) || manager.isAssumedExternalFile(externalPath))
return false;
File externalFolder = externalPath.toFile();
- if (externalFolder.isFile()
- || (externalPath.getFileExtension() != null/*likely a .jar, .zip, .rar or other file*/ && !externalFolder.exists())) {
+ if (externalFolder.isFile()) {
manager.addExternalFile(externalPath);
return false;
}
+ if (externalPath.getFileExtension() != null/*likely a .jar, .zip, .rar or other file*/ && !externalFolder.exists()) {
+ manager.addAssumedExternalFile(externalPath);
+ return false;
+ }
return true;
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/JavaCorePreferenceModifyListener.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/JavaCorePreferenceModifyListener.java
index 64f8e5c..990deb0 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/JavaCorePreferenceModifyListener.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/JavaCorePreferenceModifyListener.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -13,7 +13,7 @@
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.eclipse.core.runtime.preferences.PreferenceModifyListener;
-import org.aspectj.org.eclipse.jdt.core.*;
+import org.aspectj.org.eclipse.jdt.core.JavaCore;
import org.osgi.service.prefs.BackingStoreException;
import org.osgi.service.prefs.Preferences;
@@ -26,8 +26,20 @@
* @see org.eclipse.core.runtime.preferences.PreferenceModifyListener#preApply(org.eclipse.core.runtime.preferences.IEclipsePreferences)
*/
public IEclipsePreferences preApply(IEclipsePreferences node) {
- Preferences instance = node.node(InstanceScope.SCOPE);
- cleanJavaCore(instance.node(JavaCore.PLUGIN_ID));
+ // the node does not need to be the root of the hierarchy
+ Preferences root = node.node("/"); //$NON-NLS-1$
+ try {
+ // we must not create empty preference nodes, so first check if the node exists
+ if (root.nodeExists(InstanceScope.SCOPE)) {
+ Preferences instance = root.node(InstanceScope.SCOPE);
+ // we must not create empty preference nodes, so first check if the node exists
+ if (instance.nodeExists(JavaCore.PLUGIN_ID)) {
+ cleanJavaCore(instance.node(JavaCore.PLUGIN_ID));
+ }
+ }
+ } catch (BackingStoreException e) {
+ // do nothing
+ }
return super.preApply(node);
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/JavaElement.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/JavaElement.java
index 35d5d17..fcde1de 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/JavaElement.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/JavaElement.java
@@ -26,6 +26,8 @@
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Set;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.*;
@@ -73,6 +75,22 @@
public static final char JEM_LAMBDA_METHOD = '&';
public static final char JEM_STRING = '"';
+ /**
+ * Before ')', '&' and '"' became the newest additions as delimiters, the former two
+ * were allowed as part of element attributes and possibly stored. Trying to recreate
+ * elements from such memento would cause undesirable results. Consider the following
+ * valid project name: (abc)
+ * If we were to use ')' alone as the delimiter and decode the above name, the memento
+ * would be wrongly identified to contain a lambda expression.
+ *
+ * In order to differentiate delimiters from characters that are part of element attributes,
+ * the following escape character is being introduced and all the new delimiters must
+ * be escaped with this. So, a lambda expression would be written as: "=)..."
+ *
+ * @see JavaElement#appendEscapedDelimiter(StringBuffer, char)
+ */
+ public static final char JEM_DELIMITER_ESCAPE = JEM_JAVAPROJECT;
+
/**
* This element's parent, or <code>null</code> if this
@@ -82,6 +100,9 @@
protected static final JavaElement[] NO_ELEMENTS = new JavaElement[0];
protected static final Object NO_INFO = new Object();
+
+ private static Set<String> invalidURLs = null;
+ private static Set<String> validURLs = null;
/**
* Constructs a handle for a java element with
@@ -133,6 +154,16 @@
return getElementName().equals(other.getElementName()) &&
this.parent.equals(other.parent);
}
+ /**
+ * @see #JEM_DELIMITER_ESCAPE
+ */
+ protected void appendEscapedDelimiter(StringBuffer buffer, char delimiter) {
+ buffer.append(JEM_DELIMITER_ESCAPE);
+ buffer.append(delimiter);
+ }
+ /*
+ * Do not add new delimiters here
+ */
protected void escapeMementoName(StringBuffer buffer, String mementoName) {
for (int i = 0, length = mementoName.length(); i < length; i++) {
char character = mementoName.charAt(i);
@@ -153,9 +184,6 @@
case JEM_LOCALVARIABLE:
case JEM_TYPE_PARAMETER:
case JEM_ANNOTATION:
- case JEM_LAMBDA_EXPRESSION:
- case JEM_LAMBDA_METHOD:
- case JEM_STRING:
buffer.append(JEM_ESCAPE);
}
buffer.append(character);
@@ -744,10 +772,45 @@
}
/*
+ * This method caches a list of good and bad Javadoc locations in the current eclipse session.
+ */
+ protected void validateAndCache(URL baseLoc, FileNotFoundException e) throws JavaModelException {
+ String url = baseLoc.toString();
+ if (validURLs != null && validURLs.contains(url)) return;
+
+ if (invalidURLs != null && invalidURLs.contains(url))
+ throw new JavaModelException(e, IJavaModelStatusConstants.CANNOT_RETRIEVE_ATTACHED_JAVADOC);
+
+ InputStream input = null;
+ try {
+ URLConnection connection = baseLoc.openConnection();
+ input = connection.getInputStream();
+ if (validURLs == null) {
+ validURLs = new HashSet<String>(1);
+ }
+ validURLs.add(url);
+ } catch (Exception e1) {
+ if (invalidURLs == null) {
+ invalidURLs = new HashSet<String>(1);
+ }
+ invalidURLs.add(url);
+ throw new JavaModelException(e, IJavaModelStatusConstants.CANNOT_RETRIEVE_ATTACHED_JAVADOC);
+ } finally {
+ if (input != null) {
+ try {
+ input.close();
+ } catch (Exception e1) {
+ // Ignore
+ }
+ }
+ }
+ }
+
+ /*
* We don't use getContentEncoding() on the URL connection, because it might leave open streams behind.
* See https://bugs.eclipse.org/bugs/show_bug.cgi?id=117890
*/
- protected String getURLContents(String docUrlValue) throws JavaModelException {
+ protected String getURLContents(URL baseLoc, String docUrlValue) throws JavaModelException {
InputStream stream = null;
JarURLConnection connection2 = null;
try {
@@ -831,8 +894,8 @@
} catch (MalformedURLException e) {
throw new JavaModelException(new JavaModelStatus(IJavaModelStatusConstants.CANNOT_RETRIEVE_ATTACHED_JAVADOC, this));
} catch (FileNotFoundException e) {
- // Ignore, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=120559 &
- // https://bugs.eclipse.org/bugs/show_bug.cgi?id=403036
+ // https://bugs.eclipse.org/bugs/show_bug.cgi?id=403154
+ validateAndCache(baseLoc, e);
} catch (SocketException e) {
// see bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=247845 &
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=400060
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/JavaModel.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/JavaModel.java
index b4684da..b9a4a56 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/JavaModel.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/JavaModel.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -7,12 +7,12 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
+ * Terry Parker <tparker@google.com> - [performance] Low hit rates in JavaModel caches - https://bugs.eclipse.org/421165
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.core;
import java.io.File;
import java.util.ArrayList;
-import java.util.HashSet;
import java.util.Map;
import org.eclipse.core.resources.IFile;
@@ -41,20 +41,6 @@
@SuppressWarnings({"rawtypes", "unchecked"})
public class JavaModel extends Openable implements IJavaModel {
- /**
- * A set of java.io.Files used as a cache of external jars that
- * are known to be existing.
- * Note this cache is kept for the whole session.
- */
- public static HashSet existingExternalFiles = new HashSet();
-
- /**
- * A set of external files ({@link #existingExternalFiles}) which have
- * been confirmed as file (i.e. which returns true to {@link java.io.File#isFile()}.
- * Note this cache is kept for the whole session.
- */
- public static HashSet existingExternalConfirmedFiles = new HashSet();
-
/**
* Constructs a new Java Model on the given workspace.
* Note that only one instance of JavaModel handle should ever be created.
@@ -148,13 +134,6 @@
public int getElementType() {
return JAVA_MODEL;
}
-/**
- * Flushes the cache of external files known to be existing.
- */
-public static void flushExternalFileCache() {
- existingExternalFiles = new HashSet();
- existingExternalConfirmedFiles = new HashSet();
-}
/*
* @see JavaElement
@@ -309,9 +288,16 @@
}
/**
- * Helper method - returns the targeted item (IResource if internal or java.io.File if external),
- * or null if unbound
- * Internal items must be referred to using container relative paths.
+ * Helper method - for the provided {@link IPath}, returns:
+ * <ul>
+ * <li>If the path corresponds to an internal file or folder, the {@link IResource} for that resource
+ * <li>If the path corresponds to an external folder linked through {@link ExternalFoldersManager},
+ * the {@link IFolder} for that folder
+ * <li>If the path corresponds to an external library archive, the {@link File} for that archive
+ * <li>Can return <code>null</code> if <code>checkResourceExistence</code> is <code>true</code>
+ * and the entity referred to by the path does not exist on the file system
+ * </ul>
+ * Internal items must be referred to using container-relative paths.
*/
public static Object getTarget(IPath path, boolean checkResourceExistence) {
Object target = getWorkspaceTarget(path); // Implicitly checks resource existence
@@ -319,6 +305,11 @@
return target;
return getExternalTarget(path, checkResourceExistence);
}
+
+/**
+ * Helper method - returns the {@link IResource} corresponding to the provided {@link IPath},
+ * or <code>null</code> if no such resource exists.
+ */
public static IResource getWorkspaceTarget(IPath path) {
if (path == null || path.getDevice() != null)
return null;
@@ -327,6 +318,13 @@
return null;
return workspace.getRoot().findMember(path);
}
+
+/**
+ * Helper method - returns either the linked {@link IFolder} or the {@link File} corresponding
+ * to the provided {@link IPath}. If <code>checkResourceExistence</code> is <code>false</code>,
+ * then the IFolder or File object is always returned, otherwise <code>null</code> is returned
+ * if it does not exist on the file system.
+ */
public static Object getExternalTarget(IPath path, boolean checkResourceExistence) {
if (path == null)
return null;
@@ -345,50 +343,48 @@
File externalFile = new File(path.toOSString());
if (!checkResourceExistence) {
return externalFile;
- } else if (existingExternalFilesContains(externalFile)) {
+ } else if (isExternalFile(path)) {
return externalFile;
- } else {
- if (JavaModelManager.ZIP_ACCESS_VERBOSE) {
- System.out.println("(" + Thread.currentThread() + ") [JavaModel.getTarget(...)] Checking existence of " + path.toString()); //$NON-NLS-1$ //$NON-NLS-2$
- }
- if (externalFile.isFile()) { // isFile() checks for existence (it returns false if a directory)
- // cache external file
- existingExternalFilesAdd(externalFile);
- return externalFile;
- }
}
return null;
}
-private synchronized static void existingExternalFilesAdd(File externalFile) {
- existingExternalFiles.add(externalFile);
-}
-private synchronized static boolean existingExternalFilesContains(File externalFile) {
- return existingExternalFiles.contains(externalFile);
-}
/**
- * Helper method - returns whether an object is afile (i.e. which returns true to {@link java.io.File#isFile()}.
+ * Helper method - returns whether an object is a file (i.e., it returns <code>true</code>
+ * to {@link File#isFile()}.
*/
public static boolean isFile(Object target) {
- return getFile(target) != null;
+ if (target instanceof File) {
+ IPath path = Path.fromOSString(((File) target).getPath());
+ return isExternalFile(path);
+ }
+ return false;
}
/**
- * Helper method - returns the file item (i.e. which returns true to {@link java.io.File#isFile()},
- * or null if unbound
+ * Returns whether the provided path is an external file, checking and updating the
+ * JavaModelManager's external file cache.
*/
-public static synchronized File getFile(Object target) {
- if (existingExternalConfirmedFiles.contains(target))
- return (File) target;
- if (target instanceof File) {
- File f = (File) target;
- if (f.isFile()) {
- existingExternalConfirmedFiles.add(f);
- return f;
- }
+static private boolean isExternalFile(IPath path) {
+ if (JavaModelManager.getJavaModelManager().isExternalFile(path)) {
+ return true;
}
+ if (JavaModelManager.ZIP_ACCESS_VERBOSE) {
+ System.out.println("(" + Thread.currentThread() + ") [JavaModel.isExternalFile(...)] Checking existence of " + path.toString()); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ boolean isFile = path.toFile().isFile();
+ if (isFile) {
+ JavaModelManager.getJavaModelManager().addExternalFile(path);
+ }
+ return isFile;
+}
- return null;
+/**
+ * Helper method - returns the {@link File} item if <code>target</code> is a file (i.e., the target
+ * returns <code>true</code> to {@link File#isFile()}. Otherwise returns <code>null</code>.
+ */
+public static File getFile(Object target) {
+ return isFile(target) ? (File) target : null;
}
protected IStatus validateExistence(IResource underlyingResource) {
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager.java
index 6a0fc6d..c33f8f4 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/JavaModelManager.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -13,6 +13,7 @@
* Stephan Herrmann - Contribution for Bug 346010 - [model] strange initialization dependency in OptionTests
* Terry Parker <tparker@google.com> - DeltaProcessor misses state changes in archive files, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=357425
* Thirumala Reddy Mutchukota <thirumala@google.com> - Contribution to bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=411423
+ * Terry Parker <tparker@google.com> - [performance] Low hit rates in JavaModel caches - https://bugs.eclipse.org/421165
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.core;
@@ -91,6 +92,7 @@
private static final String NON_CHAINING_JARS_CACHE = "nonChainingJarsCache"; //$NON-NLS-1$
private static final String INVALID_ARCHIVES_CACHE = "invalidArchivesCache"; //$NON-NLS-1$
private static final String EXTERNAL_FILES_CACHE = "externalFilesCache"; //$NON-NLS-1$
+ private static final String ASSUMED_EXTERNAL_FILES_CACHE = "assumedExternalFilesCache"; //$NON-NLS-1$
/**
* Define a zip cache object.
@@ -1439,20 +1441,27 @@
private UserLibraryManager userLibraryManager;
/*
- * List of IPath of jars that are known to not contain a chaining (through MANIFEST.MF) to another library
+ * A set of IPaths for jars that are known to not contain a chaining (through MANIFEST.MF) to another library
*/
private Set nonChainingJars;
/*
- * List of IPath of jars that are known to be invalid - such as not being a valid/known format
+ * A set of IPaths for jars that are known to be invalid - such as not being a valid/known format
*/
private Set invalidArchives;
/*
- * List of IPath of files that are known to be external to the workspace
+ * A set of IPaths for files that are known to be external to the workspace.
+ * Need not be referenced by the classpath.
*/
private Set externalFiles;
+ /*
+ * A set of IPaths for files that do not exist on the file system but are assumed to be
+ * external archives (rather than external folders).
+ */
+ private Set assumedExternalFiles;
+
/**
* Update the classpath variable cache
*/
@@ -1588,6 +1597,7 @@
this.nonChainingJars = loadClasspathListCache(NON_CHAINING_JARS_CACHE);
this.invalidArchives = loadClasspathListCache(INVALID_ARCHIVES_CACHE);
this.externalFiles = loadClasspathListCache(EXTERNAL_FILES_CACHE);
+ this.assumedExternalFiles = loadClasspathListCache(ASSUMED_EXTERNAL_FILES_CACHE);
String includeContainerReferencedLib = System.getProperty(RESOLVE_REFERENCED_LIBRARIES_FOR_CONTAINERS);
this.resolveReferencedLibrariesForContainers = TRUE.equalsIgnoreCase(includeContainerReferencedLib);
}
@@ -1616,6 +1626,10 @@
}
}
+ /**
+ * Adds a path to the external files cache. It is the responsibility of callers to
+ * determine the file's existence, as determined by {@link File#isFile()}.
+ */
public void addExternalFile(IPath path) {
// unlikely to be null
if (this.externalFiles == null) {
@@ -3116,10 +3130,52 @@
}
}
+ /**
+ * Returns the cached value for whether the file referred to by <code>path</code> exists
+ * and is a file, as determined by the return value of {@link File#isFile()}.
+ */
public boolean isExternalFile(IPath path) {
return this.externalFiles != null && this.externalFiles.contains(path);
}
+ /**
+ * Removes the cached state of a single entry in the externalFiles cache.
+ */
+ public void clearExternalFileState(IPath path) {
+ if (this.externalFiles != null) {
+ this.externalFiles.remove(path);
+ }
+ }
+
+ /**
+ * Resets the entire externalFiles cache.
+ */
+ public void resetExternalFilesCache() {
+ if (this.externalFiles != null) {
+ this.externalFiles.clear();
+ }
+ }
+
+ /**
+ * Returns whether the provided {@link IPath} appears to be an external file,
+ * which is true if the path does not represent an internal resource, does not
+ * exist on the file system, and does have a file extension (this is the definition
+ * provided by {@link ExternalFoldersManager#isExternalFolderPath}).
+ */
+ public boolean isAssumedExternalFile(IPath path) {
+ if (this.assumedExternalFiles == null) {
+ return false;
+ }
+ return this.assumedExternalFiles.contains(path);
+ }
+
+ /**
+ * Adds the provided {@link IPath} to the list of assumed external files.
+ */
+ public void addAssumedExternalFile(IPath path) {
+ this.assumedExternalFiles.add(path);
+ }
+
public void setClasspathBeingResolved(IJavaProject project, boolean classpathIsResolved) {
if (classpathIsResolved) {
getClasspathBeingResolved().add(project);
@@ -3141,7 +3197,7 @@
}
} catch (IOException e) {
if (cacheFile.exists())
- Util.log(e, "Unable to read non-chaining jar cache file"); //$NON-NLS-1$
+ Util.log(e, "Unable to read JavaModelManager " + cacheName + " file"); //$NON-NLS-1$ //$NON-NLS-2$
} finally {
if (in != null) {
try {
@@ -3190,6 +3246,8 @@
return this.invalidArchives;
else if (cacheName == EXTERNAL_FILES_CACHE)
return this.externalFiles;
+ else if (cacheName == ASSUMED_EXTERNAL_FILES_CACHE)
+ return this.assumedExternalFiles;
else
return null;
}
@@ -3934,6 +3992,8 @@
this.invalidArchives.clear();
if (this.externalFiles != null)
this.externalFiles.clear();
+ if (this.assumedExternalFiles != null)
+ this.assumedExternalFiles.clear();
}
/*
@@ -4283,6 +4343,7 @@
saveClasspathListCache(NON_CHAINING_JARS_CACHE);
saveClasspathListCache(INVALID_ARCHIVES_CACHE);
saveClasspathListCache(EXTERNAL_FILES_CACHE);
+ saveClasspathListCache(ASSUMED_EXTERNAL_FILES_CACHE);
// will need delta since this save (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=38658)
context.needDelta();
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/JavadocContents.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/JavadocContents.java
index fca7109..07331d6 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/JavadocContents.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/JavadocContents.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2013 IBM Corporation and others.
+ * Copyright (c) 2009, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -345,6 +345,9 @@
this.tempLastAnchorFoundIndex = this.unknownFormatLastAnchorFoundIndex;
range = computeChildRange(anchor, this.indexOfFieldsBottom);
+ if (range == null) {
+ range = computeChildRange(getJavadoc8Anchor(anchor), this.indexOfAllMethodsBottom);
+ }
this.unknownFormatLastAnchorFoundIndex = this.tempLastAnchorFoundIndex;
this.unknownFormatAnchorIndexesCount = this.tempAnchorIndexesCount;
@@ -361,6 +364,9 @@
this.tempLastAnchorFoundIndex = this.methodLastAnchorFoundIndex;
range = computeChildRange(anchor, this.indexOfAllMethodsBottom);
+ if (range == null) {
+ range = computeChildRange(getJavadoc8Anchor(anchor), this.indexOfAllMethodsBottom);
+ }
this.methodLastAnchorFoundIndex = this.tempLastAnchorFoundIndex;
this.methodAnchorIndexesCount = this.tempAnchorIndexesCount;
@@ -370,6 +376,35 @@
return range;
}
+ private static char[] getJavadoc8Anchor(char[] anchor) {
+ // fix for bug 432284: [1.8] Javadoc-8-style anchors not found by IMethod#getAttachedJavadoc(..)
+ char[] anchor8 = new char[anchor.length];
+ int i8 = 0;
+ for (int i = 0; i < anchor.length; i++) {
+ char ch = anchor[i];
+ switch (ch) {
+ case '(':
+ case ')':
+ case ',':
+ anchor8[i8++] = '-';
+ break;
+ case '[':
+ anchor8[i8++] = ':';
+ anchor8[i8++] = 'A';
+ break;
+ case ' ': // handled by preceding ','
+ case ']': // handled by preceding '['
+ break;
+ default:
+ anchor8[i8++] = ch;
+ }
+ }
+ if (i8 != anchor.length) {
+ anchor8 = CharOperation.subarray(anchor8, 0, i8);
+ }
+ return anchor8;
+ }
+
private String computeMethodAnchorPrefixEnd(BinaryMethod method) throws JavaModelException {
String typeQualifiedName = null;
if (this.type.isMember()) {
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/LambdaExpression.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/LambdaExpression.java
index 18d9b57..d5f3de8 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/LambdaExpression.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/LambdaExpression.java
@@ -14,6 +14,7 @@
import org.aspectj.org.eclipse.jdt.core.IJavaElement;
import org.aspectj.org.eclipse.jdt.core.ILocalVariable;
import org.aspectj.org.eclipse.jdt.core.IMethod;
+import org.aspectj.org.eclipse.jdt.core.ITypeRoot;
import org.aspectj.org.eclipse.jdt.core.JavaModelException;
import org.aspectj.org.eclipse.jdt.core.Signature;
import org.aspectj.org.eclipse.jdt.core.WorkingCopyOwner;
@@ -35,20 +36,20 @@
// Construction from AST node
- public LambdaExpression(JavaElement parent, org.aspectj.org.eclipse.jdt.internal.compiler.ast.LambdaExpression lambdaExpression) {
- super(parent, new String("Lambda(") + new String(lambdaExpression.resolvedType.sourceName()) + ')'); //$NON-NLS-1$
+ LambdaExpression(JavaElement parent, org.aspectj.org.eclipse.jdt.internal.compiler.ast.LambdaExpression lambdaExpression) {
+ super(parent, new String(CharOperation.NO_CHAR));
this.sourceStart = lambdaExpression.sourceStart;
this.sourceEnd = lambdaExpression.sourceEnd;
this.arrowPosition = lambdaExpression.arrowPosition;
this.interphase = new String(CharOperation.replaceOnCopy(lambdaExpression.resolvedType.genericTypeSignature(), '/', '.'));
this.elementInfo = makeTypeElementInfo(this, this.interphase, this.sourceStart, this.sourceEnd, this.arrowPosition);
- this.lambdaMethod = LambdaMethod.make(this, lambdaExpression);
+ this.lambdaMethod = LambdaFactory.createLambdaMethod(this, lambdaExpression);
this.elementInfo.children = new IJavaElement[] { this.lambdaMethod };
}
// Construction from memento
- public LambdaExpression(JavaElement parent, String name, String interphase, int sourceStart, int sourceEnd, int arrowPosition) {
- super(parent, name);
+ LambdaExpression(JavaElement parent, String interphase, int sourceStart, int sourceEnd, int arrowPosition) {
+ super(parent, new String(CharOperation.NO_CHAR));
this.sourceStart = sourceStart;
this.sourceEnd = sourceEnd;
this.arrowPosition = arrowPosition;
@@ -58,8 +59,8 @@
}
// Construction from subtypes.
- public LambdaExpression(JavaElement parent, String name, String interphase, int sourceStart, int sourceEnd, int arrowPosition, LambdaMethod lambdaMethod) {
- super(parent, name);
+ LambdaExpression(JavaElement parent, String interphase, int sourceStart, int sourceEnd, int arrowPosition, LambdaMethod lambdaMethod) {
+ super(parent, new String(CharOperation.NO_CHAR));
this.sourceStart = sourceStart;
this.sourceEnd = sourceEnd;
this.arrowPosition = arrowPosition;
@@ -104,9 +105,9 @@
LambdaExpression that = (LambdaExpression) o;
if (this.sourceStart != that.sourceStart)
return false;
- CompilationUnit thisCU = (CompilationUnit) this.getCompilationUnit();
- CompilationUnit thatCU = (CompilationUnit) that.getCompilationUnit();
- return thisCU.getElementName().equals(thatCU.getElementName()) && thisCU.parent.equals(thatCU.parent);
+ ITypeRoot thisTR = this.getTypeRoot();
+ ITypeRoot thatTR = that.getTypeRoot();
+ return thisTR.getElementName().equals(thatTR.getElementName()) && thisTR.getParent().equals(thatTR.getParent());
}
return false;
}
@@ -127,15 +128,16 @@
* @see JavaElement#getHandleMemento(StringBuffer)
*/
protected void getHandleMemento(StringBuffer buff) {
- getHandleMemento(buff, true);
+ getHandleMemento(buff, true, true);
+ // lambda method and lambda expression cannot share the same memento - add a trailing discriminator.
+ appendEscapedDelimiter(buff, getHandleMementoDelimiter());
}
- protected void getHandleMemento(StringBuffer buff, boolean memoizeParent) {
- if (memoizeParent)
+ protected void getHandleMemento(StringBuffer buff, boolean serializeParent, boolean serializeChild) {
+ if (serializeParent)
((JavaElement)getParent()).getHandleMemento(buff);
- buff.append(getHandleMementoDelimiter());
- escapeMementoName(buff, this.name);
- buff.append(JEM_STRING);
+ appendEscapedDelimiter(buff, getHandleMementoDelimiter());
+ appendEscapedDelimiter(buff, JEM_STRING);
escapeMementoName(buff, this.interphase);
buff.append(JEM_COUNT);
buff.append(this.sourceStart);
@@ -143,6 +145,8 @@
buff.append(this.sourceEnd);
buff.append(JEM_COUNT);
buff.append(this.arrowPosition);
+ if (serializeChild)
+ this.lambdaMethod.getHandleMemento(buff, false);
}
public IJavaElement getHandleFromMemento(String token, MementoTokenizer memento, WorkingCopyOwner workingCopyOwner) {
@@ -168,14 +172,24 @@
String returnType = memento.nextToken();
if (!memento.hasMoreTokens() || memento.nextToken().charAt(0) != JEM_STRING) return this;
String key = memento.nextToken();
- this.lambdaMethod = LambdaMethod.make(this, selector, key, this.sourceStart, this.sourceEnd, this.arrowPosition, parameterTypes, parameterNames, returnType);
+ this.lambdaMethod = LambdaFactory.createLambdaMethod(this, selector, key, this.sourceStart, this.sourceEnd, this.arrowPosition, parameterTypes, parameterNames, returnType);
ILocalVariable [] parameters = new ILocalVariable[length];
for (int i = 0; i < length; i++) {
parameters[i] = (ILocalVariable) this.lambdaMethod.getHandleFromMemento(memento, workingCopyOwner);
}
this.lambdaMethod.elementInfo.arguments = parameters;
this.elementInfo.children = new IJavaElement[] { this.lambdaMethod };
- return this.lambdaMethod;
+ if (!memento.hasMoreTokens())
+ return this.lambdaMethod;
+ switch (memento.nextToken().charAt(0)) {
+ case JEM_LAMBDA_METHOD:
+ if (!memento.hasMoreTokens())
+ return this.lambdaMethod;
+ return this.lambdaMethod.getHandleFromMemento(memento, workingCopyOwner);
+ case JEM_LAMBDA_EXPRESSION:
+ default:
+ return this;
+ }
}
public IJavaElement[] getChildren() throws JavaModelException {
@@ -196,6 +210,23 @@
}
@Override
+ public boolean isLambda() {
+ return true;
+ }
+
+ @Override
+ public boolean isAnonymous() {
+ return false;
+ }
+
+ public void toStringName(StringBuffer buffer) {
+ super.toStringName(buffer);
+ buffer.append("<lambda #"); //$NON-NLS-1$
+ buffer.append(this.occurrenceCount);
+ buffer.append(">"); //$NON-NLS-1$
+ }
+
+ @Override
public IJavaElement getPrimaryElement(boolean checkOwner) {
if (checkOwner) {
CompilationUnit cu = (CompilationUnit)getAncestor(COMPILATION_UNIT);
@@ -205,8 +236,7 @@
if (primaryParent instanceof JavaElement) {
JavaElement ancestor = (JavaElement) primaryParent;
StringBuffer buffer = new StringBuffer(32);
- getHandleMemento(buffer, false);
- this.lambdaMethod.getHandleMemento(buffer, false);
+ getHandleMemento(buffer, false, true);
String memento = buffer.toString();
return ancestor.getHandleFromMemento(new MementoTokenizer(memento), DefaultWorkingCopyOwner.PRIMARY).getParent();
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/LambdaFactory.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/LambdaFactory.java
new file mode 100644
index 0000000..e3c428b
--- /dev/null
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/LambdaFactory.java
@@ -0,0 +1,103 @@
+/*******************************************************************************
+ * Copyright (c) 2014 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.aspectj.org.eclipse.jdt.internal.core;
+
+import org.aspectj.org.eclipse.jdt.core.ILocalVariable;
+import org.aspectj.org.eclipse.jdt.core.Signature;
+import org.aspectj.org.eclipse.jdt.core.compiler.CharOperation;
+import org.aspectj.org.eclipse.jdt.internal.compiler.ast.Argument;
+import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding;
+
+public class LambdaFactory {
+
+ public static LambdaExpression createLambdaExpression(JavaElement parent, org.aspectj.org.eclipse.jdt.internal.compiler.ast.LambdaExpression lambdaExpression) {
+ if (isBinaryMember(parent)){
+ return new BinaryLambdaExpression(parent, lambdaExpression);
+ } else {
+ return new LambdaExpression(parent, lambdaExpression);
+ }
+ }
+
+ public static LambdaExpression createLambdaExpression(JavaElement parent, String interphase, int sourceStart, int sourceEnd, int arrowPosition) {
+ if (isBinaryMember(parent)){
+ return new BinaryLambdaExpression(parent, interphase, sourceStart, sourceEnd, arrowPosition);
+ } else {
+ return new LambdaExpression(parent, interphase, sourceStart, sourceEnd, arrowPosition);
+ }
+ }
+
+ public static LambdaMethod createLambdaMethod(JavaElement parent, org.aspectj.org.eclipse.jdt.internal.compiler.ast.LambdaExpression lambdaExpression) {
+ int length;
+ JavaModelManager manager = JavaModelManager.getJavaModelManager();
+ String [] parameterTypes = new String[length = lambdaExpression.descriptor.parameters.length];
+ for (int i = 0; i < length; i++)
+ parameterTypes[i] = getTypeSignature(manager, lambdaExpression.descriptor.parameters[i]);
+ String [] parameterNames = new String[length];
+ for (int i = 0; i < length; i++)
+ parameterNames[i] = manager.intern(new String(lambdaExpression.arguments[i].name));
+ String returnType = getTypeSignature(manager, lambdaExpression.descriptor.returnType);
+ String selector = manager.intern(new String(lambdaExpression.descriptor.selector));
+ String key = new String(lambdaExpression.descriptor.computeUniqueKey());
+ LambdaMethod lambdaMethod = createLambdaMethod(parent, selector, key, lambdaExpression.sourceStart, lambdaExpression.sourceEnd, lambdaExpression.arrowPosition, parameterTypes, parameterNames, returnType);
+ ILocalVariable [] parameters = new ILocalVariable[length = lambdaExpression.arguments.length];
+ for (int i = 0; i < length; i++) {
+ Argument argument = lambdaExpression.arguments[i];
+ String signature = manager.intern(new String(lambdaExpression.descriptor.parameters[i].signature()));
+ parameters[i] = new LocalVariable(
+ lambdaMethod,
+ new String(argument.name),
+ argument.declarationSourceStart,
+ argument.declarationSourceEnd,
+ argument.sourceStart,
+ argument.sourceEnd,
+ signature,
+ null, // we are not hooking up argument.annotations ATM,
+ argument.modifiers,
+ true);
+ }
+ lambdaMethod.elementInfo.arguments = parameters;
+ return lambdaMethod;
+ }
+
+ public static LambdaMethod createLambdaMethod(JavaElement parent, String selector, String key, int sourceStart, int sourceEnd, int arrowPosition, String [] parameterTypes, String [] parameterNames, String returnType) {
+ SourceMethodInfo info = null;
+ boolean isBinary = (parent instanceof BinaryLambdaExpression);
+ info = new SourceMethodInfo();
+ info.setSourceRangeStart(sourceStart);
+ info.setSourceRangeEnd(sourceEnd);
+ info.setFlags(0);
+ info.setNameSourceStart(sourceStart);
+ info.setNameSourceEnd(arrowPosition);
+ JavaModelManager manager = JavaModelManager.getJavaModelManager();
+ int length;
+ char[][] argumentNames = new char[length = parameterNames.length][];
+ for (int i = 0; i < length; i++)
+ argumentNames[i] = manager.intern(parameterNames[i].toCharArray());
+ info.setArgumentNames(argumentNames);
+ info.setReturnType(manager.intern(Signature.toCharArray(returnType.toCharArray())));
+ info.setExceptionTypeNames(CharOperation.NO_CHAR_CHAR);
+ info.arguments = null; // will be updated shortly, parent has to come into existence first.
+
+ return isBinary ? new BinaryLambdaMethod(parent, selector, key, sourceStart, parameterTypes, parameterNames, returnType, info) :
+ new LambdaMethod(parent, selector, key, sourceStart, parameterTypes, parameterNames, returnType, info);
+ }
+
+ private static String getTypeSignature(JavaModelManager manager, TypeBinding type) {
+ char[] signature = type.genericTypeSignature();
+ signature = CharOperation.replaceOnCopy(signature, '/', '.');
+ return manager.intern(new String(signature));
+ }
+
+ private static boolean isBinaryMember(JavaElement element) {
+ return element instanceof BinaryMember;
+ }
+}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/LambdaMethod.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/LambdaMethod.java
index c8d0016..19c79ad 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/LambdaMethod.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/LambdaMethod.java
@@ -16,10 +16,7 @@
import org.aspectj.org.eclipse.jdt.core.IMethod;
import org.aspectj.org.eclipse.jdt.core.JavaModelException;
import org.aspectj.org.eclipse.jdt.core.Signature;
-import org.aspectj.org.eclipse.jdt.core.compiler.CharOperation;
-import org.aspectj.org.eclipse.jdt.internal.compiler.ast.Argument;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding;
-import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding;
import org.aspectj.org.eclipse.jdt.internal.core.util.Util;
public class LambdaMethod extends SourceMethod {
@@ -30,7 +27,7 @@
SourceMethodElementInfo elementInfo;
private String key;
- public LambdaMethod(JavaElement parent, String name, String key, int sourceStart, String [] parameterTypes, String [] parameterNames, String returnType, SourceMethodElementInfo elementInfo) {
+ LambdaMethod(JavaElement parent, String name, String key, int sourceStart, String [] parameterTypes, String [] parameterNames, String returnType, SourceMethodElementInfo elementInfo) {
super(parent, name, parameterTypes);
this.sourceStart = sourceStart;
this.parameterNameStrings = parameterNames;
@@ -39,64 +36,6 @@
this.key = key;
}
- public static LambdaMethod make(JavaElement parent, org.aspectj.org.eclipse.jdt.internal.compiler.ast.LambdaExpression lambdaExpression) {
- int length;
- JavaModelManager manager = JavaModelManager.getJavaModelManager();
- String [] parameterTypes = new String[length = lambdaExpression.descriptor.parameters.length];
- for (int i = 0; i < length; i++)
- parameterTypes[i] = getTypeSignature(manager, lambdaExpression.descriptor.parameters[i]);
- String [] parameterNames = new String[length];
- for (int i = 0; i < length; i++)
- parameterNames[i] = manager.intern(new String(lambdaExpression.arguments[i].name));
- String returnType = getTypeSignature(manager, lambdaExpression.descriptor.returnType);
- String selector = manager.intern(new String(lambdaExpression.descriptor.selector));
- String key = new String(lambdaExpression.descriptor.computeUniqueKey());
- LambdaMethod lambdaMethod = make(parent, selector, key, lambdaExpression.sourceStart, lambdaExpression.sourceEnd, lambdaExpression.arrowPosition, parameterTypes, parameterNames, returnType);
- ILocalVariable [] parameters = new ILocalVariable[length = lambdaExpression.arguments.length];
- for (int i = 0; i < length; i++) {
- Argument argument = lambdaExpression.arguments[i];
- String signature = manager.intern(new String(lambdaExpression.descriptor.parameters[i].signature()));
- parameters[i] = new LocalVariable(
- lambdaMethod,
- new String(argument.name),
- argument.declarationSourceStart,
- argument.declarationSourceEnd,
- argument.sourceStart,
- argument.sourceEnd,
- signature,
- null, // we are not hooking up argument.annotations ATM,
- argument.modifiers,
- true);
- }
- lambdaMethod.elementInfo.arguments = parameters;
- return lambdaMethod;
- }
-
- public static LambdaMethod make(JavaElement parent, String selector, String key, int sourceStart, int sourceEnd, int arrowPosition, String [] parameterTypes, String [] parameterNames, String returnType) {
- SourceMethodInfo info = new SourceMethodInfo();
- info.setSourceRangeStart(sourceStart);
- info.setSourceRangeEnd(sourceEnd);
- info.setFlags(0);
- info.setNameSourceStart(sourceStart);
- info.setNameSourceEnd(arrowPosition);
- JavaModelManager manager = JavaModelManager.getJavaModelManager();
- int length;
- char[][] argumentNames = new char[length = parameterNames.length][];
- for (int i = 0; i < length; i++)
- argumentNames[i] = manager.intern(parameterNames[i].toCharArray());
- info.setArgumentNames(argumentNames);
- info.setReturnType(manager.intern(Signature.toCharArray(returnType.toCharArray())));
- info.setExceptionTypeNames(CharOperation.NO_CHAR_CHAR);
- info.arguments = null; // will be updated shortly, parent has to come into existence first.
- return new LambdaMethod(parent, selector, key, sourceStart, parameterTypes, parameterNames, returnType, info);
- }
-
- public static String getTypeSignature(JavaModelManager manager, TypeBinding type) {
- char[] signature = type.genericTypeSignature();
- signature = CharOperation.replaceOnCopy(signature, '/', '.');
- return manager.intern(new String(signature));
- }
-
/**
* @see IMethod
*/
@@ -130,23 +69,23 @@
return this.elementInfo;
}
- public void getHandleMemento(StringBuffer buff, boolean memoizeParent) {
- if (memoizeParent)
- ((JavaElement) getParent()).getHandleMemento(buff);
- char delimiter = getHandleMementoDelimiter();
- buff.append(delimiter);
+ public void getHandleMemento(StringBuffer buff, boolean serializeParent) {
+ if (serializeParent) {
+ ((LambdaExpression) getParent()).getHandleMemento(buff, true, false);
+ }
+ appendEscapedDelimiter(buff, getHandleMementoDelimiter());
escapeMementoName(buff, getElementName());
buff.append(JEM_COUNT);
buff.append(this.parameterTypes.length);
for (int i = 0, length = this.parameterTypes.length; i < length; i++) {
- buff.append(JEM_STRING);
+ appendEscapedDelimiter(buff, JEM_STRING);
escapeMementoName(buff, this.parameterTypes[i]);
- buff.append(JEM_STRING);
+ appendEscapedDelimiter(buff, JEM_STRING);
escapeMementoName(buff, this.parameterNameStrings[i]);
}
- buff.append(JEM_STRING);
+ appendEscapedDelimiter(buff, JEM_STRING);
escapeMementoName(buff, this.returnTypeString);
- buff.append(JEM_STRING);
+ appendEscapedDelimiter(buff, JEM_STRING);
escapeMementoName(buff, this.key);
ILocalVariable[] arguments = this.elementInfo.arguments;
for (int i = 0, length = arguments.length; i < length; i++) {
@@ -156,6 +95,8 @@
}
public void getHandleMemento(StringBuffer buff) {
getHandleMemento(buff, true);
+ // lambda method and lambda expression cannot share the same memento - add a trailing discriminator.
+ appendEscapedDelimiter(buff, getHandleMementoDelimiter());
}
protected char getHandleMementoDelimiter() {
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/Member.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/Member.java
index 7000dc1..188ff95 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/Member.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/Member.java
@@ -173,8 +173,6 @@
case JEM_COUNT:
return getHandleUpdatingCountFromMemento(memento, workingCopyOwner);
case JEM_LAMBDA_EXPRESSION:
- if (!memento.hasMoreTokens()) return this;
- String name = memento.nextToken();
if (!memento.hasMoreTokens() || memento.nextToken() != MementoTokenizer.STRING)
return this;
if (!memento.hasMoreTokens()) return this;
@@ -188,7 +186,7 @@
if (!memento.hasMoreTokens() || memento.nextToken() != MementoTokenizer.COUNT)
return this;
int arrowPosition = Integer.parseInt(memento.nextToken());
- LambdaExpression expression = new LambdaExpression(this, name, interphase, sourceStart, sourceEnd, arrowPosition);
+ LambdaExpression expression = LambdaFactory.createLambdaExpression(this, interphase, sourceStart, sourceEnd, arrowPosition);
if (!memento.hasMoreTokens() || (token = memento.nextToken()) != MementoTokenizer.LAMBDA_METHOD)
return expression;
return expression.getHandleFromMemento(token, memento, workingCopyOwner);
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/NameLookup.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/NameLookup.java
index c3028ec..9ab8c12 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/NameLookup.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/NameLookup.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -660,7 +660,7 @@
IJavaProject javaProject = null;
Answer suggestedAnswer = null;
for (int i= 0; i < length; i++) {
- type = findType(typeName, packages[i], partialMatch, acceptFlags);
+ type = findType(typeName, packages[i], partialMatch, acceptFlags, waitForIndexes, considerSecondaryTypes);
if (type != null) {
AccessRestriction accessRestriction = null;
if (checkRestrictions) {
@@ -761,10 +761,16 @@
* @see #ACCEPT_ENUMS
* @see #ACCEPT_ANNOTATIONS
*/
- public IType findType(String name, IPackageFragment pkg, boolean partialMatch, int acceptFlags, boolean considerSecondaryTypes) {
- IType type = findType(name, pkg, partialMatch, acceptFlags);
+ public IType findType(String name, IPackageFragment pkg, boolean partialMatch, int acceptFlags, boolean waitForIndices, boolean considerSecondaryTypes) {
+ if (pkg == null)
+ return null;
+
+ SingleTypeRequestor typeRequestor = new SingleTypeRequestor();
+ seekTypes(name, pkg, partialMatch, acceptFlags, typeRequestor, considerSecondaryTypes);
+ IType type = typeRequestor.getType();
+
if (type == null && considerSecondaryTypes) {
- type = findSecondaryType(pkg.getElementName(), name, pkg.getJavaProject(), false, null);
+ type = findSecondaryType(pkg.getElementName(), name, pkg.getJavaProject(), waitForIndices, null);
}
return type;
}
@@ -795,7 +801,7 @@
// Return first found (ignore duplicates).
SingleTypeRequestor typeRequestor = new SingleTypeRequestor();
- seekTypes(name, pkg, partialMatch, acceptFlags, typeRequestor);
+ seekTypes(name, pkg, partialMatch, acceptFlags, typeRequestor, false);
return typeRequestor.getType();
}
@@ -825,6 +831,9 @@
}
public Answer findType(String name, boolean partialMatch, int acceptFlags, boolean considerSecondaryTypes, boolean waitForIndexes, boolean checkRestrictions, IProgressMonitor monitor) {
int index= name.lastIndexOf('.');
+ if (index == 0) {
+ return null; // bug 377710 - e.g. ".Foo" (no package, but not "default" package)
+ }
String className= null, packageName= null;
if (index == -1) {
packageName= IPackageFragment.DEFAULT_PACKAGE_NAME;
@@ -949,6 +958,10 @@
}
}
+ public void seekTypes(String name, IPackageFragment pkg, boolean partialMatch, int acceptFlags, IJavaElementRequestor requestor) {
+ seekTypes(name, pkg, partialMatch, acceptFlags, requestor, true);
+ }
+
/**
* Notifies the given requestor of all types (classes and interfaces) in the
* given package fragment with the given (unqualified) name.
@@ -969,7 +982,7 @@
* @see #ACCEPT_ENUMS
* @see #ACCEPT_ANNOTATIONS
*/
- public void seekTypes(String name, IPackageFragment pkg, boolean partialMatch, int acceptFlags, IJavaElementRequestor requestor) {
+ public void seekTypes(String name, IPackageFragment pkg, boolean partialMatch, int acceptFlags, IJavaElementRequestor requestor, boolean considerSecondaryTypes) {
/* if (VERBOSE) {
Util.verbose(" SEEKING TYPES"); //$NON-NLS-1$
Util.verbose(" -> name: " + name); //$NON-NLS-1$
@@ -995,7 +1008,7 @@
topLevelTypeName = firstDot == -1 ? matchName : matchName.substring(0, firstDot);
}
if (this.typesInWorkingCopies != null) {
- if (seekTypesInWorkingCopies(matchName, pkg, firstDot, partialMatch, topLevelTypeName, acceptFlags, requestor))
+ if (seekTypesInWorkingCopies(matchName, pkg, firstDot, partialMatch, topLevelTypeName, acceptFlags, requestor, considerSecondaryTypes))
return;
}
@@ -1150,6 +1163,24 @@
}
}
+ private boolean isPrimaryType(String name, IType type, boolean partialMatch) {
+ /*
+ * Please have a look at: NameLookup#NameLookup
+ * The HashTable this.typesInWorkingCopies contains values which are HashTables themselves.
+ * The values of these HashTables are either of IType or IType[].
+ * These values are types belonging to a compilation unit. Please check:
+ * CompilationUnit#getTypes().
+ * Therefore the parents of these types would be compilation units.
+ */
+ ICompilationUnit cu = (ICompilationUnit) type.getParent();
+ String cuName = cu.getElementName().substring(0, cu.getElementName().lastIndexOf('.'));
+ if (partialMatch) {
+ return cuName.regionMatches(0, name, 0, name.length());
+ } else {
+ return cuName.equals(name);
+ }
+ }
+
/**
* Notifies the given requestor of all types (classes and interfaces) in the
* given type with the given (possibly qualified) name. Checks
@@ -1215,7 +1246,8 @@
boolean partialMatch,
String topLevelTypeName,
int acceptFlags,
- IJavaElementRequestor requestor) {
+ IJavaElementRequestor requestor,
+ boolean considerSecondaryTypes) {
if (!partialMatch) {
HashMap typeMap = (HashMap) (this.typesInWorkingCopies == null ? null : this.typesInWorkingCopies.get(pkg));
@@ -1223,6 +1255,8 @@
Object object = typeMap.get(topLevelTypeName);
if (object instanceof IType) {
IType type = getMemberType((IType) object, name, firstDot);
+ if (!considerSecondaryTypes && !isPrimaryType(name, (IType) object, false))
+ return false;
if (acceptType(type, acceptFlags, true/*a source type*/)) {
requestor.acceptType(type);
return true; // don't continue with compilation unit
@@ -1256,6 +1290,8 @@
return false;
Object object = iterator.next();
if (object instanceof IType) {
+ if (!considerSecondaryTypes && !isPrimaryType(name, (IType) object, true))
+ continue;
seekTypesInTopLevelType(name, firstDot, (IType) object, requestor, acceptFlags);
} else if (object instanceof IType[]) {
IType[] topLevelTypes = (IType[]) object;
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/PackageFragment.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/PackageFragment.java
index 32c7bf7..41c222e 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/PackageFragment.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/PackageFragment.java
@@ -491,7 +491,7 @@
pathBuffer.append(packPath).append('/').append(JavadocConstants.PACKAGE_FILE_NAME);
if (monitor != null && monitor.isCanceled()) throw new OperationCanceledException();
- String contents = getURLContents(String.valueOf(pathBuffer));
+ String contents = getURLContents(baseLocation, String.valueOf(pathBuffer));
if (monitor != null && monitor.isCanceled()) throw new OperationCanceledException();
if (contents == null) return null;
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/ResolvedLambdaExpression.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/ResolvedLambdaExpression.java
index b721876..5524233 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/ResolvedLambdaExpression.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/ResolvedLambdaExpression.java
@@ -18,7 +18,7 @@
LambdaExpression unresolved;
public ResolvedLambdaExpression(JavaElement parent, LambdaExpression unresolved, String uniqueKey) {
- super(parent, unresolved.name, unresolved.interphase, unresolved.sourceStart, unresolved.sourceEnd, unresolved.arrowPosition, unresolved.lambdaMethod);
+ super(parent, unresolved.interphase, unresolved.sourceStart, unresolved.sourceEnd, unresolved.arrowPosition, unresolved.lambdaMethod);
this.uniqueKey = uniqueKey;
this.unresolved = unresolved;
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/SelectionRequestor.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/SelectionRequestor.java
index c390bc4..67ac620 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/SelectionRequestor.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/SelectionRequestor.java
@@ -863,7 +863,7 @@
IJavaElement parent = findLocalElement(pos, scope.enclosingMethodScope());
LambdaExpression expression = (LambdaExpression) scope.originalReferenceContext();
if (expression != null && expression.resolvedType != null && expression.resolvedType.isValidBinding()) {
- org.aspectj.org.eclipse.jdt.internal.core.LambdaExpression lambdaElement = new org.aspectj.org.eclipse.jdt.internal.core.LambdaExpression((JavaElement) parent, expression);
+ org.aspectj.org.eclipse.jdt.internal.core.LambdaExpression lambdaElement = LambdaFactory.createLambdaExpression((JavaElement) parent, expression);
return lambdaElement.getMethod();
}
return parent;
@@ -941,7 +941,7 @@
false);
// iterate type lookup in each package fragment
for (int i = 0, length = pkgs == null ? 0 : pkgs.length; i < length; i++) {
- type= this.nameLookup.findType(new String(typeName), pkgs[i], false, acceptFlags, true/*consider secondary types*/);
+ type= this.nameLookup.findType(new String(typeName), pkgs[i], false, acceptFlags, false, true/*consider secondary types*/);
if (type != null) break;
}
if (type == null) {
@@ -1021,7 +1021,7 @@
false);
// iterate type lookup in each package fragment
for (int i = 0, length = pkgs == null ? 0 : pkgs.length; i < length; i++) {
- type= this.nameLookup.findType(new String(typeName), pkgs[i], false, acceptFlags, true/*consider secondary types*/);
+ type= this.nameLookup.findType(new String(typeName), pkgs[i], false, acceptFlags, false, true/*consider secondary types*/);
if (type != null) break;
}
if (type == null) {
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/SourceType.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/SourceType.java
index d38c279..94e5eb0 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/SourceType.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/SourceType.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -841,8 +841,7 @@
protected void toStringInfo(int tab, StringBuffer buffer, Object info, boolean showResolvedInfo) {
buffer.append(tabString(tab));
if (info == null) {
- String elementName = getElementName();
- if (elementName.length() == 0) {
+ if (isAnonymous()) {
buffer.append("<anonymous #"); //$NON-NLS-1$
buffer.append(this.occurrenceCount);
buffer.append(">"); //$NON-NLS-1$
@@ -851,8 +850,7 @@
}
buffer.append(" (not open)"); //$NON-NLS-1$
} else if (info == NO_INFO) {
- String elementName = getElementName();
- if (elementName.length() == 0) {
+ if (isAnonymous()) {
buffer.append("<anonymous #"); //$NON-NLS-1$
buffer.append(this.occurrenceCount);
buffer.append(">"); //$NON-NLS-1$
@@ -870,8 +868,7 @@
} else {
buffer.append("class "); //$NON-NLS-1$
}
- String elementName = getElementName();
- if (elementName.length() == 0) {
+ if (isAnonymous()) {
buffer.append("<anonymous #"); //$NON-NLS-1$
buffer.append(this.occurrenceCount);
buffer.append(">"); //$NON-NLS-1$
@@ -883,4 +880,8 @@
}
}
}
+@Override
+public boolean isLambda() {
+ return false;
+}
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/SourceTypeElementInfo.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/SourceTypeElementInfo.java
index b69b684..7208d74 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/SourceTypeElementInfo.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/SourceTypeElementInfo.java
@@ -170,7 +170,7 @@
* @see ISourceType
*/
public char[][] getInterfaceNames() {
- if (this.handle.getElementName().length() == 0) { // if anonymous type
+ if (isAnonymous()) { // if anonymous type
return null;
}
return this.superInterfaceNames;
@@ -251,7 +251,7 @@
* @see ISourceType
*/
public char[] getSuperclassName() {
- if (this.handle.getElementName().length() == 0) { // if anonymous type
+ if (isAnonymous()) { // if anonymous type
char[][] interfaceNames = this.superInterfaceNames;
if (interfaceNames != null && interfaceNames.length > 0) {
return interfaceNames[0];
@@ -287,6 +287,15 @@
public boolean isBinaryType() {
return false;
}
+
+@Override
+public boolean isAnonymous() {
+ try {
+ return this.handle.isAnonymous();
+ } catch (JavaModelException e) {
+ return false;
+ }
+}
/*
* Returns whether the source type is an anonymous type of a member type.
*/
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/builder/JavaBuilder.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/builder/JavaBuilder.java
index 9ec21f9..159b939 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/builder/JavaBuilder.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/builder/JavaBuilder.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -7,6 +7,7 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
+ * Terry Parker <tparker@google.com> - [performance] Low hit rates in JavaModel caches - https://bugs.eclipse.org/421165
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.internal.core.builder;
@@ -611,7 +612,6 @@
// Flush the existing external files cache if this is the beginning of a build cycle
String projectName = this.currentProject.getName();
if (builtProjects == null || builtProjects.contains(projectName)) {
- JavaModel.flushExternalFileCache();
builtProjects = new ArrayList();
}
builtProjects.add(projectName);
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyResolver.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyResolver.java
index b811123..c4a4597 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyResolver.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyResolver.java
@@ -231,7 +231,7 @@
separator = '/';
} else if (type instanceof ISourceType) {
ISourceType sourceType = (ISourceType)type;
- if (sourceType.getName().length == 0) { // if anonymous type
+ if (sourceType.isAnonymous()) { // if anonymous type
if (typeBinding.superInterfaces() != null && typeBinding.superInterfaces().length > 0) {
superInterfaceNames = new char[][] {sourceType.getSuperclassName()};
} else {
@@ -246,7 +246,7 @@
separator = '.';
} else if (type instanceof HierarchyType) {
HierarchyType hierarchyType = (HierarchyType)type;
- if (hierarchyType.name.length == 0) { // if anonymous type
+ if (hierarchyType.isAnonymous()) { // if anonymous type
if (typeBinding.superInterfaces() != null && typeBinding.superInterfaces().length > 0) {
superInterfaceNames = new char[][] {hierarchyType.superclassName};
} else {
@@ -404,7 +404,12 @@
}
} else {
if (typeBinding == null) return;
-
+ boolean isAnonymous = false;
+ try {
+ isAnonymous = type.isAnonymous();
+ } catch(JavaModelException jme) {
+ // Ignore
+ }
if (typeBinding instanceof SourceTypeBinding) {
TypeDeclaration typeDeclaration = ((SourceTypeBinding)typeBinding).scope.referenceType();
@@ -439,7 +444,8 @@
typeDeclaration.name,
typeDeclaration.binding.modifiers,
superclassName,
- superInterfaceNames);
+ superInterfaceNames,
+ isAnonymous);
remember(hierarchyType, typeDeclaration.binding);
} else {
HierarchyType hierarchyType = new HierarchyType(
@@ -447,7 +453,8 @@
typeBinding.sourceName(),
typeBinding.modifiers,
typeBinding.superclass().sourceName(),
- new char [][] { typeBinding.superInterfaces()[0].sourceName() });
+ new char [][] { typeBinding.superInterfaces()[0].sourceName() },
+ isAnonymous);
remember(hierarchyType, typeBinding);
}
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyType.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyType.java
index 4868151..c44add5 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyType.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/hierarchy/HierarchyType.java
@@ -25,19 +25,22 @@
public int modifiers;
public char[] superclassName;
public char[][] superInterfaceNames;
+ public boolean anonymous;
public HierarchyType(
IType typeHandle,
char[] name,
int modifiers,
char[] superclassName,
- char[][] superInterfaceNames) {
+ char[][] superInterfaceNames,
+ boolean anonymous) {
this.typeHandle = typeHandle;
this.name = name;
this.modifiers = modifiers;
this.superclassName = superclassName;
this.superInterfaceNames = superInterfaceNames;
+ this.anonymous = anonymous;
}
/**
* @see org.aspectj.org.eclipse.jdt.internal.compiler.env.IDependent#getFileName()
@@ -60,4 +63,10 @@
public boolean isBinaryType() {
return false;
}
+/**
+ * Answer whether the receiver is an anonymous type
+ */
+public boolean isAnonymous() {
+ return this.anonymous;
+}
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ConstructorLocator.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ConstructorLocator.java
index 2cab935..d1ad3b0 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ConstructorLocator.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ConstructorLocator.java
@@ -32,6 +32,9 @@
this.pattern = pattern;
}
+protected int fineGrain() {
+ return this.pattern.fineGrain;
+}
public int match(ASTNode node, MatchingNodeSet nodeSet) { // interested in ExplicitConstructorCall
if (!this.pattern.findReferences) return IMPOSSIBLE_MATCH;
if (!(node instanceof ExplicitConstructorCall)) return IMPOSSIBLE_MATCH;
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ConstructorPattern.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ConstructorPattern.java
index 4b4dbd5..4d21022 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ConstructorPattern.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/ConstructorPattern.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2012 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -52,7 +52,8 @@
IJavaSearchConstants.SUPER_REFERENCE |
IJavaSearchConstants.QUALIFIED_REFERENCE |
IJavaSearchConstants.THIS_REFERENCE |
- IJavaSearchConstants.IMPLICIT_THIS_REFERENCE;
+ IJavaSearchConstants.IMPLICIT_THIS_REFERENCE |
+ IJavaSearchConstants.METHOD_REFERENCE_EXPRESSION;
/**
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/JavaSearchPattern.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/JavaSearchPattern.java
index b2c4801..d049f15 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/JavaSearchPattern.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/JavaSearchPattern.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2004, 2009 IBM Corporation and others.
+ * Copyright (c) 2004, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -157,6 +157,9 @@
case IJavaSearchConstants.IMPLICIT_THIS_REFERENCE:
buffer.append("IMPLICIT_THIS_REFERENCE"); //$NON-NLS-1$
break;
+ case IJavaSearchConstants.METHOD_REFERENCE_EXPRESSION:
+ buffer.append("METHOD_REFERENCE_EXPRESSION"); //$NON-NLS-1$
+ break;
}
}
return buffer.toString();
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocator.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocator.java
index 1e32278..c8cc5bd 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocator.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocator.java
@@ -64,6 +64,7 @@
import org.aspectj.org.eclipse.jdt.internal.core.JavaElement;
import org.aspectj.org.eclipse.jdt.internal.core.JavaModelManager;
import org.aspectj.org.eclipse.jdt.internal.core.JavaProject;
+import org.aspectj.org.eclipse.jdt.internal.core.LambdaFactory;
import org.aspectj.org.eclipse.jdt.internal.core.LocalVariable;
import org.aspectj.org.eclipse.jdt.internal.core.NameLookup;
import org.aspectj.org.eclipse.jdt.internal.core.Openable;
@@ -450,7 +451,7 @@
* Creates an IMethod from the given lambda declaration and type.
*/
protected IJavaElement createHandle(LambdaExpression lambdaExpression, IJavaElement parent) {
- org.aspectj.org.eclipse.jdt.internal.core.LambdaExpression lambdaElement = new org.aspectj.org.eclipse.jdt.internal.core.LambdaExpression((JavaElement) parent, lambdaExpression);
+ org.aspectj.org.eclipse.jdt.internal.core.LambdaExpression lambdaElement = LambdaFactory.createLambdaExpression((JavaElement) parent, lambdaExpression);
IMethod lambdaMethodElement = lambdaElement.getMethod();
this.methodHandles.add(lambdaMethodElement);
return lambdaMethodElement;
@@ -1453,7 +1454,7 @@
}
if (pkgs != null) {
for (int i = 0, length = pkgs.length; i < length; i++) {
- IType type = this.nameLookup.findType(typeName, pkgs[i], false, acceptFlag, true/*consider secondary types*/);
+ IType type = this.nameLookup.findType(typeName, pkgs[i], false, acceptFlag, false, true/*consider secondary types*/);
if (type != null) return type;
}
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocatorParser.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocatorParser.java
index da8ab13..6fa4072 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocatorParser.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MatchLocatorParser.java
@@ -524,6 +524,8 @@
super.consumeReferenceExpression(referenceExpression);
if (this.patternFineGrain == 0) {
this.patternLocator.match(referenceExpression, this.nodeSet);
+ } else if ((this.patternFineGrain & IJavaSearchConstants.METHOD_REFERENCE_EXPRESSION) != 0) {
+ this.patternLocator.match(referenceExpression, this.nodeSet);
} else if (referenceExpression.lhs.isThis()) {
if ((this.patternFineGrain & IJavaSearchConstants.THIS_REFERENCE) != 0) {
this.patternLocator.match(referenceExpression, this.nodeSet);
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MethodLocator.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MethodLocator.java
index 7d0ea0c..92187ed 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MethodLocator.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MethodLocator.java
@@ -446,7 +446,12 @@
reference = ((SingleMemberAnnotation)reference).memberValuePairs()[0];
this.match.setImplicit(true);
}
- int offset = reference.sourceStart;
+ int offset;
+ if (reference instanceof ReferenceExpression) {
+ offset = ((ReferenceExpression) reference).nameSourceStart;
+ } else {
+ offset = reference.sourceStart;
+ }
int length = reference.sourceEnd - offset + 1;
this.match.setOffset(offset);
this.match.setLength(length);
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MethodPattern.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MethodPattern.java
index 5c04796..63b9dcb 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MethodPattern.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/search/matching/MethodPattern.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2012 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -56,7 +56,8 @@
IJavaSearchConstants.SUPER_REFERENCE |
IJavaSearchConstants.QUALIFIED_REFERENCE |
IJavaSearchConstants.THIS_REFERENCE |
- IJavaSearchConstants.IMPLICIT_THIS_REFERENCE;
+ IJavaSearchConstants.IMPLICIT_THIS_REFERENCE |
+ IJavaSearchConstants.METHOD_REFERENCE_EXPRESSION;
/**
* Method entries are encoded as selector '/' Arity:
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/util/Disassembler.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/util/Disassembler.java
index 3a52b22..33bdd92 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/util/Disassembler.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/util/Disassembler.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2013 IBM Corporation and others.
+ * Copyright (c) 2000, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -1187,7 +1187,7 @@
disassemble(enclosingMethodAttribute, buffer, lineSeparator, 0);
}
if (bootstrapMethods != null) {
- disassemble((IBootstrapMethodsAttribute) bootstrapMethods, buffer, lineSeparator, 0);
+ disassemble((IBootstrapMethodsAttribute) bootstrapMethods, buffer, lineSeparator, 0, classFileReader.getConstantPool());
}
if (checkMode(mode, SYSTEM)) {
if (runtimeVisibleAnnotationsAttribute != null) {
@@ -1572,6 +1572,80 @@
}
}
+ private String bootstrapMethodDescription(IBootstrapMethodsEntry entry, IConstantPool constantPool) {
+ // http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html
+ // The BootstrapMethods attribute records bootstrap method specifiers referenced by invokedynamic instructions.
+ // The value of the bootstrap_method_ref item must be a valid index into the constant_pool table. The constant_pool entry at that index must be a CONSTANT_MethodHandle_info structure (�4.4.8).
+ // http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.4.8
+ // constantpoolentry.getKind() = IConstantPoolConstant.CONSTANT_MethodHandle
+
+ ConstantPoolEntry2 constantPoolEntry2 = (ConstantPoolEntry2) constantPool.decodeEntry(entry.getBootstrapMethodReference());
+
+ // The reference_kind item of the CONSTANT_MethodHandle_info structure should have the value 6 (REF_invokeStatic) or 8 (REF_newInvokeSpecial)
+ // (�5.4.3.5) or else invocation of the bootstrap method handle during call site specifier resolution for an invokedynamic instruction will complete abruptly.
+ // If the value of the reference_kind item is 5 (REF_invokeVirtual), 6 (REF_invokeStatic), 7 (REF_invokeSpecial),
+ // or 9 (REF_invokeInterface), the name of the method represented by a CONSTANT_Methodref_info structure must not be <init> or <clinit>.
+
+ if (constantPoolEntry2.getReferenceKind() != 6)
+ return null;
+ ConstantPoolEntry constantPoolEntry = (ConstantPoolEntry) constantPool.decodeEntry(constantPoolEntry2.getReferenceIndex());
+ StringBuilder builder = new StringBuilder();
+ //String[] methodMsg = methodDescription(constantPoolEntry);
+ builder.append(Messages.bind("invokestatic {0}.{1}:{2}", methodDescription(constantPoolEntry))); //$NON-NLS-1$
+ return builder.toString();
+ }
+
+ private String[] bootstrapArgumentsDescription(IBootstrapMethodsEntry entry, IConstantPool constantPool) {
+ // http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.7.21
+ // bootstrap_arguments
+ // Each entry in the bootstrap_arguments array must be a valid index into the constant_pool table.
+ // The constant_pool entry at that index must be a CONSTANT_String_info, CONSTANT_Class_info, CONSTANT_Integer_info
+ // CONSTANT_Long_info, CONSTANT_Float_info, CONSTANT_Double_info, CONSTANT_MethodHandle_info, or
+ // CONSTANT_MethodType_info structure (�4.4.3, �4.4.1, �4.4.4, �4.4.5), �4.4.8, �4.4.9).
+ if (entry.getBootstrapArguments().length == 0)
+ return null;
+ int[] bootstrapArguments = entry.getBootstrapArguments();
+ String[] arguments = new String[bootstrapArguments.length];
+ for (int i = 0, length = bootstrapArguments.length; i < length; i++) {
+ ConstantPoolEntry constantPoolEntry = (ConstantPoolEntry) constantPool.decodeEntry(bootstrapArguments[i]);
+ switch(constantPoolEntry.getKind()) {
+ case IConstantPoolConstant.CONSTANT_Integer:
+ arguments[i] = ((Integer) constantPoolEntry.getIntegerValue()).toString();
+ break;
+ case IConstantPoolConstant.CONSTANT_MethodHandle:
+ // http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.4.8
+ // If the value of the reference_kind item is 5 (REF_invokeVirtual), 6 (REF_invokeStatic),
+ // 7 (REF_invokeSpecial), or 8 (REF_newInvokeSpecial), then the constant_pool entry at that
+ // index must be a CONSTANT_Methodref_info structure (�4.4.2) representing a class's method or
+ // constructor (�2.9) for which a method handle is to be created.
+ ConstantPoolEntry2 constantPoolEntry2 = (ConstantPoolEntry2) constantPoolEntry;
+ StringBuilder builder = new StringBuilder(10);
+ switch(constantPoolEntry2.getReferenceKind()) {
+ case IConstantPoolConstant.METHOD_TYPE_REF_InvokeStatic:
+ builder.append("invokestatic "); //$NON-NLS-1$
+ //$FALL-THROUGH$
+ case IConstantPoolConstant.METHOD_TYPE_REF_InvokeVirtual:
+ case IConstantPoolConstant.METHOD_TYPE_REF_NewInvokeSpecial:
+ constantPoolEntry = (ConstantPoolEntry) constantPool.decodeEntry(constantPoolEntry2.getReferenceIndex());
+ builder.append(Messages.bind("{0}.{1}:{2}", methodDescription(constantPoolEntry))); //$NON-NLS-1$
+ arguments[i] = builder.toString();
+ break;
+ }
+ break;
+ case IConstantPoolConstant.CONSTANT_MethodType:
+ arguments[i] = new String(((ConstantPoolEntry2) constantPoolEntry).getMethodDescriptor());
+ break;
+ }
+ }
+ return arguments;
+ }
+
+ private String[] methodDescription(IConstantPoolEntry constantPoolEntry) {
+ return new String[] { new String(constantPoolEntry.getClassName()),
+ new String(constantPoolEntry.getMethodName()),
+ new String(constantPoolEntry.getMethodDescriptor())};
+ }
+
private void disassemble(IConstantPool constantPool, StringBuffer buffer, String lineSeparator, int tabNumber) {
writeNewLine(buffer, lineSeparator, tabNumber);
int length = constantPool.getConstantPoolCount();
@@ -1582,6 +1656,7 @@
writeNewLine(buffer, lineSeparator, tabNumber + 1);
}
IConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(i);
+ String[] methodDescription;
switch (constantPool.getEntryKind(i)) {
case IConstantPoolConstant.CONSTANT_Class :
buffer.append(
@@ -1625,15 +1700,14 @@
Integer.toString(constantPoolEntry.getIntegerValue())}));
break;
case IConstantPoolConstant.CONSTANT_InterfaceMethodref :
+ methodDescription = methodDescription(constantPoolEntry);
buffer.append(
Messages.bind(Messages.disassembler_constantpool_interfacemethodref,
new String[] {
Integer.toString(i),
Integer.toString(constantPoolEntry.getClassIndex()),
Integer.toString(constantPoolEntry.getNameAndTypeIndex()),
- new String(constantPoolEntry.getClassName()),
- new String(constantPoolEntry.getMethodName()),
- new String(constantPoolEntry.getMethodDescriptor())}));
+ methodDescription[0], methodDescription[1], methodDescription[2]}));
break;
case IConstantPoolConstant.CONSTANT_Long :
buffer.append(
@@ -1643,15 +1717,14 @@
Long.toString(constantPoolEntry.getLongValue())}));
break;
case IConstantPoolConstant.CONSTANT_Methodref :
+ methodDescription = methodDescription(constantPoolEntry);
buffer.append(
Messages.bind(Messages.disassembler_constantpool_methodref,
new String[] {
Integer.toString(i),
Integer.toString(constantPoolEntry.getClassIndex()),
Integer.toString(constantPoolEntry.getNameAndTypeIndex()),
- new String(constantPoolEntry.getClassName()),
- new String(constantPoolEntry.getMethodName()),
- new String(constantPoolEntry.getMethodDescriptor())}));
+ methodDescription[0], methodDescription[1], methodDescription[2]}));
break;
case IConstantPoolConstant.CONSTANT_NameAndType :
int nameIndex = constantPoolEntry.getNameAndTypeInfoNameIndex();
@@ -2019,7 +2092,7 @@
}
}
- private void disassemble(IBootstrapMethodsAttribute bootstrapMethodsAttribute, StringBuffer buffer, String lineSeparator, int tabNumber) {
+ private void disassemble(IBootstrapMethodsAttribute bootstrapMethodsAttribute, StringBuffer buffer, String lineSeparator, int tabNumber, IConstantPool constantPool) {
writeNewLine(buffer, lineSeparator, tabNumber);
buffer.append(Messages.disassembler_bootstrapmethodattributesheader);
writeNewLine(buffer, lineSeparator, tabNumber + 1);
@@ -2031,32 +2104,33 @@
writeNewLine(buffer, lineSeparator, tabNumber + 1);
}
IBootstrapMethodsEntry entry = entries[i];
+ String[] argumentsName = bootstrapArgumentsDescription(entry, constantPool);
+
buffer.append(
Messages.bind(
Messages.disassembler_bootstrapmethodentry,
new String[] {
Integer.toString(i),
Integer.toString(entry.getBootstrapMethodReference()),
- getArguments(entry.getBootstrapArguments())
+ bootstrapMethodDescription(entry, constantPool),
+ getArguments(entry.getBootstrapArguments(), argumentsName)
}));
}
}
- private String getArguments(int[] arguments) {
+ private String getArguments(int[] arguments, String[] argumentsName) {
StringBuffer buffer = new StringBuffer();
- buffer.append('{');
for (int i = 0, max = arguments.length; i < max; i++) {
- if (i != 0) {
- buffer.append(Messages.disassembler_comma);
- }
buffer.append(
Messages.bind(
Messages.disassembler_bootstrapmethodentry_argument,
new String[] {
Integer.toString(arguments[i]),
+ argumentsName[i]
}));
+ if (i != arguments.length - 1)
+ buffer.append("\n\t\t"); //$NON-NLS-1$
}
- buffer.append('}');
return String.valueOf(buffer);
}
private void disassemble(int index, IParameterAnnotation parameterAnnotation, StringBuffer buffer, String lineSeparator, int tabNumber, int mode) {
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/util/HandleFactory.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/util/HandleFactory.java
index fd06503..f9b826a 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/util/HandleFactory.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/util/HandleFactory.java
@@ -36,6 +36,7 @@
import org.aspectj.org.eclipse.jdt.internal.compiler.ast.LambdaExpression;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ClassScope;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.MethodScope;
+import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ProblemMethodBinding;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Scope;
import org.aspectj.org.eclipse.jdt.internal.core.*;
import org.aspectj.org.eclipse.jdt.internal.core.search.AbstractJavaSearchScope;
@@ -209,8 +210,10 @@
if (scope.isLambdaScope()) {
parentElement = createElement(scope.parent, elementPosition, unit, existingElements, knownScopes);
LambdaExpression expression = (LambdaExpression) scope.originalReferenceContext();
- if (expression.resolvedType != null && expression.resolvedType.isValidBinding()) { // chain in lambda element only if resolved properly.
- newElement = new org.aspectj.org.eclipse.jdt.internal.core.LambdaExpression((JavaElement) parentElement, expression).getMethod();
+ if (expression.resolvedType != null && expression.resolvedType.isValidBinding() &&
+ !(expression.descriptor instanceof ProblemMethodBinding)) { // chain in lambda element only if resolved properly.
+ //newElement = new org.aspectj.org.eclipse.jdt.internal.core.SourceLambdaExpression((JavaElement) parentElement, expression).getMethod();
+ newElement = LambdaFactory.createLambdaExpression((JavaElement) parentElement, expression).getMethod();
knownScopes.put(scope, newElement);
return newElement;
}
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/util/MementoTokenizer.java b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/util/MementoTokenizer.java
index e9d16a4..9cdac45 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/util/MementoTokenizer.java
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/util/MementoTokenizer.java
@@ -57,6 +57,24 @@
case JavaElement.JEM_COUNT:
return COUNT;
case JavaElement.JEM_JAVAPROJECT:
+ // Also covers JavaElement#JEM_DELIMITER_ESCAPE, in which case,
+ // we seek ahead by one char and check if it's an escaped delimiter
+ // and if that's true, we return that as the token.
+ // Else, we decide that JEM_JAVAPROJECT is the current token.
+ if (this.index < this.length) {
+ char nextChar = this.memento[this.index++];
+ switch(nextChar) {
+ case JavaElement.JEM_LAMBDA_EXPRESSION:
+ return LAMBDA_EXPRESSION;
+ case JavaElement.JEM_LAMBDA_METHOD:
+ return LAMBDA_METHOD;
+ case JavaElement.JEM_STRING:
+ return STRING;
+ default:
+ this.index--;
+ break;
+ }
+ }
return JAVAPROJECT;
case JavaElement.JEM_PACKAGEFRAGMENTROOT:
return PACKAGEFRAGMENTROOT;
@@ -78,12 +96,6 @@
return PACKAGEDECLARATION;
case JavaElement.JEM_IMPORTDECLARATION:
return IMPORTDECLARATION;
- case JavaElement.JEM_LAMBDA_EXPRESSION:
- return LAMBDA_EXPRESSION;
- case JavaElement.JEM_LAMBDA_METHOD:
- return LAMBDA_METHOD;
- case JavaElement.JEM_STRING:
- return STRING;
case JavaElement.JEM_LOCALVARIABLE:
return LOCALVARIABLE;
case JavaElement.JEM_TYPE_PARAMETER:
@@ -111,9 +123,6 @@
case JavaElement.JEM_PACKAGEDECLARATION:
case JavaElement.JEM_IMPORTDECLARATION:
case JavaElement.JEM_LOCALVARIABLE:
- case JavaElement.JEM_LAMBDA_EXPRESSION:
- case JavaElement.JEM_LAMBDA_METHOD:
- case JavaElement.JEM_STRING:
case JavaElement.JEM_TYPE_PARAMETER:
case JavaElement.JEM_ANNOTATION:
break loop;
diff --git a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/util/messages.properties b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/util/messages.properties
index 383ff0f..d5908f8 100644
--- a/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/util/messages.properties
+++ b/org.aspectj.ajde/source/org/aspectj/org/eclipse/jdt/internal/core/util/messages.properties
@@ -1,5 +1,5 @@
###############################################################################
-# Copyright (c) 2000, 2013 IBM Corporation and others.
+# Copyright (c) 2000, 2014 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
@@ -292,8 +292,8 @@
disassembler_stackmapattributeheader = Stack map : number of frames {0}
disassembler_signatureattributeheader = // Signature: {0}
disassembler_bootstrapmethodattributesheader = Bootstrap methods:
-disassembler_bootstrapmethodentry = {0} : # {1} arguments: {2}
-disassembler_bootstrapmethodentry_argument = #{0}
+disassembler_bootstrapmethodentry = {0} : # {1} {2}\n\tMethod arguments:\n\t\t{3}
+disassembler_bootstrapmethodentry_argument = #{0} {1}
disassembler_indentation = \
disassembler_constantpoolindex =\ #
disassembler_space = \
diff --git a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/AdviceImpl$1.class b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/AdviceImpl$1.class
index 2c8bd0d..7198c77 100644
--- a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/AdviceImpl$1.class
+++ b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/AdviceImpl$1.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/AdviceImpl.class b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/AdviceImpl.class
index b9cf44b..15e4296 100644
--- a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/AdviceImpl.class
+++ b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/AdviceImpl.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/AjTypeImpl.class b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/AjTypeImpl.class
index 240b827..bbb9d73 100644
--- a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/AjTypeImpl.class
+++ b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/AjTypeImpl.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/DeclareAnnotationImpl$1.class b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/DeclareAnnotationImpl$1.class
index 70432cb..1e549d6 100644
--- a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/DeclareAnnotationImpl$1.class
+++ b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/DeclareAnnotationImpl$1.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/DeclareAnnotationImpl.class b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/DeclareAnnotationImpl.class
index 4737325..07ee884 100644
--- a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/DeclareAnnotationImpl.class
+++ b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/DeclareAnnotationImpl.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/DeclareParentsImpl.class b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/DeclareParentsImpl.class
index ddb3d6a..ed0f459 100644
--- a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/DeclareParentsImpl.class
+++ b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/DeclareParentsImpl.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/DeclareSoftImpl.class b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/DeclareSoftImpl.class
index f7d26e1..560d139 100644
--- a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/DeclareSoftImpl.class
+++ b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/DeclareSoftImpl.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/InterTypeFieldDeclarationImpl.class b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/InterTypeFieldDeclarationImpl.class
index fd87619..e76ee5c 100644
--- a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/InterTypeFieldDeclarationImpl.class
+++ b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/InterTypeFieldDeclarationImpl.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/InterTypeMethodDeclarationImpl.class b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/InterTypeMethodDeclarationImpl.class
index c70e8c6..3c51d23 100644
--- a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/InterTypeMethodDeclarationImpl.class
+++ b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/InterTypeMethodDeclarationImpl.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/PointcutBasedPerClauseImpl$1.class b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/PointcutBasedPerClauseImpl$1.class
index 504c0e0..3254202 100644
--- a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/PointcutBasedPerClauseImpl$1.class
+++ b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/PointcutBasedPerClauseImpl$1.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/PointcutBasedPerClauseImpl.class b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/PointcutBasedPerClauseImpl.class
index cef29ff..3faad36 100644
--- a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/PointcutBasedPerClauseImpl.class
+++ b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/PointcutBasedPerClauseImpl.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/StringToType$1.class b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/StringToType$1.class
index f83e9ed..fada9fa 100644
--- a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/StringToType$1.class
+++ b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/StringToType$1.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/StringToType.class b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/StringToType.class
index 2f078bd..0e2a458 100644
--- a/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/StringToType.class
+++ b/org.aspectj.runtime/classes/org/aspectj/internal/lang/reflect/StringToType.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/lang/Aspects.class b/org.aspectj.runtime/classes/org/aspectj/lang/Aspects.class
index fe4a900..fa311ba 100644
--- a/org.aspectj.runtime/classes/org/aspectj/lang/Aspects.class
+++ b/org.aspectj.runtime/classes/org/aspectj/lang/Aspects.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/lang/Aspects14.class b/org.aspectj.runtime/classes/org/aspectj/lang/Aspects14.class
index 2de8949..8aa23a9 100644
--- a/org.aspectj.runtime/classes/org/aspectj/lang/Aspects14.class
+++ b/org.aspectj.runtime/classes/org/aspectj/lang/Aspects14.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/lang/reflect/AdviceKind.class b/org.aspectj.runtime/classes/org/aspectj/lang/reflect/AdviceKind.class
index 6ba7a16..ae1e3ae 100644
--- a/org.aspectj.runtime/classes/org/aspectj/lang/reflect/AdviceKind.class
+++ b/org.aspectj.runtime/classes/org/aspectj/lang/reflect/AdviceKind.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/lang/reflect/AjTypeSystem.class b/org.aspectj.runtime/classes/org/aspectj/lang/reflect/AjTypeSystem.class
index 25bee06..2f05678 100644
--- a/org.aspectj.runtime/classes/org/aspectj/lang/reflect/AjTypeSystem.class
+++ b/org.aspectj.runtime/classes/org/aspectj/lang/reflect/AjTypeSystem.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/lang/reflect/DeclareAnnotation$Kind.class b/org.aspectj.runtime/classes/org/aspectj/lang/reflect/DeclareAnnotation$Kind.class
index b8608ef..097fee7 100644
--- a/org.aspectj.runtime/classes/org/aspectj/lang/reflect/DeclareAnnotation$Kind.class
+++ b/org.aspectj.runtime/classes/org/aspectj/lang/reflect/DeclareAnnotation$Kind.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/lang/reflect/PerClauseKind.class b/org.aspectj.runtime/classes/org/aspectj/lang/reflect/PerClauseKind.class
index 0335110..2c9facf 100644
--- a/org.aspectj.runtime/classes/org/aspectj/lang/reflect/PerClauseKind.class
+++ b/org.aspectj.runtime/classes/org/aspectj/lang/reflect/PerClauseKind.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadCounterImpl11.class b/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadCounterImpl11.class
index 812875c..115de5a 100644
--- a/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadCounterImpl11.class
+++ b/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadCounterImpl11.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadStackFactoryImpl$1.class b/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadStackFactoryImpl$1.class
index 6909fc7..9f609c9 100644
--- a/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadStackFactoryImpl$1.class
+++ b/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadStackFactoryImpl$1.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadStackFactoryImpl$ThreadCounterImpl.class b/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadStackFactoryImpl$ThreadCounterImpl.class
index bd7230b..15c0019 100644
--- a/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadStackFactoryImpl$ThreadCounterImpl.class
+++ b/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadStackFactoryImpl$ThreadCounterImpl.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadStackFactoryImpl$ThreadStackImpl.class b/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadStackFactoryImpl$ThreadStackImpl.class
index 0438762..240ec7b 100644
--- a/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadStackFactoryImpl$ThreadStackImpl.class
+++ b/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadStackFactoryImpl$ThreadStackImpl.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadStackFactoryImpl.class b/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadStackFactoryImpl.class
index b41cbfe..a010b82 100644
--- a/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadStackFactoryImpl.class
+++ b/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadStackFactoryImpl.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadStackImpl11.class b/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadStackImpl11.class
index 051e2e8..6f96738 100644
--- a/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadStackImpl11.class
+++ b/org.aspectj.runtime/classes/org/aspectj/runtime/internal/cflowstack/ThreadStackImpl11.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/runtime/reflect/AdviceSignatureImpl.class b/org.aspectj.runtime/classes/org/aspectj/runtime/reflect/AdviceSignatureImpl.class
index cc03444..6e0e436 100644
--- a/org.aspectj.runtime/classes/org/aspectj/runtime/reflect/AdviceSignatureImpl.class
+++ b/org.aspectj.runtime/classes/org/aspectj/runtime/reflect/AdviceSignatureImpl.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/runtime/reflect/Factory.class b/org.aspectj.runtime/classes/org/aspectj/runtime/reflect/Factory.class
index dfd6ec5..7e529df 100644
--- a/org.aspectj.runtime/classes/org/aspectj/runtime/reflect/Factory.class
+++ b/org.aspectj.runtime/classes/org/aspectj/runtime/reflect/Factory.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/runtime/reflect/LockSignatureImpl.class b/org.aspectj.runtime/classes/org/aspectj/runtime/reflect/LockSignatureImpl.class
index e9e087d..8c8408c 100644
--- a/org.aspectj.runtime/classes/org/aspectj/runtime/reflect/LockSignatureImpl.class
+++ b/org.aspectj.runtime/classes/org/aspectj/runtime/reflect/LockSignatureImpl.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/runtime/reflect/SignatureImpl.class b/org.aspectj.runtime/classes/org/aspectj/runtime/reflect/SignatureImpl.class
index df30d4d..ef9ade5 100644
--- a/org.aspectj.runtime/classes/org/aspectj/runtime/reflect/SignatureImpl.class
+++ b/org.aspectj.runtime/classes/org/aspectj/runtime/reflect/SignatureImpl.class
Binary files differ
diff --git a/org.aspectj.runtime/classes/org/aspectj/runtime/reflect/UnlockSignatureImpl.class b/org.aspectj.runtime/classes/org/aspectj/runtime/reflect/UnlockSignatureImpl.class
index 454b532..58bd4e9 100644
--- a/org.aspectj.runtime/classes/org/aspectj/runtime/reflect/UnlockSignatureImpl.class
+++ b/org.aspectj.runtime/classes/org/aspectj/runtime/reflect/UnlockSignatureImpl.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/META-INF/MANIFEST.MF b/org.aspectj.weaver/classes/META-INF/MANIFEST.MF
index 654a9a9..665c09a 100644
--- a/org.aspectj.weaver/classes/META-INF/MANIFEST.MF
+++ b/org.aspectj.weaver/classes/META-INF/MANIFEST.MF
@@ -1,10 +1,10 @@
Manifest-Version: 1.0
Name: org/aspectj/weaver/
Specification-Title: AspectJ Weaver Classes
-Specification-Version: 1.8.0
+Specification-Version: DEVELOPMENT
Specification-Vendor: aspectj.org
Implementation-Title: org.aspectj.weaver
-Implementation-Version: 1.8.0
+Implementation-Version: DEVELOPMENT
Implementation-Vendor: aspectj.org
Premain-Class: org.aspectj.weaver.loadtime.Agent
Can-Redefine-Classes: true
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/Constants.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/Constants.class
index 724e5ee..3529fdc 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/Constants.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/Constants.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/ConstantsInitializer.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/ConstantsInitializer.class
index 09b70de..7570489 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/ConstantsInitializer.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/ConstantsInitializer.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/ExceptionConstants.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/ExceptionConstants.class
index 368a926..ca03066 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/ExceptionConstants.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/ExceptionConstants.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/Repository.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/Repository.class
index b01afef..f527911 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/Repository.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/Repository.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Attribute.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Attribute.class
index 5e11056..f38f95e 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Attribute.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Attribute.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/AttributeUtils.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/AttributeUtils.class
index 1ac8b2b..f5da420 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/AttributeUtils.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/AttributeUtils.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/BootstrapMethods.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/BootstrapMethods.class
index 36f5ea4..4a53342 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/BootstrapMethods.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/BootstrapMethods.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/ClassParser.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/ClassParser.class
index a29cd88..9e4bf14 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/ClassParser.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/ClassParser.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/ClassVisitor.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/ClassVisitor.class
index 34ce0ef..12f64df 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/ClassVisitor.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/ClassVisitor.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Code.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Code.class
index f9f75ff..22690b4 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Code.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Code.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/ConstantPool.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/ConstantPool.class
index 221034e..ac9a16a 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/ConstantPool.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/ConstantPool.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Field.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Field.class
index cc575c2..4074457 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Field.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Field.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/FieldOrMethod.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/FieldOrMethod.class
index fe332b5..8d593f2 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/FieldOrMethod.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/FieldOrMethod.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/InnerClass.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/InnerClass.class
index 6a5d065..8f65fa5 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/InnerClass.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/InnerClass.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/JavaClass.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/JavaClass.class
index 9649f61..c9521a9 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/JavaClass.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/JavaClass.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/LineNumberTable.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/LineNumberTable.class
index a6a96a9..4cf75eb 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/LineNumberTable.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/LineNumberTable.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/LocalVariableTable.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/LocalVariableTable.class
index f0d3a96..922c72f 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/LocalVariableTable.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/LocalVariableTable.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Method.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Method.class
index f7ca24c..7a8c145 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Method.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Method.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/MethodParameters.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/MethodParameters.class
new file mode 100644
index 0000000..a9d594d
--- /dev/null
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/MethodParameters.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Signature.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Signature.class
index cf47fa2..8e8556c 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Signature.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Signature.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/StackMapType.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/StackMapType.class
index 7d93d13..daf965c 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/StackMapType.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/StackMapType.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Unknown.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Unknown.class
index 04123bf..2a88ff1 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Unknown.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Unknown.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Utility$ResultHolder.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Utility$ResultHolder.class
index d718d4f..aad1ee8 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Utility$ResultHolder.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Utility$ResultHolder.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Utility.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Utility.class
index b67e94e..d46bab0 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Utility.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/Utility.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/AnnotationGen.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/AnnotationGen.class
index b9a88ca..a1745a1 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/AnnotationGen.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/AnnotationGen.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/ArrayElementValue.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/ArrayElementValue.class
index 5df82fa..3bfa7f0 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/ArrayElementValue.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/ArrayElementValue.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/ClassElementValue.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/ClassElementValue.class
index 20e62c5..b98f2f3 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/ClassElementValue.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/ClassElementValue.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/EnumElementValue.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/EnumElementValue.class
index 42a01ca..efd6264 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/EnumElementValue.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/EnumElementValue.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/NameValuePair.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/NameValuePair.class
index 1e5dd26..74fbd08 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/NameValuePair.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/NameValuePair.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos.class
index afc4aae..74ecd14 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeInvisAnnos.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeInvisAnnos.class
index e8b6c7c..344a634 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeInvisAnnos.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeInvisAnnos.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeInvisParamAnnos.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeInvisParamAnnos.class
index 9ea1d52..69e67c3 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeInvisParamAnnos.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeInvisParamAnnos.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeInvisTypeAnnos.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeInvisTypeAnnos.class
new file mode 100644
index 0000000..6ca23ed
--- /dev/null
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeInvisTypeAnnos.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeParamAnnos.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeParamAnnos.class
index ba12dda..9e08dd9 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeParamAnnos.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeParamAnnos.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeTypeAnnos.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeTypeAnnos.class
new file mode 100644
index 0000000..953d75e
--- /dev/null
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeTypeAnnos.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeVisAnnos.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeVisAnnos.class
index a90a1a0..ea1626f 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeVisAnnos.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeVisAnnos.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeVisParamAnnos.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeVisParamAnnos.class
index ec05cfd..f58ba68 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeVisParamAnnos.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeVisParamAnnos.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeVisTypeAnnos.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeVisTypeAnnos.class
new file mode 100644
index 0000000..5302bd0
--- /dev/null
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/RuntimeVisTypeAnnos.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/SimpleElementValue.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/SimpleElementValue.class
index 8ddac0f..42480ad 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/SimpleElementValue.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/SimpleElementValue.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/TypeAnnotationGen.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/TypeAnnotationGen.class
new file mode 100644
index 0000000..759f825
--- /dev/null
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/classfile/annotation/TypeAnnotationGen.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/ClassGen.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/ClassGen.class
index 2038e0d..e3b3338 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/ClassGen.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/ClassGen.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/FieldGen.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/FieldGen.class
index 8daada4..d915f96 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/FieldGen.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/FieldGen.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/FieldOrMethod.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/FieldOrMethod.class
index 62022ca..299d3a2 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/FieldOrMethod.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/FieldOrMethod.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/IINC.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/IINC.class
index 985ae9b..14c78b2 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/IINC.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/IINC.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/Instruction.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/Instruction.class
index 9704324..707d6bd 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/Instruction.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/Instruction.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionBranch.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionBranch.class
index b5721d9..878e591 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionBranch.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionBranch.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionCP.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionCP.class
index 6099f41..643e42f 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionCP.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionCP.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionConstants.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionConstants.class
index f7d1d7c..89f2058 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionConstants.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionConstants.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionFactory.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionFactory.class
index 420178e..9245033 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionFactory.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionFactory.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionLV.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionLV.class
index b69606c..96ba76c 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionLV.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionLV.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionList.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionList.class
index faf62be..84eaf80 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionList.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionList.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionSelect.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionSelect.class
index 8f404eb..8f6a4b3 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionSelect.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/InstructionSelect.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/MethodGen.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/MethodGen.class
index dd488bb..e32e524 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/MethodGen.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/MethodGen.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/RET.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/RET.class
index 885358b..15b93c3 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/RET.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/RET.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/ReturnaddressType.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/ReturnaddressType.class
index fad6299..c342c68 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/ReturnaddressType.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/ReturnaddressType.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/SwitchBuilder.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/SwitchBuilder.class
index 62e99c5..a785997 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/SwitchBuilder.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/SwitchBuilder.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/Type.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/Type.class
index 52092e9..488acd1 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/Type.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/generic/Type.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/ClassLoaderRepository.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/ClassLoaderRepository.class
index ea9c346..e7b2eec 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/ClassLoaderRepository.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/ClassLoaderRepository.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/ClassPath$Dir.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/ClassPath$Dir.class
index 37d46b8..6d85b7d 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/ClassPath$Dir.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/ClassPath$Dir.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/ClassPath$Zip.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/ClassPath$Zip.class
index 6113588..701571a 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/ClassPath$Zip.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/ClassPath$Zip.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/ClassPath.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/ClassPath.class
index 57d86cd..c419a84 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/ClassPath.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/ClassPath.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/NonCachingClassLoaderRepository.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/NonCachingClassLoaderRepository.class
index 118c6dd..798a861 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/NonCachingClassLoaderRepository.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/NonCachingClassLoaderRepository.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/SyntheticRepository.class b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/SyntheticRepository.class
index 9b66a02..8af4dac 100644
--- a/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/SyntheticRepository.class
+++ b/org.aspectj.weaver/classes/org/aspectj/apache/bcel/util/SyntheticRepository.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/asm/AsmManager$1.class b/org.aspectj.weaver/classes/org/aspectj/asm/AsmManager$1.class
index decd5c5..7413acd 100644
--- a/org.aspectj.weaver/classes/org/aspectj/asm/AsmManager$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/asm/AsmManager$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/asm/AsmManager$CanonicalFilePathMap.class b/org.aspectj.weaver/classes/org/aspectj/asm/AsmManager$CanonicalFilePathMap.class
index 2670b81..b66c82a 100644
--- a/org.aspectj.weaver/classes/org/aspectj/asm/AsmManager$CanonicalFilePathMap.class
+++ b/org.aspectj.weaver/classes/org/aspectj/asm/AsmManager$CanonicalFilePathMap.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/asm/AsmManager$ModelInfo.class b/org.aspectj.weaver/classes/org/aspectj/asm/AsmManager$ModelInfo.class
index 5a5b682..0b40509 100644
--- a/org.aspectj.weaver/classes/org/aspectj/asm/AsmManager$ModelInfo.class
+++ b/org.aspectj.weaver/classes/org/aspectj/asm/AsmManager$ModelInfo.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/asm/AsmManager.class b/org.aspectj.weaver/classes/org/aspectj/asm/AsmManager.class
index 775349e..5d83360 100644
--- a/org.aspectj.weaver/classes/org/aspectj/asm/AsmManager.class
+++ b/org.aspectj.weaver/classes/org/aspectj/asm/AsmManager.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/asm/internal/AspectJElementHierarchy.class b/org.aspectj.weaver/classes/org/aspectj/asm/internal/AspectJElementHierarchy.class
index 43e0359..e032a7e 100644
--- a/org.aspectj.weaver/classes/org/aspectj/asm/internal/AspectJElementHierarchy.class
+++ b/org.aspectj.weaver/classes/org/aspectj/asm/internal/AspectJElementHierarchy.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/asm/internal/HandleProviderDelimiter.class b/org.aspectj.weaver/classes/org/aspectj/asm/internal/HandleProviderDelimiter.class
index 4461bf4..0a7bedf 100644
--- a/org.aspectj.weaver/classes/org/aspectj/asm/internal/HandleProviderDelimiter.class
+++ b/org.aspectj.weaver/classes/org/aspectj/asm/internal/HandleProviderDelimiter.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/asm/internal/JDTLikeHandleProvider.class b/org.aspectj.weaver/classes/org/aspectj/asm/internal/JDTLikeHandleProvider.class
index 40c817c..55e4e93 100644
--- a/org.aspectj.weaver/classes/org/aspectj/asm/internal/JDTLikeHandleProvider.class
+++ b/org.aspectj.weaver/classes/org/aspectj/asm/internal/JDTLikeHandleProvider.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/asm/internal/NameConvertor.class b/org.aspectj.weaver/classes/org/aspectj/asm/internal/NameConvertor.class
index a3c60bb..6793cc9 100644
--- a/org.aspectj.weaver/classes/org/aspectj/asm/internal/NameConvertor.class
+++ b/org.aspectj.weaver/classes/org/aspectj/asm/internal/NameConvertor.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/asm/internal/ProgramElement$1.class b/org.aspectj.weaver/classes/org/aspectj/asm/internal/ProgramElement$1.class
index b51ac8f..ee1a2fb 100644
--- a/org.aspectj.weaver/classes/org/aspectj/asm/internal/ProgramElement$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/asm/internal/ProgramElement$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/asm/internal/ProgramElement.class b/org.aspectj.weaver/classes/org/aspectj/asm/internal/ProgramElement.class
index 5d780c2..950c62a 100644
--- a/org.aspectj.weaver/classes/org/aspectj/asm/internal/ProgramElement.class
+++ b/org.aspectj.weaver/classes/org/aspectj/asm/internal/ProgramElement.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/asm/internal/Relationship.class b/org.aspectj.weaver/classes/org/aspectj/asm/internal/Relationship.class
index df21426..5c2bbaf 100644
--- a/org.aspectj.weaver/classes/org/aspectj/asm/internal/Relationship.class
+++ b/org.aspectj.weaver/classes/org/aspectj/asm/internal/Relationship.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/asm/internal/RelationshipMap.class b/org.aspectj.weaver/classes/org/aspectj/asm/internal/RelationshipMap.class
index e6b565a..f1b36d3 100644
--- a/org.aspectj.weaver/classes/org/aspectj/asm/internal/RelationshipMap.class
+++ b/org.aspectj.weaver/classes/org/aspectj/asm/internal/RelationshipMap.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/AbortException.class b/org.aspectj.weaver/classes/org/aspectj/bridge/AbortException.class
index c73dd30..1b69059 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/AbortException.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/AbortException.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/CountingMessageHandler$1.class b/org.aspectj.weaver/classes/org/aspectj/bridge/CountingMessageHandler$1.class
index 6dc9d2c..dc1574b 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/CountingMessageHandler$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/CountingMessageHandler$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/CountingMessageHandler$IntHolder.class b/org.aspectj.weaver/classes/org/aspectj/bridge/CountingMessageHandler$IntHolder.class
index 6360beb..d41a0c3 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/CountingMessageHandler$IntHolder.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/CountingMessageHandler$IntHolder.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/CountingMessageHandler.class b/org.aspectj.weaver/classes/org/aspectj/bridge/CountingMessageHandler.class
index 4020722..5c349f0 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/CountingMessageHandler.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/CountingMessageHandler.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/IMessage$1.class b/org.aspectj.weaver/classes/org/aspectj/bridge/IMessage$1.class
index 4492f5a..7ed45cd 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/IMessage$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/IMessage$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/IMessage$Kind$1.class b/org.aspectj.weaver/classes/org/aspectj/bridge/IMessage$Kind$1.class
index b987c5f..272a4d9 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/IMessage$Kind$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/IMessage$Kind$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/IMessage$Kind.class b/org.aspectj.weaver/classes/org/aspectj/bridge/IMessage$Kind.class
index ade252f..b61175a 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/IMessage$Kind.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/IMessage$Kind.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/IMessage.class b/org.aspectj.weaver/classes/org/aspectj/bridge/IMessage.class
index 2ecee3f..3ad9f72 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/IMessage.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/IMessage.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/IMessageHandler$1.class b/org.aspectj.weaver/classes/org/aspectj/bridge/IMessageHandler$1.class
index 62315d9..56a82af 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/IMessageHandler$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/IMessageHandler$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/IMessageHandler.class b/org.aspectj.weaver/classes/org/aspectj/bridge/IMessageHandler.class
index 9f91613..46c4ee6 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/IMessageHandler.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/IMessageHandler.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageHandler.class b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageHandler.class
index 819a111..6de955c 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageHandler.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageHandler.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$1.class b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$1.class
index e091dce..e1df40e 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$10.class b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$10.class
index d32a2a2..8f7f1fe 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$10.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$10.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$11.class b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$11.class
index 422da0c..0e0ad90 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$11.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$11.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$2.class b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$2.class
index 15b7a9f..caa83e8 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$2.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$2.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$3.class b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$3.class
index 047583a..332ebd5 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$3.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$3.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$4.class b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$4.class
index f86d50b..bd6d129 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$4.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$4.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$5.class b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$5.class
index 189c3f0..a97bf9f 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$5.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$5.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$6.class b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$6.class
index 4dda91b..504f68b 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$6.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$6.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$7.class b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$7.class
index 5738e37..d579cc2 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$7.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$7.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$8.class b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$8.class
index a0ceda6..af71314 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$8.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$8.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$9.class b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$9.class
index f946a16..b6e4868 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$9.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil$9.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil.class b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil.class
index 0bbde6b..07042c9 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageUtil.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageWriter.class b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageWriter.class
index a752827..b785764 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/MessageWriter.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/MessageWriter.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/ReflectionFactory.class b/org.aspectj.weaver/classes/org/aspectj/bridge/ReflectionFactory.class
index 5e6be22..205acec 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/ReflectionFactory.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/ReflectionFactory.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/SourceLocation.class b/org.aspectj.weaver/classes/org/aspectj/bridge/SourceLocation.class
index 5b84847..c7b65fa 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/SourceLocation.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/SourceLocation.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/Version.class b/org.aspectj.weaver/classes/org/aspectj/bridge/Version.class
index e0e4e7d..cb55b30 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/Version.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/Version.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/context/CompilationAndWeavingContext$1.class b/org.aspectj.weaver/classes/org/aspectj/bridge/context/CompilationAndWeavingContext$1.class
index ca5eafa..ddbb287 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/context/CompilationAndWeavingContext$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/context/CompilationAndWeavingContext$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/context/CompilationAndWeavingContext$DefaultFormatter.class b/org.aspectj.weaver/classes/org/aspectj/bridge/context/CompilationAndWeavingContext$DefaultFormatter.class
index bb27987..ddcfeed 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/context/CompilationAndWeavingContext$DefaultFormatter.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/context/CompilationAndWeavingContext$DefaultFormatter.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/context/CompilationAndWeavingContext.class b/org.aspectj.weaver/classes/org/aspectj/bridge/context/CompilationAndWeavingContext.class
index 7423933..04c7226 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/context/CompilationAndWeavingContext.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/context/CompilationAndWeavingContext.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/context/PinpointingMessageHandler$1.class b/org.aspectj.weaver/classes/org/aspectj/bridge/context/PinpointingMessageHandler$1.class
index 477d6ca..4cb0402 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/context/PinpointingMessageHandler$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/context/PinpointingMessageHandler$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/context/PinpointingMessageHandler$MessageIssued.class b/org.aspectj.weaver/classes/org/aspectj/bridge/context/PinpointingMessageHandler$MessageIssued.class
index f5a2a62..537a60f 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/context/PinpointingMessageHandler$MessageIssued.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/context/PinpointingMessageHandler$MessageIssued.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/bridge/context/PinpointingMessageHandler.class b/org.aspectj.weaver/classes/org/aspectj/bridge/context/PinpointingMessageHandler.class
index 2716c1a..3a3af9f 100644
--- a/org.aspectj.weaver/classes/org/aspectj/bridge/context/PinpointingMessageHandler.class
+++ b/org.aspectj.weaver/classes/org/aspectj/bridge/context/PinpointingMessageHandler.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$1.class b/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$1.class
index b62d57e..1389981 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$2.class b/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$2.class
index f771522..d4877c0 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$2.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$2.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$3.class b/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$3.class
index 38fccdd..a1657a0 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$3.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$3.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$4.class b/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$4.class
index 683b550..651a273 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$4.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$4.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$5.class b/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$5.class
index 91278bc..920493f 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$5.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$5.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$Pipe.class b/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$Pipe.class
index 3e6333c..8a72dc2 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$Pipe.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/FileUtil$Pipe.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/FileUtil.class b/org.aspectj.weaver/classes/org/aspectj/util/FileUtil.class
index 6d64211..54d44d7 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/FileUtil.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/FileUtil.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean$1.class b/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean$1.class
index 4e01901..b6ce2b0 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean$MaybeFuzzyBoolean.class b/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean$MaybeFuzzyBoolean.class
index 7a5483f..4125c86 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean$MaybeFuzzyBoolean.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean$MaybeFuzzyBoolean.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean$NeverFuzzyBoolean.class b/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean$NeverFuzzyBoolean.class
index 22f336b..ef8eeed 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean$NeverFuzzyBoolean.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean$NeverFuzzyBoolean.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean$NoFuzzyBoolean.class b/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean$NoFuzzyBoolean.class
index 4e84e72..7665eab 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean$NoFuzzyBoolean.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean$NoFuzzyBoolean.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean$YesFuzzyBoolean.class b/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean$YesFuzzyBoolean.class
index 966dfad..1f1842d 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean$YesFuzzyBoolean.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean$YesFuzzyBoolean.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean.class b/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean.class
index d1532dc..9ea75b0 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/FuzzyBoolean.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/GenericSignature$ClassSignature.class b/org.aspectj.weaver/classes/org/aspectj/util/GenericSignature$ClassSignature.class
index 5490230..af6f1ef 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/GenericSignature$ClassSignature.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/GenericSignature$ClassSignature.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/GenericSignature$MethodTypeSignature.class b/org.aspectj.weaver/classes/org/aspectj/util/GenericSignature$MethodTypeSignature.class
index 6f90071..476ce05 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/GenericSignature$MethodTypeSignature.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/GenericSignature$MethodTypeSignature.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/GenericSignature$SimpleClassTypeSignature.class b/org.aspectj.weaver/classes/org/aspectj/util/GenericSignature$SimpleClassTypeSignature.class
index dd76e38..a8cbc18 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/GenericSignature$SimpleClassTypeSignature.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/GenericSignature$SimpleClassTypeSignature.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/GenericSignatureParser.class b/org.aspectj.weaver/classes/org/aspectj/util/GenericSignatureParser.class
index 56f4219..67e289a 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/GenericSignatureParser.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/GenericSignatureParser.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/LangUtil$1.class b/org.aspectj.weaver/classes/org/aspectj/util/LangUtil$1.class
index ed6d958..acceb62 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/LangUtil$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/LangUtil$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/LangUtil$ProcessController$1.class b/org.aspectj.weaver/classes/org/aspectj/util/LangUtil$ProcessController$1.class
index cf5c432..2045234 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/LangUtil$ProcessController$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/LangUtil$ProcessController$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/LangUtil$ProcessController$Thrown.class b/org.aspectj.weaver/classes/org/aspectj/util/LangUtil$ProcessController$Thrown.class
index 52209c3..3348391 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/LangUtil$ProcessController$Thrown.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/LangUtil$ProcessController$Thrown.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/LangUtil$ProcessController.class b/org.aspectj.weaver/classes/org/aspectj/util/LangUtil$ProcessController.class
index 08a0669..424736c 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/LangUtil$ProcessController.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/LangUtil$ProcessController.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/LangUtil.class b/org.aspectj.weaver/classes/org/aspectj/util/LangUtil.class
index a7b71d0..0c03390 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/LangUtil.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/LangUtil.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/Reflection.class b/org.aspectj.weaver/classes/org/aspectj/util/Reflection.class
index 8aac118..f948adc 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/Reflection.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/Reflection.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/TypeSafeEnum.class b/org.aspectj.weaver/classes/org/aspectj/util/TypeSafeEnum.class
index 7d45d69..1140178 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/TypeSafeEnum.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/TypeSafeEnum.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/util/UtilClassLoader.class b/org.aspectj.weaver/classes/org/aspectj/util/UtilClassLoader.class
index a14cf71..9f169d9 100644
--- a/org.aspectj.weaver/classes/org/aspectj/util/UtilClassLoader.class
+++ b/org.aspectj.weaver/classes/org/aspectj/util/UtilClassLoader.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/AbstractReferenceTypeDelegate.class b/org.aspectj.weaver/classes/org/aspectj/weaver/AbstractReferenceTypeDelegate.class
index 385b8c4..000e389 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/AbstractReferenceTypeDelegate.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/AbstractReferenceTypeDelegate.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/Advice.class b/org.aspectj.weaver/classes/org/aspectj/weaver/Advice.class
index 426a7e9..b95f526 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/Advice.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/Advice.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$AdviceAttribute.class b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$AdviceAttribute.class
index 78ddafb..502f844 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$AdviceAttribute.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$AdviceAttribute.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$AjSynthetic.class b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$AjSynthetic.class
index e34630d..70eb894 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$AjSynthetic.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$AjSynthetic.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$Aspect.class b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$Aspect.class
index f774c9d..f23b874 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$Aspect.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$Aspect.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$DeclareAttribute.class b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$DeclareAttribute.class
index 75743de..fda7c0c 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$DeclareAttribute.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$DeclareAttribute.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$EffectiveSignatureAttribute.class b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$EffectiveSignatureAttribute.class
index ca80728..fa98b98 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$EffectiveSignatureAttribute.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$EffectiveSignatureAttribute.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$MethodDeclarationLineNumberAttribute.class b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$MethodDeclarationLineNumberAttribute.class
index cb07cbf..bc2e55e 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$MethodDeclarationLineNumberAttribute.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$MethodDeclarationLineNumberAttribute.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$PointcutDeclarationAttribute.class b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$PointcutDeclarationAttribute.class
index eac4dd0..3582b10 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$PointcutDeclarationAttribute.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$PointcutDeclarationAttribute.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$SourceContextAttribute.class b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$SourceContextAttribute.class
index 45c60cd..a366d3f 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$SourceContextAttribute.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$SourceContextAttribute.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$TypeMunger.class b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$TypeMunger.class
index d6c9661..ca13872 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$TypeMunger.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$TypeMunger.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$WeaverState.class b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$WeaverState.class
index d156d97..e78108c 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$WeaverState.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$WeaverState.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$WeaverVersionInfo.class b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$WeaverVersionInfo.class
index f2f5943..33ef3c2 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$WeaverVersionInfo.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute$WeaverVersionInfo.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute.class b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute.class
index 306ab22..13d7a45 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/AjAttribute.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/AjcMemberMaker.class b/org.aspectj.weaver/classes/org/aspectj/weaver/AjcMemberMaker.class
index 38980d7..5e77ad9 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/AjcMemberMaker.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/AjcMemberMaker.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/AnnotationAnnotationValue.class b/org.aspectj.weaver/classes/org/aspectj/weaver/AnnotationAnnotationValue.class
index 280736e..badbbe1 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/AnnotationAnnotationValue.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/AnnotationAnnotationValue.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/AnnotationTargetKind.class b/org.aspectj.weaver/classes/org/aspectj/weaver/AnnotationTargetKind.class
index b5617aa..119c8a6 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/AnnotationTargetKind.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/AnnotationTargetKind.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ArrayAnnotationValue.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ArrayAnnotationValue.class
index 49e12a9..91decd4 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ArrayAnnotationValue.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ArrayAnnotationValue.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ArrayReferenceType.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ArrayReferenceType.class
index 8e30778..08eeda0 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ArrayReferenceType.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ArrayReferenceType.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/BCException.class b/org.aspectj.weaver/classes/org/aspectj/weaver/BCException.class
index 0347b20..f124a6c 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/BCException.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/BCException.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/BindingScope.class b/org.aspectj.weaver/classes/org/aspectj/weaver/BindingScope.class
index 5404c09..5aeb8d1 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/BindingScope.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/BindingScope.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/BoundedReferenceType.class b/org.aspectj.weaver/classes/org/aspectj/weaver/BoundedReferenceType.class
index 771c10f..c5e3df9 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/BoundedReferenceType.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/BoundedReferenceType.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/Checker.class b/org.aspectj.weaver/classes/org/aspectj/weaver/Checker.class
index a68765f..03239dc 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/Checker.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/Checker.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ClassAnnotationValue.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ClassAnnotationValue.class
index 202ea86..421af3d 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ClassAnnotationValue.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ClassAnnotationValue.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ConcreteTypeMunger.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ConcreteTypeMunger.class
index 0c99a36..ea8c3d0 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ConcreteTypeMunger.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ConcreteTypeMunger.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/CrosscuttingMembers.class b/org.aspectj.weaver/classes/org/aspectj/weaver/CrosscuttingMembers.class
index 1eb7a2a..8f45f0a 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/CrosscuttingMembers.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/CrosscuttingMembers.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/CrosscuttingMembersSet.class b/org.aspectj.weaver/classes/org/aspectj/weaver/CrosscuttingMembersSet.class
index f3f79c5..90eea90 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/CrosscuttingMembersSet.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/CrosscuttingMembersSet.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/Dump.class b/org.aspectj.weaver/classes/org/aspectj/weaver/Dump.class
index 90e0267..069782b 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/Dump.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/Dump.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/EnumAnnotationValue.class b/org.aspectj.weaver/classes/org/aspectj/weaver/EnumAnnotationValue.class
index 724e583..9143e5f 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/EnumAnnotationValue.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/EnumAnnotationValue.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/IntMap.class b/org.aspectj.weaver/classes/org/aspectj/weaver/IntMap.class
index 99f035f..ff300bd 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/IntMap.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/IntMap.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$1$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$1$1.class
index f7d17ce7..5737516 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$1$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$1$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$1.class
index 9f6b6ee..e71db5b 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$2.class b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$2.class
index a716616..4603487 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$2.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$2.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$3.class b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$3.class
index 6666a65..cefa287 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$3.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$3.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$4$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$4$1.class
index 0469d11..7565b55 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$4$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$4$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$4.class b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$4.class
index 31b0b69..7bb5c87 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$4.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$4.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$5.class b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$5.class
index a3b1296..539a646 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$5.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$5.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$6.class b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$6.class
index 4af486a..27d7de0 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$6.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$6.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$7.class b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$7.class
index fe4513a..d7839e7 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$7.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$7.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$8.class b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$8.class
index 5bf1e32..cbd1639 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$8.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$8.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$ResolvedTypeArrayIterator.class b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$ResolvedTypeArrayIterator.class
index 89f3b45..8acc4e2 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$ResolvedTypeArrayIterator.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators$ResolvedTypeArrayIterator.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators.class b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators.class
index fde6f38..ebc0054 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/Iterators.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/JoinPointSignature.class b/org.aspectj.weaver/classes/org/aspectj/weaver/JoinPointSignature.class
index b5bac2f..7bae5b5 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/JoinPointSignature.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/JoinPointSignature.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/JoinPointSignatureIterator.class b/org.aspectj.weaver/classes/org/aspectj/weaver/JoinPointSignatureIterator.class
index a1521d9..610415e 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/JoinPointSignatureIterator.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/JoinPointSignatureIterator.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/Lint$Kind.class b/org.aspectj.weaver/classes/org/aspectj/weaver/Lint$Kind.class
index c7aa961..c9b82da 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/Lint$Kind.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/Lint$Kind.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/Lint.class b/org.aspectj.weaver/classes/org/aspectj/weaver/Lint.class
index d3c3dd8..3792376 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/Lint.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/Lint.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/MemberImpl.class b/org.aspectj.weaver/classes/org/aspectj/weaver/MemberImpl.class
index 1c6c494..7ad358e 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/MemberImpl.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/MemberImpl.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/MethodDelegateTypeMunger$FieldHostTypeMunger.class b/org.aspectj.weaver/classes/org/aspectj/weaver/MethodDelegateTypeMunger$FieldHostTypeMunger.class
index 110882d..c48090e 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/MethodDelegateTypeMunger$FieldHostTypeMunger.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/MethodDelegateTypeMunger$FieldHostTypeMunger.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/MethodDelegateTypeMunger.class b/org.aspectj.weaver/classes/org/aspectj/weaver/MethodDelegateTypeMunger.class
index 509d6c1..3aaebad 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/MethodDelegateTypeMunger.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/MethodDelegateTypeMunger.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/MissingResolvedTypeWithKnownSignature$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/MissingResolvedTypeWithKnownSignature$1.class
index 0a5d946..011eeca 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/MissingResolvedTypeWithKnownSignature$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/MissingResolvedTypeWithKnownSignature$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/MissingResolvedTypeWithKnownSignature.class b/org.aspectj.weaver/classes/org/aspectj/weaver/MissingResolvedTypeWithKnownSignature.class
index d74b9b6..8fe4df2 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/MissingResolvedTypeWithKnownSignature.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/MissingResolvedTypeWithKnownSignature.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/NameMangler.class b/org.aspectj.weaver/classes/org/aspectj/weaver/NameMangler.class
index ca83fb6..3d419da 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/NameMangler.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/NameMangler.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/NewConstructorTypeMunger.class b/org.aspectj.weaver/classes/org/aspectj/weaver/NewConstructorTypeMunger.class
index ac21b23..fa25a39 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/NewConstructorTypeMunger.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/NewConstructorTypeMunger.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/NewFieldTypeMunger.class b/org.aspectj.weaver/classes/org/aspectj/weaver/NewFieldTypeMunger.class
index 83c0f1b..b4423f9 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/NewFieldTypeMunger.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/NewFieldTypeMunger.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/NewMemberClassTypeMunger.class b/org.aspectj.weaver/classes/org/aspectj/weaver/NewMemberClassTypeMunger.class
index 4d97381..38cdcdf 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/NewMemberClassTypeMunger.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/NewMemberClassTypeMunger.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/NewMethodTypeMunger.class b/org.aspectj.weaver/classes/org/aspectj/weaver/NewMethodTypeMunger.class
index 77c8368..a08d4be 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/NewMethodTypeMunger.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/NewMethodTypeMunger.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/PerObjectInterfaceTypeMunger.class b/org.aspectj.weaver/classes/org/aspectj/weaver/PerObjectInterfaceTypeMunger.class
index a06c7f2..8d4c07e 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/PerObjectInterfaceTypeMunger.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/PerObjectInterfaceTypeMunger.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/PerTypeWithinTargetTypeMunger.class b/org.aspectj.weaver/classes/org/aspectj/weaver/PerTypeWithinTargetTypeMunger.class
index ed36f05..fc6d564 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/PerTypeWithinTargetTypeMunger.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/PerTypeWithinTargetTypeMunger.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/PoliceExtensionUse.class b/org.aspectj.weaver/classes/org/aspectj/weaver/PoliceExtensionUse.class
index daaa021..ce889eb 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/PoliceExtensionUse.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/PoliceExtensionUse.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/PrivilegedAccessMunger.class b/org.aspectj.weaver/classes/org/aspectj/weaver/PrivilegedAccessMunger.class
index e4dfe2e..308bf05 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/PrivilegedAccessMunger.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/PrivilegedAccessMunger.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ReferenceType.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ReferenceType.class
index b4ad177..5b38e1e 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ReferenceType.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ReferenceType.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedMemberImpl.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedMemberImpl.class
index 1e2b395..44a69a6 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedMemberImpl.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedMemberImpl.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedPointcutDefinition.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedPointcutDefinition.class
index 63b23ff..a45cb71 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedPointcutDefinition.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedPointcutDefinition.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$1.class
index a95f37b..aef4d53 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$2.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$2.class
index 68ac8de..48ce7c9 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$2.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$2.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$3.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$3.class
index 4823b91..49d722b 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$3.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$3.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$4.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$4.class
index b542fff..6bd2d34 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$4.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$4.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$5.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$5.class
index 84f23c2..1f7730a 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$5.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$5.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$FieldGetter.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$FieldGetter.class
index 5f47813..60f9f77 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$FieldGetter.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$FieldGetter.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$MethodGetter.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$MethodGetter.class
index 67c43ab..6371496 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$MethodGetter.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$MethodGetter.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$MethodGetterIncludingItds.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$MethodGetterIncludingItds.class
index 735afb7..269b5e0 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$MethodGetterIncludingItds.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$MethodGetterIncludingItds.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$Missing.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$Missing.class
index d289f0e..de34671 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$Missing.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$Missing.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$PointcutGetter.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$PointcutGetter.class
index c574dc3..29c73f7 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$PointcutGetter.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$PointcutGetter.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$Primitive.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$Primitive.class
index bcc4924..2f0343d 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$Primitive.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType$Primitive.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType.class
index 5fcb9ba..7e1205f 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedType.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedTypeMunger$Kind.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedTypeMunger$Kind.class
index 9ba04a5..f813095 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedTypeMunger$Kind.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedTypeMunger$Kind.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedTypeMunger.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedTypeMunger.class
index 2251717..bd96ca2 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedTypeMunger.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ResolvedTypeMunger.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/Shadow$Kind.class b/org.aspectj.weaver/classes/org/aspectj/weaver/Shadow$Kind.class
index 17f7b39..d0ffe7a 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/Shadow$Kind.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/Shadow$Kind.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/Shadow.class b/org.aspectj.weaver/classes/org/aspectj/weaver/Shadow.class
index c0ce773..15c5c1e 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/Shadow.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/Shadow.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ShadowMunger.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ShadowMunger.class
index eb3b2e8..b069d5f 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ShadowMunger.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ShadowMunger.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/SignatureUtils.class b/org.aspectj.weaver/classes/org/aspectj/weaver/SignatureUtils.class
index c4021f6..5034511 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/SignatureUtils.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/SignatureUtils.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/SourceContextImpl$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/SourceContextImpl$1.class
index e45314e..f6ed80a 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/SourceContextImpl$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/SourceContextImpl$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/SourceContextImpl.class b/org.aspectj.weaver/classes/org/aspectj/weaver/SourceContextImpl.class
index 0217a41..b92b944 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/SourceContextImpl.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/SourceContextImpl.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/StandardAnnotation.class b/org.aspectj.weaver/classes/org/aspectj/weaver/StandardAnnotation.class
index 7cb8862..7a05651 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/StandardAnnotation.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/StandardAnnotation.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/TypeFactory.class b/org.aspectj.weaver/classes/org/aspectj/weaver/TypeFactory.class
index 52f0fa4..2e7ec8e 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/TypeFactory.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/TypeFactory.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/TypeVariable.class b/org.aspectj.weaver/classes/org/aspectj/weaver/TypeVariable.class
index edb8d89..a7ddcff 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/TypeVariable.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/TypeVariable.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/TypeVariableReferenceType.class b/org.aspectj.weaver/classes/org/aspectj/weaver/TypeVariableReferenceType.class
index b457fd8..f6f9e6e 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/TypeVariableReferenceType.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/TypeVariableReferenceType.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/UnresolvedType.class b/org.aspectj.weaver/classes/org/aspectj/weaver/UnresolvedType.class
index 1020d4f..72d6773 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/UnresolvedType.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/UnresolvedType.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/WeaverStateInfo.class b/org.aspectj.weaver/classes/org/aspectj/weaver/WeaverStateInfo.class
index d2eabdb..434d6d1 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/WeaverStateInfo.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/WeaverStateInfo.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/WildcardedUnresolvedType.class b/org.aspectj.weaver/classes/org/aspectj/weaver/WildcardedUnresolvedType.class
index 128ec07..ed79465 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/WildcardedUnresolvedType.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/WildcardedUnresolvedType.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/World$AspectPrecedenceCalculator.class b/org.aspectj.weaver/classes/org/aspectj/weaver/World$AspectPrecedenceCalculator.class
index 6f85ef9..51a16ad 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/World$AspectPrecedenceCalculator.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/World$AspectPrecedenceCalculator.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/World$TimeCollector.class b/org.aspectj.weaver/classes/org/aspectj/weaver/World$TimeCollector.class
index fd53d59..bf291c1 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/World$TimeCollector.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/World$TimeCollector.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/World$TypeMap.class b/org.aspectj.weaver/classes/org/aspectj/weaver/World$TypeMap.class
index b8c3327..d5419c9 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/World$TypeMap.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/World$TypeMap.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/World.class b/org.aspectj.weaver/classes/org/aspectj/weaver/World.class
index 16a81b2..ee33980 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/World.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/World.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AnnotationAccessFieldVar.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AnnotationAccessFieldVar.class
index 1ef9680..1100bd7 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AnnotationAccessFieldVar.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AnnotationAccessFieldVar.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AnnotationAccessVar.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AnnotationAccessVar.class
index 8a10360..2fcdb00 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AnnotationAccessVar.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AnnotationAccessVar.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AspectInstanceVar.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AspectInstanceVar.class
index d5368d8..67540fd 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AspectInstanceVar.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AspectInstanceVar.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AtAjAttributes$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AtAjAttributes$1.class
index 2db536b..7204f33 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AtAjAttributes$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AtAjAttributes$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AtAjAttributes$UnreadableDebugInfoException.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AtAjAttributes$UnreadableDebugInfoException.class
index 744729a..1f009c1 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AtAjAttributes$UnreadableDebugInfoException.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AtAjAttributes$UnreadableDebugInfoException.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AtAjAttributes.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AtAjAttributes.class
index abaa5c5..4e162dc 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AtAjAttributes.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/AtAjAttributes.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelAccessForInlineMunger.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelAccessForInlineMunger.class
index bc52445..613bde5 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelAccessForInlineMunger.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelAccessForInlineMunger.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelAdvice.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelAdvice.class
index b7a54df..81a8dfe 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelAdvice.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelAdvice.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelAnnotation.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelAnnotation.class
index 9e9f7c1..b0a2e14 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelAnnotation.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelAnnotation.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelCflowAccessVar.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelCflowAccessVar.class
index 0477569..de728a0 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelCflowAccessVar.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelCflowAccessVar.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelCflowCounterFieldAdder.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelCflowCounterFieldAdder.class
index 163d0ab..7beabdc 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelCflowCounterFieldAdder.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelCflowCounterFieldAdder.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelCflowStackFieldAdder.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelCflowStackFieldAdder.class
index ab05047..4964813 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelCflowStackFieldAdder.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelCflowStackFieldAdder.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelClassWeaver$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelClassWeaver$1.class
index 1a8f85d..4ceb689 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelClassWeaver$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelClassWeaver$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelClassWeaver.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelClassWeaver.class
index d8abec7..8b9af0a 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelClassWeaver.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelClassWeaver.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelField.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelField.class
index b015f90..234114e 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelField.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelField.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelFieldRef.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelFieldRef.class
index a84c889..f8d0295 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelFieldRef.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelFieldRef.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelGenericSignatureToTypeXConverter.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelGenericSignatureToTypeXConverter.class
index ab984ff..b94b660 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelGenericSignatureToTypeXConverter.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelGenericSignatureToTypeXConverter.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelMethod.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelMethod.class
index 5ff3a62..913b80f 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelMethod.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelMethod.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelObjectType.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelObjectType.class
index a1f711b..5a00801 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelObjectType.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelObjectType.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelPerClauseAspectAdder.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelPerClauseAspectAdder.class
index 570e806..ddcd58e 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelPerClauseAspectAdder.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelPerClauseAspectAdder.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelRenderer.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelRenderer.class
index bb099f2..37d5f52 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelRenderer.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelRenderer.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelShadow$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelShadow$1.class
index dbe4b2a..4a92d14 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelShadow$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelShadow$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelShadow$UsesTargetVisitor.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelShadow$UsesTargetVisitor.class
index 5562966..dc51499 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelShadow$UsesTargetVisitor.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelShadow$UsesTargetVisitor.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelShadow$UsesThisVisitor.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelShadow$UsesThisVisitor.class
index 70851a0..4d98618 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelShadow$UsesThisVisitor.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelShadow$UsesThisVisitor.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelShadow.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelShadow.class
index 76c08ba..0d21f54 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelShadow.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelShadow.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelTypeMunger.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelTypeMunger.class
index df415fb..ebbc703 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelTypeMunger.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelTypeMunger.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$1.class
index 62b747a..8ddfb75 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$1AdviceLocation.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$1AdviceLocation.class
index db5aa5d..d36a95b 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$1AdviceLocation.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$1AdviceLocation.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$2.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$2.class
index 7558118..0be8081 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$2.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$2.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$3.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$3.class
index 1aa807a..078f195 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$3.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$3.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$4$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$4$1.class
index a987fce..84e6c04 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$4$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$4$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$4.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$4.class
index 3470ffc..f04e082 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$4.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver$4.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver.class
index 1274c09..3365d88 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWeaver.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWorld$WeavingXmlConfig.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWorld$WeavingXmlConfig.class
index 3bd60a8..4506d56 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWorld$WeavingXmlConfig.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWorld$WeavingXmlConfig.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWorld.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWorld.class
index f135cc4..34fe191 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWorld.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/BcelWorld.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ClassPathManager$DirEntry.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ClassPathManager$DirEntry.class
index d10dfa8..0259d4c 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ClassPathManager$DirEntry.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ClassPathManager$DirEntry.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ClassPathManager$ZipEntryClassFile.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ClassPathManager$ZipEntryClassFile.class
index a06d05b..0d96f40 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ClassPathManager$ZipEntryClassFile.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ClassPathManager$ZipEntryClassFile.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ClassPathManager$ZipFileEntry.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ClassPathManager$ZipFileEntry.class
index 3585f4d..a874a65 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ClassPathManager$ZipFileEntry.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ClassPathManager$ZipFileEntry.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ClassPathManager.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ClassPathManager.class
index 4205c8b..3f1767c 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ClassPathManager.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ClassPathManager.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ExceptionRange.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ExceptionRange.class
index d5b11d3..f366245 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ExceptionRange.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ExceptionRange.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyClassGen$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyClassGen$1.class
index fbeb55d..c37df63 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyClassGen$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyClassGen$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyClassGen.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyClassGen.class
index cadd050..ff03ca8 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyClassGen.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyClassGen.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyMethodGen$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyMethodGen$1.class
index 3e4dfb4..90ae2e8 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyMethodGen$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyMethodGen$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyMethodGen$BodyPrinter.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyMethodGen$BodyPrinter.class
index a8c87e9..dc5d7f3 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyMethodGen$BodyPrinter.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyMethodGen$BodyPrinter.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyMethodGen$LVPosition.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyMethodGen$LVPosition.class
index e6fc091..daf45e5 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyMethodGen$LVPosition.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyMethodGen$LVPosition.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyMethodGen.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyMethodGen.class
index 2dbd903..15d626f 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyMethodGen.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/LazyMethodGen.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/Range.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/Range.class
index 9f9da39..c48046e 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/Range.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/Range.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ShadowRange.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ShadowRange.class
index ea5d579..676bc01 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ShadowRange.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/ShadowRange.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/TypeAnnotationAccessVar.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/TypeAnnotationAccessVar.class
index eca9b04..2ae60ee 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/TypeAnnotationAccessVar.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/TypeAnnotationAccessVar.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/UnwovenClassFile.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/UnwovenClassFile.class
index e6dd777..92f2953 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/UnwovenClassFile.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/UnwovenClassFile.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/Utility.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/Utility.class
index 46225d0..94d29fd 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/Utility.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/Utility.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/asm/StackMapAdder$AspectJClassVisitor$AJMethodVisitor.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/asm/StackMapAdder$AspectJClassVisitor$AJMethodVisitor.class
index 91f756d..2cc4741 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/asm/StackMapAdder$AspectJClassVisitor$AJMethodVisitor.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/asm/StackMapAdder$AspectJClassVisitor$AJMethodVisitor.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/asm/StackMapAdder$AspectJClassVisitor.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/asm/StackMapAdder$AspectJClassVisitor.class
index 503547c..ad74823 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/asm/StackMapAdder$AspectJClassVisitor.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/asm/StackMapAdder$AspectJClassVisitor.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/asm/StackMapAdder$AspectJConnectClassWriter.class b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/asm/StackMapAdder$AspectJConnectClassWriter.class
index bed4cd0..e3ef8b2 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/asm/StackMapAdder$AspectJConnectClassWriter.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/bcel/asm/StackMapAdder$AspectJConnectClassWriter.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/PointcutDesignatorHandlerBasedPointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/PointcutDesignatorHandlerBasedPointcut.class
index 8c71d08..ac5395f 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/PointcutDesignatorHandlerBasedPointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/PointcutDesignatorHandlerBasedPointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/PointcutExpressionImpl$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/PointcutExpressionImpl$1.class
index 9e9a9c6..ec0eeb9 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/PointcutExpressionImpl$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/PointcutExpressionImpl$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/PointcutExpressionImpl$HasPossibleDynamicContentVisitor.class b/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/PointcutExpressionImpl$HasPossibleDynamicContentVisitor.class
index ce3cab0..882ce60 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/PointcutExpressionImpl$HasPossibleDynamicContentVisitor.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/PointcutExpressionImpl$HasPossibleDynamicContentVisitor.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/PointcutExpressionImpl.class b/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/PointcutExpressionImpl.class
index 529ed0d..11cc5fb 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/PointcutExpressionImpl.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/PointcutExpressionImpl.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl$1.class
index 6860579..358199f 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl$HasPossibleDynamicContentVisitor.class b/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl$HasPossibleDynamicContentVisitor.class
index 36573bd..a9b5128 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl$HasPossibleDynamicContentVisitor.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl$HasPossibleDynamicContentVisitor.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl.class b/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl.class
index d2a8eb1..f3f91ce 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/StandardPointcutExpressionImpl.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/TypePatternMatcherImpl.class b/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/TypePatternMatcherImpl.class
index f5ee1f9..4751718 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/TypePatternMatcherImpl.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/internal/tools/TypePatternMatcherImpl.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/Aj$AdaptorKey.class b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/Aj$AdaptorKey.class
index eca626f..8a86684 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/Aj$AdaptorKey.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/Aj$AdaptorKey.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/Aj$WeaverContainer.class b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/Aj$WeaverContainer.class
index 546fb1e..592eb11 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/Aj$WeaverContainer.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/Aj$WeaverContainer.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/Aj.class b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/Aj.class
index 01f8aad..8f4edb7 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/Aj.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/Aj.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor$SimpleGeneratedClassHandler.class b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor$SimpleGeneratedClassHandler.class
index b9090b0..b34d437 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor$SimpleGeneratedClassHandler.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor$SimpleGeneratedClassHandler.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.class b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.class
index edb3d32..35b3afa 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/ConcreteAspectCodeGen.class b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/ConcreteAspectCodeGen.class
index 77abf9f..e0659be 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/ConcreteAspectCodeGen.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/ConcreteAspectCodeGen.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/DefaultWeavingContext.class b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/DefaultWeavingContext.class
index ea87d4c..660bff9 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/DefaultWeavingContext.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/DefaultWeavingContext.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/JRockitAgent$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/JRockitAgent$1.class
index 848447a..746f29f 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/JRockitAgent$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/JRockitAgent$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/JRockitAgent$ThreadLocalStack.class b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/JRockitAgent$ThreadLocalStack.class
index cb8bdbd..a23fedf 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/JRockitAgent$ThreadLocalStack.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/JRockitAgent$ThreadLocalStack.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/JRockitAgent.class b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/JRockitAgent.class
index b6505ab..7fbba26 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/JRockitAgent.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/JRockitAgent.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/Options.class b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/Options.class
index 71db78e..ebc723d 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/Options.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/Options.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/WeavingURLClassLoader$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/WeavingURLClassLoader$1.class
index ed0b226..ecbf778 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/WeavingURLClassLoader$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/WeavingURLClassLoader$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/WeavingURLClassLoader.class b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/WeavingURLClassLoader.class
index 7fda19a..da4f1f1 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/WeavingURLClassLoader.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/WeavingURLClassLoader.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/definition/Definition$AdviceKind.class b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/definition/Definition$AdviceKind.class
index b5a9c94..bd5f173 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/definition/Definition$AdviceKind.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/definition/Definition$AdviceKind.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/definition/Definition$DeclareAnnotationKind.class b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/definition/Definition$DeclareAnnotationKind.class
index 4fe8489..77b8405 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/definition/Definition$DeclareAnnotationKind.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/definition/Definition$DeclareAnnotationKind.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/definition/DocumentParser.class b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/definition/DocumentParser.class
index e25c768..80f4ffa 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/definition/DocumentParser.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/definition/DocumentParser.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/definition/LightXMLParser.class b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/definition/LightXMLParser.class
index 1640484..c3d1fba 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/definition/LightXMLParser.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/definition/LightXMLParser.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/definition/SimpleAOPParser.class b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/definition/SimpleAOPParser.class
index 05b409c..1468f14 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/definition/SimpleAOPParser.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/loadtime/definition/SimpleAOPParser.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/ltw/LTWWorld.class b/org.aspectj.weaver/classes/org/aspectj/weaver/ltw/LTWWorld.class
index 9188c6c..a9e39e8 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/ltw/LTWWorld.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/ltw/LTWWorld.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/model/AsmRelationshipProvider.class b/org.aspectj.weaver/classes/org/aspectj/weaver/model/AsmRelationshipProvider.class
index b723fda..01386d6 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/model/AsmRelationshipProvider.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/model/AsmRelationshipProvider.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/model/AsmRelationshipUtils.class b/org.aspectj.weaver/classes/org/aspectj/weaver/model/AsmRelationshipUtils.class
index e1056b6..434e1f3 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/model/AsmRelationshipUtils.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/model/AsmRelationshipUtils.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AbstractSignaturePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AbstractSignaturePattern.class
index 76a047d..71af18a 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AbstractSignaturePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AbstractSignaturePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AndAnnotationTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AndAnnotationTypePattern.class
index e09597f..e4e5835 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AndAnnotationTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AndAnnotationTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AndPointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AndPointcut.class
index 106f8e6..27fd2c4 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AndPointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AndPointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AndTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AndTypePattern.class
index 9313628..e1595f8 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AndTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AndTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AnnotationPointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AnnotationPointcut.class
index d9b77a2..ef28b15 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AnnotationPointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AnnotationPointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AnyAnnotationTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AnyAnnotationTypePattern.class
index 7f659bc..4fc1b39 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AnyAnnotationTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AnyAnnotationTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AnyTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AnyTypePattern.class
index 84f3be9..4b71777 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AnyTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AnyTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AnyWithAnnotationTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AnyWithAnnotationTypePattern.class
index 806fa87..907ce8d 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AnyWithAnnotationTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/AnyWithAnnotationTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ArgsAnnotationPointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ArgsAnnotationPointcut.class
index c77b30f..df2a8c9 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ArgsAnnotationPointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ArgsAnnotationPointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ArgsPointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ArgsPointcut.class
index 93f10f0..73a8133 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ArgsPointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ArgsPointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/BasicTokenSource.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/BasicTokenSource.class
index 10efeb8..8322c40 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/BasicTokenSource.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/BasicTokenSource.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/BindingAnnotationFieldTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/BindingAnnotationFieldTypePattern.class
index 6510062..c9e61e4 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/BindingAnnotationFieldTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/BindingAnnotationFieldTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/BindingAnnotationTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/BindingAnnotationTypePattern.class
index 09ab2f1..b5dbc25 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/BindingAnnotationTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/BindingAnnotationTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/BindingTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/BindingTypePattern.class
index 1d05f02..32d92aa 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/BindingTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/BindingTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/Bindings.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/Bindings.class
index 3f1b3b2..162fa1a 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/Bindings.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/Bindings.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/CflowPointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/CflowPointcut.class
index fb9cb3b..33d92d7 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/CflowPointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/CflowPointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ConcreteCflowPointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ConcreteCflowPointcut.class
index c82b770..97fa382 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ConcreteCflowPointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ConcreteCflowPointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareAnnotation$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareAnnotation$1.class
index 1eccfef..c5d32c5 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareAnnotation$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareAnnotation$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareAnnotation$Kind.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareAnnotation$Kind.class
index e684766..0702718 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareAnnotation$Kind.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareAnnotation$Kind.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareAnnotation.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareAnnotation.class
index 7bf633f..cdc9b8c 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareAnnotation.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareAnnotation.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareErrorOrWarning.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareErrorOrWarning.class
index 678cf1e..0ca2b51 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareErrorOrWarning.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareErrorOrWarning.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareParents.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareParents.class
index 134d7c4..f585f60 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareParents.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareParents.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareParentsMixin.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareParentsMixin.class
index 3786d98..c26b890 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareParentsMixin.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareParentsMixin.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclarePrecedence.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclarePrecedence.class
index fa46dfc..86d4fc0 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclarePrecedence.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclarePrecedence.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareSoft.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareSoft.class
index cef5964..d6a6442 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareSoft.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareSoft.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareTypeErrorOrWarning.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareTypeErrorOrWarning.class
index 618b075..3435d73 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareTypeErrorOrWarning.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/DeclareTypeErrorOrWarning.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/EllipsisAnnotationTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/EllipsisAnnotationTypePattern.class
index 9882ca4..3c388fd 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/EllipsisAnnotationTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/EllipsisAnnotationTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/EllipsisTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/EllipsisTypePattern.class
index e38ee03..f81ec68 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/EllipsisTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/EllipsisTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ExactAnnotationFieldTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ExactAnnotationFieldTypePattern.class
index f04f307..ac7e0cb 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ExactAnnotationFieldTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ExactAnnotationFieldTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ExactAnnotationTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ExactAnnotationTypePattern.class
index 1cb212a..01c3cb5 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ExactAnnotationTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ExactAnnotationTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ExactTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ExactTypePattern.class
index eb6ecad..018147f 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ExactTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ExactTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/FormalBinding.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/FormalBinding.class
index 930f2fd..d12b17e 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/FormalBinding.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/FormalBinding.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/HandlerPointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/HandlerPointcut.class
index eb0b5d2..29ca057 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/HandlerPointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/HandlerPointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/HasMemberTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/HasMemberTypePattern.class
index 94f0456..86326ab 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/HasMemberTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/HasMemberTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/IfPointcut$IfFalsePointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/IfPointcut$IfFalsePointcut.class
index 0a63ce7..94fdeb0 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/IfPointcut$IfFalsePointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/IfPointcut$IfFalsePointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/IfPointcut$IfTruePointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/IfPointcut$IfTruePointcut.class
index 47e0c13..f23a242 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/IfPointcut$IfTruePointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/IfPointcut$IfTruePointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/IfPointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/IfPointcut.class
index 57bc292..af0717c 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/IfPointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/IfPointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/KindedPointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/KindedPointcut.class
index d353585..2a264d8 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/KindedPointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/KindedPointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ModifiersPattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ModifiersPattern.class
index 5e5d508..cae9e65 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ModifiersPattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ModifiersPattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/NoTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/NoTypePattern.class
index 45b8628..6b00aa6 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/NoTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/NoTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/NotAnnotationTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/NotAnnotationTypePattern.class
index 0d9d592..bad9707 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/NotAnnotationTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/NotAnnotationTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/NotPointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/NotPointcut.class
index 1a54319..6ea7102 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/NotPointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/NotPointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/NotTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/NotTypePattern.class
index 1194f71..e380104 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/NotTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/NotTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/OrAnnotationTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/OrAnnotationTypePattern.class
index 8f12488..978896a 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/OrAnnotationTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/OrAnnotationTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/OrPointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/OrPointcut.class
index 23e391b..74d0147 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/OrPointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/OrPointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/OrTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/OrTypePattern.class
index 2477bcb..34c03b0 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/OrTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/OrTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PatternParser.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PatternParser.class
index dd4e940..a81a5cd 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PatternParser.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PatternParser.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerCflow.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerCflow.class
index 5c65054..61fc270 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerCflow.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerCflow.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerClause$KindAnnotationPrefix.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerClause$KindAnnotationPrefix.class
index 1f77dce..c8f8c7b 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerClause$KindAnnotationPrefix.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerClause$KindAnnotationPrefix.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerClause.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerClause.class
index 35f36f0..24f24c3 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerClause.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerClause.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerFromSuper.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerFromSuper.class
index 06a0f06..e544e1e 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerFromSuper.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerFromSuper.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerObject.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerObject.class
index 9c9e568..9f23136 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerObject.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerObject.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor$1.class
index 11e87fb..f3d0d8a 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor$TypePatternMayBe.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor$TypePatternMayBe.class
index fab8e0e..a4df43d 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor$TypePatternMayBe.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor$TypePatternMayBe.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor.class
index 946d729..fc2f368 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerThisOrTargetPointcutVisitor.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerTypeWithin.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerTypeWithin.class
index 60eb790..0292052 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerTypeWithin.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PerTypeWithin.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/Pointcut$MatchesNothingPointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/Pointcut$MatchesNothingPointcut.class
index 6ee88b0..adf61b6 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/Pointcut$MatchesNothingPointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/Pointcut$MatchesNothingPointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/Pointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/Pointcut.class
index d088018..ea1e053 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/Pointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/Pointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PointcutEvaluationExpenseComparator.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PointcutEvaluationExpenseComparator.class
index 7b984fa..f5e59ad 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PointcutEvaluationExpenseComparator.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PointcutEvaluationExpenseComparator.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PointcutRewriter.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PointcutRewriter.class
index 4e11140..055c6d2 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PointcutRewriter.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/PointcutRewriter.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ReferencePointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ReferencePointcut.class
index 4ec72bf..31b5560 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ReferencePointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ReferencePointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/SignaturePattern$TypePatternVisitor.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/SignaturePattern$TypePatternVisitor.class
index 0b68e87..733c1eb 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/SignaturePattern$TypePatternVisitor.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/SignaturePattern$TypePatternVisitor.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/SignaturePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/SignaturePattern.class
index c1cb523..271b848 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/SignaturePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/SignaturePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/SimpleScope.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/SimpleScope.class
index 21e931e..fefa6f2 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/SimpleScope.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/SimpleScope.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ThisOrTargetAnnotationPointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ThisOrTargetAnnotationPointcut.class
index 30e32b2..40f91f4 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ThisOrTargetAnnotationPointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ThisOrTargetAnnotationPointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ThisOrTargetPointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ThisOrTargetPointcut.class
index 6598983..76a71d2 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ThisOrTargetPointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ThisOrTargetPointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ThrowsPattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ThrowsPattern.class
index 4252462..485e63e 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ThrowsPattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/ThrowsPattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/TypeCategoryTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/TypeCategoryTypePattern.class
index 86aa204..325145e 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/TypeCategoryTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/TypeCategoryTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/TypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/TypePattern.class
index 8b20d3d..999653b 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/TypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/TypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/TypePatternQuestions$Question.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/TypePatternQuestions$Question.class
index 594869c..867fdcc 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/TypePatternQuestions$Question.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/TypePatternQuestions$Question.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/TypeVariablePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/TypeVariablePattern.class
index bbefbfb..94b8671 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/TypeVariablePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/TypeVariablePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WildAnnotationTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WildAnnotationTypePattern.class
index b62626b..a8fdafc 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WildAnnotationTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WildAnnotationTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WildTypePattern$VerifyBoundsForTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WildTypePattern$VerifyBoundsForTypePattern.class
index 78d3af0..c1bac74 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WildTypePattern$VerifyBoundsForTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WildTypePattern$VerifyBoundsForTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WildTypePattern.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WildTypePattern.class
index 219452f..915a213 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WildTypePattern.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WildTypePattern.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WithinAnnotationPointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WithinAnnotationPointcut.class
index 6678739..217bb40 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WithinAnnotationPointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WithinAnnotationPointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WithinCodeAnnotationPointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WithinCodeAnnotationPointcut.class
index d22c502..db8a0c6 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WithinCodeAnnotationPointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WithinCodeAnnotationPointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WithinPointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WithinPointcut.class
index 0eff8cb..cd51e1d 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WithinPointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WithinPointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WithincodePointcut.class b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WithincodePointcut.class
index 3516ddd..9a0da29 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WithincodePointcut.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/patterns/WithincodePointcut.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/Java15AnnotationFinder.class b/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/Java15AnnotationFinder.class
index 35d42bf..91ca2af 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/Java15AnnotationFinder.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/Java15AnnotationFinder.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/Java15ReflectionBasedReferenceTypeDelegate.class b/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/Java15ReflectionBasedReferenceTypeDelegate.class
index 86e337f..eb1a6d7 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/Java15ReflectionBasedReferenceTypeDelegate.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/Java15ReflectionBasedReferenceTypeDelegate.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionBasedReferenceTypeDelegate.class b/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionBasedReferenceTypeDelegate.class
index 0226750..b360468 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionBasedReferenceTypeDelegate.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionBasedReferenceTypeDelegate.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionBasedReferenceTypeDelegateFactory.class b/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionBasedReferenceTypeDelegateFactory.class
index b691f1d..2e1cf6c 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionBasedReferenceTypeDelegateFactory.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionBasedReferenceTypeDelegateFactory.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionBasedResolvedMemberImpl.class b/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionBasedResolvedMemberImpl.class
index d4b15c5..3e202bd 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionBasedResolvedMemberImpl.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionBasedResolvedMemberImpl.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionShadow.class b/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionShadow.class
index 877976f..e4c03b3 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionShadow.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionShadow.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionWorld$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionWorld$1.class
index 2d9b359..218014e 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionWorld$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionWorld$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionWorld$ExceptionBasedMessageHandler.class b/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionWorld$ExceptionBasedMessageHandler.class
index 3b1c268..15c5882 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionWorld$ExceptionBasedMessageHandler.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionWorld$ExceptionBasedMessageHandler.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionWorld.class b/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionWorld.class
index f156a9f..172701d 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionWorld.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/ReflectionWorld.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/StandardShadow.class b/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/StandardShadow.class
index 046ccd3..b48dadc 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/StandardShadow.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/reflect/StandardShadow.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/DefaultTrace.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/DefaultTrace.class
index 540ee3d..a7d000a 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/DefaultTrace.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/DefaultTrace.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/DefaultTraceFactory.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/DefaultTraceFactory.class
index 008bebc..8b2af58 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/DefaultTraceFactory.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/DefaultTraceFactory.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/PointcutParser$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/PointcutParser$1.class
index 527d526..1b086d4 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/PointcutParser$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/PointcutParser$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/PointcutParser.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/PointcutParser.class
index 730b8dc..2f5b98c 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/PointcutParser.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/PointcutParser.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/PointcutPrimitive.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/PointcutPrimitive.class
index 2cf89a9..81ac697 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/PointcutPrimitive.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/PointcutPrimitive.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/StandardPointcutParser$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/StandardPointcutParser$1.class
index d63e20b..868a677 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/StandardPointcutParser$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/StandardPointcutParser$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/StandardPointcutParser.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/StandardPointcutParser.class
index c923143..d8c3f1b 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/StandardPointcutParser.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/StandardPointcutParser.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/TraceFactory.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/TraceFactory.class
index 764646b..e308503 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/TraceFactory.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/TraceFactory.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/UnsupportedPointcutPrimitiveException.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/UnsupportedPointcutPrimitiveException.class
index d201c87..7630e13 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/UnsupportedPointcutPrimitiveException.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/UnsupportedPointcutPrimitiveException.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor$1.class
index 08e73c5..0b7bd3c 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor$WeavingAdaptorMessageHolder.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor$WeavingAdaptorMessageHolder.class
index 6a3bc0c..38b1b72 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor$WeavingAdaptorMessageHolder.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor$WeavingAdaptorMessageHolder.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor$WeavingAdaptorMessageWriter.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor$WeavingAdaptorMessageWriter.class
index 8ba1cc8..9a9b30e 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor$WeavingAdaptorMessageWriter.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor$WeavingAdaptorMessageWriter.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor$WeavingClassFileProvider$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor$WeavingClassFileProvider$1.class
index eba32d1..7ae55cf 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor$WeavingClassFileProvider$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor$WeavingClassFileProvider$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor$WeavingClassFileProvider.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor$WeavingClassFileProvider.class
index a41e97a..108b225 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor$WeavingClassFileProvider.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor$WeavingClassFileProvider.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor.class
index 6407d6a..c53a776 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/WeavingAdaptor.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AbstractFileCacheBacking.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AbstractFileCacheBacking.class
index 3be2f60..a50b907 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AbstractFileCacheBacking.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AbstractFileCacheBacking.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking$IndexEntry.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking$IndexEntry.class
index 9e02159..05cb883 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking$IndexEntry.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking$IndexEntry.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking.class
index c7c5080..b827fcd 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$1.class
index 8479a4a..850bf34 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$KeyedCommand.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$KeyedCommand.class
index 976e2d7..befadda 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$KeyedCommand.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$KeyedCommand.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking.class
index f6151b4..1c4e528 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/CachedClassEntry$EntryType.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/CachedClassEntry$EntryType.class
index e825f16..6159885 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/CachedClassEntry$EntryType.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/CachedClassEntry$EntryType.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/CachedClassEntry.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/CachedClassEntry.class
index 86525bc..de84162 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/CachedClassEntry.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/CachedClassEntry.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/CachedClassReference$EntryType.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/CachedClassReference$EntryType.class
index d90456e..f138f85 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/CachedClassReference$EntryType.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/CachedClassReference$EntryType.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/CachedClassReference.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/CachedClassReference.class
index bf8f75b..e29ae1d 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/CachedClassReference.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/CachedClassReference.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/DefaultCacheKeyResolver.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/DefaultCacheKeyResolver.class
index 0ae045a..4b15d10 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/DefaultCacheKeyResolver.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/DefaultCacheKeyResolver.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/DefaultFileCacheBacking$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/DefaultFileCacheBacking$1.class
index 5837a8b..0f8585a 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/DefaultFileCacheBacking$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/DefaultFileCacheBacking$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/DefaultFileCacheBacking.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/DefaultFileCacheBacking.class
index 7505081..2067950 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/DefaultFileCacheBacking.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/DefaultFileCacheBacking.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/FlatFileCacheBacking$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/FlatFileCacheBacking$1.class
index 2fb6339..cf38fd8 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/FlatFileCacheBacking$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/FlatFileCacheBacking$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/FlatFileCacheBacking.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/FlatFileCacheBacking.class
index 7074797..6b3fccd 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/FlatFileCacheBacking.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/FlatFileCacheBacking.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/SimpleCache$StoreableCachingMap.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/SimpleCache$StoreableCachingMap.class
index 16dc5cf..55b1f57 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/SimpleCache$StoreableCachingMap.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/SimpleCache$StoreableCachingMap.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/SimpleCache.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/SimpleCache.class
index fc501b6..493081a 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/SimpleCache.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/SimpleCache.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/SimpleCacheFactory.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/SimpleCacheFactory.class
index e264e06..6d00c9b 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/SimpleCacheFactory.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/SimpleCacheFactory.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/WeavedClassCache.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/WeavedClassCache.class
index 0c013df..6015453 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/WeavedClassCache.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/WeavedClassCache.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/ZippedFileCacheBacking$1.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/ZippedFileCacheBacking$1.class
index 537bcb5..64050ec 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/ZippedFileCacheBacking$1.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/ZippedFileCacheBacking$1.class
Binary files differ
diff --git a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/ZippedFileCacheBacking.class b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/ZippedFileCacheBacking.class
index 0434b10..94dc43a 100644
--- a/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/ZippedFileCacheBacking.class
+++ b/org.aspectj.weaver/classes/org/aspectj/weaver/tools/cache/ZippedFileCacheBacking.class
Binary files differ
diff --git a/org.eclipse.ajdt.releng/build.properties b/org.eclipse.ajdt.releng/build.properties
index 9750c16..7004bfd 100644
--- a/org.eclipse.ajdt.releng/build.properties
+++ b/org.eclipse.ajdt.releng/build.properties
@@ -37,9 +37,10 @@
# 1.8.0.20140320104000 - RC2
# 1.8.0.20140409170000 - RC3
# 1.8.0.20140417150000 - RELEASE
+# 1.8.1.20140523140000 - 1.8.1 dev
# when updating AspectJ to the next version, also make sure to uodate
# the MANIFEST.MF bundle-version and all package versions
-ajde.version=1.8.0.20140417150000
+ajde.version=1.8.1.20140523140000
builder=.