git: openjdk/jdk: 8302344: Compiler Implementation for Unnamed patterns and variables (Preview)

Jan Lahoda jlahoda at openjdk.org
Mon May 22 08:54:22 UTC 2023


Changeset: 8aa50288
Author:    Aggelos Biboudis <abimpoudis at openjdk.org>
Committer: Jan Lahoda <jlahoda at openjdk.org>
Date:      2023-05-22 08:52:36 +0000
URL:       https://git.openjdk.org/jdk/commit/8aa50288a1a6a853bf4d8d97b1849d5744ed7a32

8302344: Compiler Implementation for Unnamed patterns and variables (Preview)
8307444: java.lang.AssertionError when using unnamed patterns
8307482: Compiler should accept var _ in nested patterns in switch case
8307007: Implementation for javax.lang.model for unnamed variables (Preview)
8308312: Compiler should fail when a local variable declaration does not include an Identifier and does not have an initializer
8308309: Compiler should accept mixed masked and unmasked variables in lambda parameters

Co-authored-by: Jan Lahoda <jlahoda at openjdk.org>
Co-authored-by: Aggelos Biboudis <abimpoudis at openjdk.org>
Reviewed-by: vromero, darcy

! src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java
! src/java.compiler/share/classes/javax/lang/model/element/Element.java
! src/java.compiler/share/classes/javax/lang/model/element/VariableElement.java
+ src/jdk.compiler/share/classes/com/sun/source/tree/AnyPatternTree.java
! src/jdk.compiler/share/classes/com/sun/source/tree/Tree.java
! src/jdk.compiler/share/classes/com/sun/source/tree/TreeVisitor.java
! src/jdk.compiler/share/classes/com/sun/source/tree/VariableTree.java
! src/jdk.compiler/share/classes/com/sun/source/util/SimpleTreeVisitor.java
! src/jdk.compiler/share/classes/com/sun/source/util/TreeScanner.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Preview.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.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/Flow.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/MemberEnter.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransPatterns.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransTypes.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.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/TreeCopier.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeInfo.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeScanner.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeTranslator.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Names.java
+ test/langtools/tools/javac/TryWithResources/TwrLintUnderscore.java
+ test/langtools/tools/javac/TryWithResources/TwrLintUnderscore.out
! test/langtools/tools/javac/api/TestGetScopeResult.java
! test/langtools/tools/javac/diags/examples/UnderscoreInLambdaExpression.java
+ test/langtools/tools/javac/diags/examples/UseOfUnderscoreNotAllowed.java
! test/langtools/tools/javac/lambda/IdentifierTest.java
+ test/langtools/tools/javac/lambda/IdentifierTest21.out
! test/langtools/tools/javac/lambda/IdentifierTest8.out
! test/langtools/tools/javac/lambda/IdentifierTest9.out
! test/langtools/tools/javac/lambda/UnderscoreAsIdent.java
+ test/langtools/tools/javac/lambda/UnderscoreAsIdent21.out
! test/langtools/tools/javac/lambda/UnderscoreAsIdent8.out
! test/langtools/tools/javac/lambda/UnderscoreAsIdent9.out
! test/langtools/tools/javac/patterns/DeconstructionPatternErrors.java
! test/langtools/tools/javac/patterns/DeconstructionPatternErrors.out
! test/langtools/tools/javac/patterns/PrettyTest.java
+ test/langtools/tools/javac/patterns/Unnamed.java
+ test/langtools/tools/javac/patterns/UnnamedErrors.java
+ test/langtools/tools/javac/patterns/UnnamedErrors.out
! test/langtools/tools/javac/processing/model/element/TestNames.java
+ test/langtools/tools/javac/processing/model/element/TestUnnamedVariableElement.java
+ test/langtools/tools/javac/processing/model/element/TestUnnamedVariableElement8.java
= test/langtools/tools/javac/processing/model/element/TestUnnamedVariableElementData.java
! test/langtools/tools/javac/tree/VarTree.java



More information about the jdk-changes mailing list