Lines 12-17
Link Here
|
12 |
package org.eclipse.jdt.internal.core.search; |
12 |
package org.eclipse.jdt.internal.core.search; |
13 |
|
13 |
|
14 |
import org.eclipse.core.runtime.Path; |
14 |
import org.eclipse.core.runtime.Path; |
|
|
15 |
import org.eclipse.jdt.core.IAccessRule; |
15 |
import org.eclipse.jdt.core.IClassFile; |
16 |
import org.eclipse.jdt.core.IClassFile; |
16 |
import org.eclipse.jdt.core.ICompilationUnit; |
17 |
import org.eclipse.jdt.core.ICompilationUnit; |
17 |
import org.eclipse.jdt.core.IJavaElement; |
18 |
import org.eclipse.jdt.core.IJavaElement; |
Lines 20-25
Link Here
|
20 |
import org.eclipse.jdt.core.IType; |
21 |
import org.eclipse.jdt.core.IType; |
21 |
import org.eclipse.jdt.core.JavaModelException; |
22 |
import org.eclipse.jdt.core.JavaModelException; |
22 |
import org.eclipse.jdt.core.compiler.CharOperation; |
23 |
import org.eclipse.jdt.core.compiler.CharOperation; |
|
|
24 |
import org.eclipse.jdt.core.compiler.IProblem; |
23 |
import org.eclipse.jdt.core.search.IJavaSearchScope; |
25 |
import org.eclipse.jdt.core.search.IJavaSearchScope; |
24 |
import org.eclipse.jdt.core.search.TypeNameMatchRequestor; |
26 |
import org.eclipse.jdt.core.search.TypeNameMatchRequestor; |
25 |
import org.eclipse.jdt.core.search.TypeNameRequestor; |
27 |
import org.eclipse.jdt.core.search.TypeNameRequestor; |
Lines 80-85
Link Here
|
80 |
* @see org.eclipse.jdt.internal.core.search.IRestrictedAccessTypeRequestor#acceptType(int, char[], char[], char[][], java.lang.String, org.eclipse.jdt.internal.compiler.env.AccessRestriction) |
82 |
* @see org.eclipse.jdt.internal.core.search.IRestrictedAccessTypeRequestor#acceptType(int, char[], char[], char[][], java.lang.String, org.eclipse.jdt.internal.compiler.env.AccessRestriction) |
81 |
*/ |
83 |
*/ |
82 |
public void acceptType(int modifiers, char[] packageName, char[] simpleTypeName, char[][] enclosingTypeNames, String path, AccessRestriction access) { |
84 |
public void acceptType(int modifiers, char[] packageName, char[] simpleTypeName, char[][] enclosingTypeNames, String path, AccessRestriction access) { |
|
|
85 |
|
86 |
// Update requestor accessibility |
87 |
if(access != null) { |
88 |
switch (access.getProblemId()) { |
89 |
case IProblem.ForbiddenReference: |
90 |
this.requestor.setAccessibility(IAccessRule.K_NON_ACCESSIBLE); |
91 |
break; |
92 |
case IProblem.DiscouragedReference: |
93 |
this.requestor.setAccessibility(IAccessRule.K_DISCOURAGED); |
94 |
break; |
95 |
} |
96 |
} |
97 |
|
98 |
// Get type |
83 |
try { |
99 |
try { |
84 |
IType type = null; |
100 |
IType type = null; |
85 |
if (this.handleFactory != null) { |
101 |
if (this.handleFactory != null) { |
Lines 108-113
Link Here
|
108 |
? createTypeFromPath(path, new String(simpleTypeName), enclosingTypeNames) |
124 |
? createTypeFromPath(path, new String(simpleTypeName), enclosingTypeNames) |
109 |
: createTypeFromJar(path, separatorIndex); |
125 |
: createTypeFromJar(path, separatorIndex); |
110 |
} |
126 |
} |
|
|
127 |
|
128 |
// Accept match if the type has been found |
111 |
if (type != null) { |
129 |
if (type != null) { |
112 |
// hierarchy scopes require one more check: |
130 |
// hierarchy scopes require one more check: |
113 |
if (!(this.scope instanceof HierarchyScope) || ((HierarchyScope)this.scope).enclosesFineGrained(type)) { |
131 |
if (!(this.scope instanceof HierarchyScope) || ((HierarchyScope)this.scope).enclosesFineGrained(type)) { |