scopeForVisibility replaced with containingDeclaration which is enough
This commit is contained in:
+1
-1
@@ -144,7 +144,7 @@ public class CallExpressionResolver {
|
|||||||
if (!(classifier instanceof ClassDescriptor)) return;
|
if (!(classifier instanceof ClassDescriptor)) return;
|
||||||
ClassDescriptor classObject = ((ClassDescriptor) classifier).getClassObjectDescriptor();
|
ClassDescriptor classObject = ((ClassDescriptor) classifier).getClassObjectDescriptor();
|
||||||
assert classObject != null : "This check should be done only for classes with class objects: " + classifier;
|
assert classObject != null : "This check should be done only for classes with class objects: " + classifier;
|
||||||
DeclarationDescriptor from = context.scopeForVisibility.getContainingDeclaration();
|
DeclarationDescriptor from = context.containingDeclaration;
|
||||||
if (!Visibilities.isVisible(classObject, from)) {
|
if (!Visibilities.isVisible(classObject, from)) {
|
||||||
context.trace.report(INVISIBLE_MEMBER.on(expression, classObject, classObject.getVisibility(), from));
|
context.trace.report(INVISIBLE_MEMBER.on(expression, classObject, classObject.getVisibility(), from));
|
||||||
}
|
}
|
||||||
|
|||||||
+7
-6
@@ -17,6 +17,7 @@
|
|||||||
package org.jetbrains.jet.lang.types.expressions;
|
package org.jetbrains.jet.lang.types.expressions;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.FunctionDescriptor;
|
import org.jetbrains.jet.lang.descriptors.FunctionDescriptor;
|
||||||
import org.jetbrains.jet.lang.psi.Call;
|
import org.jetbrains.jet.lang.psi.Call;
|
||||||
import org.jetbrains.jet.lang.psi.JetReferenceExpression;
|
import org.jetbrains.jet.lang.psi.JetReferenceExpression;
|
||||||
@@ -69,12 +70,12 @@ public class ExpressionTypingContext extends ResolutionContext<ExpressionTypingC
|
|||||||
@NotNull CallResolverExtension callResolverExtension,
|
@NotNull CallResolverExtension callResolverExtension,
|
||||||
boolean isAnnotationContext
|
boolean isAnnotationContext
|
||||||
) {
|
) {
|
||||||
return new ExpressionTypingContext(expressionTypingServices, labelResolver, trace, scope, scope, dataFlowInfo, expectedType,
|
return new ExpressionTypingContext(expressionTypingServices, labelResolver, trace, scope, scope.getContainingDeclaration(), dataFlowInfo,
|
||||||
contextDependency, resolutionResultsCache, callResolverExtension, isAnnotationContext);
|
expectedType, contextDependency, resolutionResultsCache, callResolverExtension, isAnnotationContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
public final ExpressionTypingServices expressionTypingServices;
|
public final ExpressionTypingServices expressionTypingServices;
|
||||||
public final JetScope scopeForVisibility;
|
public final DeclarationDescriptor containingDeclaration;
|
||||||
private CompileTimeConstantChecker compileTimeConstantChecker;
|
private CompileTimeConstantChecker compileTimeConstantChecker;
|
||||||
|
|
||||||
private ExpressionTypingContext(
|
private ExpressionTypingContext(
|
||||||
@@ -82,7 +83,7 @@ public class ExpressionTypingContext extends ResolutionContext<ExpressionTypingC
|
|||||||
@NotNull LabelResolver labelResolver,
|
@NotNull LabelResolver labelResolver,
|
||||||
@NotNull BindingTrace trace,
|
@NotNull BindingTrace trace,
|
||||||
@NotNull JetScope scope,
|
@NotNull JetScope scope,
|
||||||
@NotNull JetScope scopeForVisibility,
|
@NotNull DeclarationDescriptor containingDeclaration,
|
||||||
@NotNull DataFlowInfo dataFlowInfo,
|
@NotNull DataFlowInfo dataFlowInfo,
|
||||||
@NotNull JetType expectedType,
|
@NotNull JetType expectedType,
|
||||||
@NotNull ContextDependency contextDependency,
|
@NotNull ContextDependency contextDependency,
|
||||||
@@ -93,7 +94,7 @@ public class ExpressionTypingContext extends ResolutionContext<ExpressionTypingC
|
|||||||
super(trace, scope, expectedType, dataFlowInfo, contextDependency, resolutionResultsCache, labelResolver, callResolverExtension,
|
super(trace, scope, expectedType, dataFlowInfo, contextDependency, resolutionResultsCache, labelResolver, callResolverExtension,
|
||||||
isAnnotationContext);
|
isAnnotationContext);
|
||||||
this.expressionTypingServices = expressionTypingServices;
|
this.expressionTypingServices = expressionTypingServices;
|
||||||
this.scopeForVisibility = scopeForVisibility;
|
this.containingDeclaration = containingDeclaration;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -106,7 +107,7 @@ public class ExpressionTypingContext extends ResolutionContext<ExpressionTypingC
|
|||||||
@NotNull ResolutionResultsCache resolutionResultsCache,
|
@NotNull ResolutionResultsCache resolutionResultsCache,
|
||||||
@NotNull LabelResolver labelResolver
|
@NotNull LabelResolver labelResolver
|
||||||
) {
|
) {
|
||||||
return new ExpressionTypingContext(expressionTypingServices, this.labelResolver, trace, scope, scopeForVisibility, dataFlowInfo,
|
return new ExpressionTypingContext(expressionTypingServices, this.labelResolver, trace, scope, containingDeclaration, dataFlowInfo,
|
||||||
expectedType, contextDependency, resolutionResultsCache, callResolverExtension,
|
expectedType, contextDependency, resolutionResultsCache, callResolverExtension,
|
||||||
isAnnotationContext);
|
isAnnotationContext);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user