aboutsummaryrefslogtreecommitdiffstats
path: root/org.aspectj.ajdt.core
diff options
context:
space:
mode:
authorAndy Clement <andrew.clement@gmail.com>2012-06-15 11:29:35 -0700
committerAndy Clement <andrew.clement@gmail.com>2012-06-15 11:29:35 -0700
commitba9d43ccaf2660ddc9916ea48f79a77ba60d435e (patch)
tree6f73f5ae340be4559e5551ec6d51b80447dc627f /org.aspectj.ajdt.core
parent4b101d9686d97db694585c94d742c4dcb8417aaa (diff)
downloadaspectj-ba9d43ccaf2660ddc9916ea48f79a77ba60d435e.tar.gz
aspectj-ba9d43ccaf2660ddc9916ea48f79a77ba60d435e.zip
382723
Diffstat (limited to 'org.aspectj.ajdt.core')
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AccessForInlineVisitor.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AccessForInlineVisitor.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AccessForInlineVisitor.java
index 91833c9e6..0755476e9 100644
--- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AccessForInlineVisitor.java
+++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AccessForInlineVisitor.java
@@ -40,6 +40,7 @@ import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BlockScope;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.FieldBinding;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.MethodBinding;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding;
+import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ProblemFieldBinding;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding;
@@ -259,8 +260,16 @@ public class AccessForInlineVisitor extends ASTVisitor {
return; // has already produced an error
if (binding instanceof ReferenceBinding) {
ReferenceBinding rb = (ReferenceBinding) binding;
- if (!rb.isPublic())
+ if (!rb.isPublic()) {
+ try {
+ if (rb instanceof ParameterizedTypeBinding) {
+ rb = (ReferenceBinding) rb.erasure();
+ }
+ } catch (Throwable t) { // TODO remove post 1.7.0
+ t.printStackTrace();
+ }
handler.notePrivilegedTypeAccess(rb, null); // ???
+ }
} else if (binding instanceof ArrayBinding) {
makePublic(((ArrayBinding) binding).leafComponentType);
} else {