1.1 --- a/src/share/classes/com/sun/tools/javac/comp/Resolve.java Mon Feb 04 18:08:53 2013 -0500 1.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Resolve.java Sun Feb 17 16:44:55 2013 -0500 1.3 @@ -35,7 +35,7 @@ 1.4 import com.sun.tools.javac.comp.DeferredAttr.DeferredAttrContext; 1.5 import com.sun.tools.javac.comp.DeferredAttr.DeferredType; 1.6 import com.sun.tools.javac.comp.Infer.InferenceContext; 1.7 -import com.sun.tools.javac.comp.Infer.InferenceContext.FreeTypeListener; 1.8 +import com.sun.tools.javac.comp.Infer.FreeTypeListener; 1.9 import com.sun.tools.javac.comp.Resolve.MethodResolutionContext.Candidate; 1.10 import com.sun.tools.javac.jvm.*; 1.11 import com.sun.tools.javac.tree.*; 1.12 @@ -564,7 +564,7 @@ 1.13 methodCheck, 1.14 warn); 1.15 1.16 - methodCheck.argumentsAcceptable(env, currentResolutionContext.deferredAttrContext(m, infer.emptyContext), 1.17 + methodCheck.argumentsAcceptable(env, currentResolutionContext.deferredAttrContext(m, infer.emptyContext, resultInfo, warn), 1.18 argtypes, mt.getParameterTypes(), warn); 1.19 return mt; 1.20 } 1.21 @@ -741,7 +741,7 @@ 1.22 inferenceContext.addFreeTypeListener(List.of(t), new FreeTypeListener() { 1.23 @Override 1.24 public void typesInferred(InferenceContext inferenceContext) { 1.25 - varargsAccessible(env, inferenceContext.asInstType(t, types), inferenceContext); 1.26 + varargsAccessible(env, inferenceContext.asInstType(t), inferenceContext); 1.27 } 1.28 }); 1.29 } else { 1.30 @@ -785,8 +785,8 @@ 1.31 1.32 public boolean compatible(Type found, Type req, Warner warn) { 1.33 return strict ? 1.34 - types.isSubtypeUnchecked(found, deferredAttrContext.inferenceContext.asFree(req, types), warn) : 1.35 - types.isConvertible(found, deferredAttrContext.inferenceContext.asFree(req, types), warn); 1.36 + types.isSubtypeUnchecked(found, deferredAttrContext.inferenceContext.asFree(req), warn) : 1.37 + types.isConvertible(found, deferredAttrContext.inferenceContext.asFree(req), warn); 1.38 } 1.39 1.40 public void report(DiagnosticPosition pos, JCDiagnostic details) { 1.41 @@ -3589,8 +3589,8 @@ 1.42 candidates = candidates.append(c); 1.43 } 1.44 1.45 - DeferredAttrContext deferredAttrContext(Symbol sym, InferenceContext inferenceContext) { 1.46 - return deferredAttr.new DeferredAttrContext(attrMode, sym, step, inferenceContext); 1.47 + DeferredAttrContext deferredAttrContext(Symbol sym, InferenceContext inferenceContext, ResultInfo pendingResult, Warner warn) { 1.48 + return deferredAttr.new DeferredAttrContext(attrMode, sym, step, inferenceContext, pendingResult != null ? pendingResult.checkContext.deferredAttrContext() : deferredAttr.emptyDeferredAttrContext, warn); 1.49 } 1.50 1.51 /**