hg: amber/amber/langtools: 2 new changesets

maurizio.cimadamore at oracle.com maurizio.cimadamore at oracle.com
Thu Mar 23 15:39:24 UTC 2017


Changeset: ff63f4909feb
Author:    mcimadamore
Date:      2017-03-23 15:00 +0000
URL:       http://hg.openjdk.java.net/amber/amber/langtools/rev/ff63f4909feb

Initial changes for lvti branch


Changeset: 940ff165a2c3
Author:    mcimadamore
Date:      2017-03-23 15:35 +0000
URL:       http://hg.openjdk.java.net/amber/amber/langtools/rev/940ff165a2c3

8177466: Add compiler support for local variable type-inference
Add initial support for local variable inference.
This is an updated version of the compiler patch that was shared some time ago [1, 2].

Todo:
* share logic for upwards projection between javac and jshell
* refine handling of non-denotable types (esp. interesection types and anonymous class types)
* add source switch

[1] - http://mail.openjdk.java.net/pipermail/platform-jep-discuss/2016-March/000038.html
[2] - http://mail.openjdk.java.net/pipermail/platform-jep-discuss/2016-March/000057.html

! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Kinds.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeAnnotations.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Analyzer.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Infer.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/MemberEnter.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties
! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/Pretty.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeInfo.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Names.java
! src/jdk.jshell/share/classes/jdk/jshell/Eval.java
! src/jdk.jshell/share/classes/jdk/jshell/ReplParser.java
! src/jdk.jshell/share/classes/jdk/jshell/Wrap.java
+ test/tools/javac/diags/examples/IllegalRefToVarType.java
+ test/tools/javac/diags/examples/LocalArrayMissingTarget.java
+ test/tools/javac/diags/examples/LocalCantInferNull.java
+ test/tools/javac/diags/examples/LocalLambdaMissingTarget.java
+ test/tools/javac/diags/examples/LocalMissingInit.java
+ test/tools/javac/diags/examples/LocalMrefMissingTarget.java
+ test/tools/javac/diags/examples/LocalNonDenotable.java
+ test/tools/javac/diags/examples/LocalRedundantType.java
+ test/tools/javac/diags/examples/LocalSelfRef.java
+ test/tools/javac/diags/examples/VarNotAllowed.java
+ test/tools/javac/diags/examples/VarNotAllowedArray.java
+ test/tools/javac/diags/examples/VarNotAllowedField.java
! test/tools/javac/lambda/LambdaConv18.java
! test/tools/javac/lambda/LambdaConv18.out
+ test/tools/javac/lvti/BadLocalVarInferenceTest.java
+ test/tools/javac/lvti/BadLocalVarInferenceTest.out
+ test/tools/javac/lvti/FoldingTest.java
+ test/tools/javac/lvti/FoldingTest.out
+ test/tools/javac/lvti/ParserTest.java
+ test/tools/javac/lvti/ParserTest.out
+ test/tools/javac/lvti/harness/InferredType.java
+ test/tools/javac/lvti/harness/LocalVariableInferenceTester.java
+ test/tools/javac/lvti/harness/NonDenotableTest.java
+ test/tools/javac/lvti/harness/PrimitiveTypeTest.java
+ test/tools/javac/lvti/harness/ReferenceTypeTest.java
! test/tools/javac/parser/extend/TrialParser.java
+ test/tools/javac/types/TypeHarness.java



More information about the amber-dev mailing list