hg: lambda/lambda/langtools: Enhancement: Implement overload resolution as per latest spec EDR

maurizio.cimadamore at oracle.com maurizio.cimadamore at oracle.com
Mon Dec 17 07:49:27 PST 2012


Changeset: 1f2fbcd0de7e
Author:    mcimadamore
Date:      2012-12-17 15:36 +0000
URL:       http://hg.openjdk.java.net/lambda/lambda/langtools/rev/1f2fbcd0de7e

Enhancement: Implement overload resolution as per latest spec EDR
*) Restructure DeferredAttr to allow pluggable deferred type completers
*) Add 'potentially applicable' phase for stuck arguments as a pluggable deferred completer
*) Delay instantiation of stuck ivars until after overload resolution
*) Restructure method check code to allow pluggable checkers
*) Implement new structural most specific routine as pluggable method check
*) Flatten AmbiguityError class
*) Delay merging of abstract ambiguous signatures until end of overload resolution
*) Lambda/method reference type-checking always use loose check context

! src/share/classes/com/sun/tools/javac/code/Source.java
! src/share/classes/com/sun/tools/javac/code/Types.java
! src/share/classes/com/sun/tools/javac/comp/Attr.java
! src/share/classes/com/sun/tools/javac/comp/Check.java
! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java
! src/share/classes/com/sun/tools/javac/comp/GraphInfer.java
! src/share/classes/com/sun/tools/javac/comp/Infer.java
! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java
! src/share/classes/com/sun/tools/javac/comp/LegacyInfer.java
! src/share/classes/com/sun/tools/javac/comp/Resolve.java
! src/share/classes/com/sun/tools/javac/tree/JCTree.java
! src/share/classes/com/sun/tools/javac/tree/Pretty.java
! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java
! test/tools/javac/Diagnostics/6722234/T6722234d_1.out
! test/tools/javac/Diagnostics/6722234/T6722234d_2.out
! test/tools/javac/diags/examples.not-yet.txt
! test/tools/javac/diags/examples/CyclicInference.java
- test/tools/javac/diags/examples/InferredDoNotConformToLower.java
- test/tools/javac/diags/examples/NoUniqueMaximalInstance.java
! test/tools/javac/diags/examples/WhereIntersection.java
! test/tools/javac/failover/CheckAttributedTree.java
! test/tools/javac/generics/diamond/T6939780.out
! test/tools/javac/generics/diamond/neg/Neg05.out
! test/tools/javac/generics/diamond/neg/Neg10.java
! test/tools/javac/generics/inference/6315770/T6315770.out
! test/tools/javac/generics/inference/6638712/T6638712b.out
! test/tools/javac/generics/inference/6650759/T6650759m.out
! test/tools/javac/lambda/MethodReference25.java
+ test/tools/javac/lambda/MethodReference25.out
! test/tools/javac/lambda/MethodReference26.java
- test/tools/javac/lambda/MethodReference26.out
! test/tools/javac/lambda/MethodReference43.java
! test/tools/javac/lambda/TargetType01.java
+ test/tools/javac/lambda/TargetType01.out
! test/tools/javac/lambda/TargetType06.java
! test/tools/javac/lambda/TargetType10.out
! test/tools/javac/lambda/TargetType11.java
! test/tools/javac/lambda/TargetType14.out
! test/tools/javac/lambda/TargetType21.java
! test/tools/javac/lambda/TargetType21.out
! test/tools/javac/lambda/TargetType26.out
! test/tools/javac/lambda/TargetType27.out
! test/tools/javac/lambda/TargetType28.out
! test/tools/javac/lambda/TargetType39.out
! test/tools/javac/lambda/TargetType45.java
- test/tools/javac/lambda/TargetType45.out
! test/tools/javac/lambda/TargetType50.out
+ test/tools/javac/lambda/TargetType51.java
! test/tools/javac/lambda/VoidCompatibility.java
- test/tools/javac/lambda/VoidCompatibility.out
! test/tools/javac/lambda/lambdaExpression/SamConversionComboTest.java
! test/tools/javac/lambda/methodReference/SamConversion.java
! test/tools/javac/lambda/methodReference/SamConversionComboTest.java
! test/tools/javac/lambda/typeInference/InferenceTest_neg5.out
! test/tools/javac/resolve/tests/PrimitiveOverReferenceVarargsAmbiguous.java



More information about the lambda-dev mailing list