equal
deleted
inserted
replaced
167 */ |
167 */ |
168 JCMemberReference result = new JCMemberReference(t.mode, t.name, expr, typeargs) { |
168 JCMemberReference result = new JCMemberReference(t.mode, t.name, expr, typeargs) { |
169 @Override |
169 @Override |
170 public void setOverloadKind(OverloadKind overloadKind) { |
170 public void setOverloadKind(OverloadKind overloadKind) { |
171 OverloadKind previous = t.getOverloadKind(); |
171 OverloadKind previous = t.getOverloadKind(); |
172 if (previous == null) { |
172 if (previous == null || previous == OverloadKind.ERROR) { |
173 t.setOverloadKind(overloadKind); |
173 t.setOverloadKind(overloadKind); |
174 } else { |
174 } else { |
175 Assert.check(previous == overloadKind); |
175 Assert.check(previous == overloadKind); |
176 } |
176 } |
177 } |
177 } |
1238 } |
1238 } |
1239 |
1239 |
1240 Type descType = types.findDescriptorType(pt); |
1240 Type descType = types.findDescriptorType(pt); |
1241 List<Type> freeArgVars = inferenceContext.freeVarsIn(descType.getParameterTypes()); |
1241 List<Type> freeArgVars = inferenceContext.freeVarsIn(descType.getParameterTypes()); |
1242 if (freeArgVars.nonEmpty() && |
1242 if (freeArgVars.nonEmpty() && |
1243 tree.getOverloadKind() == JCMemberReference.OverloadKind.OVERLOADED) { |
1243 tree.getOverloadKind() != JCMemberReference.OverloadKind.UNOVERLOADED) { |
1244 stuckVars.addAll(freeArgVars); |
1244 stuckVars.addAll(freeArgVars); |
1245 depVars.addAll(inferenceContext.freeVarsIn(descType.getReturnType())); |
1245 depVars.addAll(inferenceContext.freeVarsIn(descType.getReturnType())); |
1246 } |
1246 } |
1247 } |
1247 } |
1248 |
1248 |
1303 } |
1303 } |
1304 |
1304 |
1305 @Override |
1305 @Override |
1306 public void visitReference(JCMemberReference tree) { |
1306 public void visitReference(JCMemberReference tree) { |
1307 super.visitReference(tree); |
1307 super.visitReference(tree); |
1308 if (tree.getOverloadKind() == JCMemberReference.OverloadKind.OVERLOADED) { |
1308 if (tree.getOverloadKind() != JCMemberReference.OverloadKind.UNOVERLOADED) { |
1309 stuck = true; |
1309 stuck = true; |
1310 } |
1310 } |
1311 } |
1311 } |
1312 } |
1312 } |
1313 } |
1313 } |