Lazy analyze in counting parameters tips

This commit is contained in:
Nikolay Krasko
2013-06-20 14:55:15 +04:00
parent 9bf5f16bb7
commit 1c2ee72322
2 changed files with 36 additions and 16 deletions
@@ -115,7 +115,7 @@ public class ResolveSessionUtils {
public static @NotNull BindingContext resolveToExpression(
@NotNull ResolveSession resolveSession,
@NotNull JetExpression expression
@NotNull JetElement expression
) {
DelegatingBindingTrace trace = new DelegatingBindingTrace(
resolveSession.getBindingContext(), "trace to resolve expression", expression);
@@ -146,11 +146,14 @@ public class ResolveSessionUtils {
return trace.getBindingContext();
}
// Setup resolution scope explicitly
if (trace.getBindingContext().get(BindingContext.RESOLUTION_SCOPE, expression) == null) {
JetScope scope = getExpressionMemberScope(resolveSession, expression);
if (scope != null) {
trace.record(BindingContext.RESOLUTION_SCOPE, expression, scope);
if (expression instanceof JetExpression) {
JetExpression jetExpression = (JetExpression) expression;
// Setup resolution scope explicitly
if (trace.getBindingContext().get(BindingContext.RESOLUTION_SCOPE, jetExpression) == null) {
JetScope scope = getExpressionMemberScope(resolveSession, jetExpression);
if (scope != null) {
trace.record(BindingContext.RESOLUTION_SCOPE, jetExpression, scope);
}
}
}