fix and test for Bugzilla Bug 36110
IllegalAccessError while accessing introduced variable / 1.1rc1
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/AssertStatement.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/AssertStatement.java
index 65ebf9a..572ab0b 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/AssertStatement.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/AssertStatement.java
@@ -143,7 +143,7 @@
// need assertion flag: $assertionsDisabled on outer most source clas
// (in case of static member of interface, will use the outermost static member - bug 22334)
- SourceTypeBinding outerMostClass = currentScope.enclosingSourceType();
+ SourceTypeBinding outerMostClass = currentScope.invocationType(); //AspectJ - for inter-type declarations
while (outerMostClass.isLocalType()){
ReferenceBinding enclosing = outerMostClass.enclosingType();
if (enclosing == null || enclosing.isInterface()) break;
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ClassLiteralAccess.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ClassLiteralAccess.java
index 10428c9..023aa35 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ClassLiteralAccess.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ClassLiteralAccess.java
@@ -34,7 +34,7 @@
// if reachable, request the addition of a synthetic field for caching the class descriptor
SourceTypeBinding sourceType =
- currentScope.outerMostMethodScope().enclosingSourceType();
+ currentScope.outerMostMethodScope().invocationType(); // AspectJ - for inter-type declarations
if (!(sourceType.isInterface()
// no field generated in interface case (would'nt verify) see 1FHHEZL
|| sourceType.isBaseType())) {