hg: jdk/jdk: 8223305: Compiler support for Switch Expressions

jan.lahoda at oracle.com jan.lahoda at oracle.com
Mon Jun 10 03:12:58 UTC 2019


Changeset: ea43db53de91
Author:    jlahoda
Date:      2019-06-10 05:09 +0200
URL:       http://hg.openjdk.java.net/jdk/jdk/rev/ea43db53de91

8223305: Compiler support for Switch Expressions
Reviewed-by: mcimadamore, vromero

! src/java.compiler/share/classes/javax/lang/model/SourceVersion.java
! src/jdk.compiler/share/classes/com/sun/source/tree/BreakTree.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/YieldTree.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/Kinds.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ArgumentAttr.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/AttrContext.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.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/comp/TransTypes.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TreeDiffer.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/CRTable.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.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/TreeCopier.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/Log.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Names.java
! test/langtools/tools/javac/diags/examples/BracketsNotAllowedImplicitLambda.java
- test/langtools/tools/javac/diags/examples/BreakAmbiguousTarget.java
- test/langtools/tools/javac/diags/examples/BreakComplexValueNoSwitchExpression.java
- test/langtools/tools/javac/diags/examples/BreakExprNotImmediate.java
- test/langtools/tools/javac/diags/examples/BreakMissingValue.java
! test/langtools/tools/javac/diags/examples/FutureVarNotAllowed.java
+ test/langtools/tools/javac/diags/examples/IllegalRefToRestrictedType.java
! test/langtools/tools/javac/diags/examples/IllegalRefToVarType.java
+ test/langtools/tools/javac/diags/examples/InvalidYield.java
+ test/langtools/tools/javac/diags/examples/InvalidYieldWarning.java
+ test/langtools/tools/javac/diags/examples/NoSwitchExpression.java
+ test/langtools/tools/javac/diags/examples/NoSwitchExpressionQualify.java
+ test/langtools/tools/javac/diags/examples/RestrictedTypeNotAllowedPreview.java
! test/langtools/tools/javac/diags/examples/SwitchExpressions.java
! test/langtools/tools/javac/diags/examples/VarNotAllowed.java
! test/langtools/tools/javac/diags/examples/VarNotAllowedArray.java
! test/langtools/tools/javac/diags/examples/VarNotAllowedCompound.java
! test/langtools/tools/javac/diags/examples/VarNotAllowedHere.java
! test/langtools/tools/javac/expswitch/ExpSwitchNestingTest.java
! test/langtools/tools/javac/lambda/deduplication/Deduplication.java
! test/langtools/tools/javac/lambda/deduplication/DeduplicationTest.java
! test/langtools/tools/javac/lib/DPrinter.java
! test/langtools/tools/javac/lvti/ParserTest.out
! test/langtools/tools/javac/lvti/ParserTest9.out
! test/langtools/tools/javac/lvti/badTypeReference/BadTypeReference.out
! test/langtools/tools/javac/parser/JavacParserTest.java
! test/langtools/tools/javac/switchexpr/BreakTest.java
! test/langtools/tools/javac/switchexpr/DefiniteAssignment1.java
! test/langtools/tools/javac/switchexpr/DefiniteAssignment2.java
! test/langtools/tools/javac/switchexpr/ExpressionSwitch.java
! test/langtools/tools/javac/switchexpr/ExpressionSwitchBreaks1.java
! test/langtools/tools/javac/switchexpr/ExpressionSwitchBreaks2.java
! test/langtools/tools/javac/switchexpr/ExpressionSwitchBreaks2.out
! test/langtools/tools/javac/switchexpr/ExpressionSwitchBugs.java
! test/langtools/tools/javac/switchexpr/ExpressionSwitchDA.java
! test/langtools/tools/javac/switchexpr/ExpressionSwitchEmbedding.java
! test/langtools/tools/javac/switchexpr/ExpressionSwitchFallThrough.java
! test/langtools/tools/javac/switchexpr/ExpressionSwitchFallThrough1.java
! test/langtools/tools/javac/switchexpr/ExpressionSwitchFlow.java
! test/langtools/tools/javac/switchexpr/ExpressionSwitchInExpressionSwitch.java
! test/langtools/tools/javac/switchexpr/ExpressionSwitchInfer.java
! test/langtools/tools/javac/switchexpr/ExpressionSwitchNotExhaustive.java
+ test/langtools/tools/javac/switchexpr/ExpressionSwitchToString.java
! test/langtools/tools/javac/switchexpr/ExpressionSwitchUnreachable.java
! test/langtools/tools/javac/switchexpr/ParseIncomplete.java
! test/langtools/tools/javac/switchexpr/SwitchExpressionIsNotAConstant.java
! test/langtools/tools/javac/switchexpr/SwitchExpressionScopesIsolated.java
! test/langtools/tools/javac/switchexpr/SwitchExpressionSimpleVisitorTest.java
! test/langtools/tools/javac/switchexpr/TryCatch.java
+ test/langtools/tools/javac/switchexpr/WarnWrongYieldTest.java
+ test/langtools/tools/javac/switchexpr/WarnWrongYieldTest.out
+ test/langtools/tools/javac/switchexpr/WrongBreakTest.java
+ test/langtools/tools/javac/switchexpr/WrongBreakTest.out
+ test/langtools/tools/javac/switchexpr/WrongYieldTest.java
+ test/langtools/tools/javac/switchexpr/WrongYieldTest.out
+ test/langtools/tools/javac/switchextra/DefiniteAssignment1.java
+ test/langtools/tools/javac/switchextra/DefiniteAssignment2.java
+ test/langtools/tools/javac/switchextra/DefiniteAssignment2.out
! test/langtools/tools/javac/switchextra/MultipleLabelsExpression.java
! test/langtools/tools/javac/var_implicit_lambda/VarInImplicitLambdaNegTest01.out
! test/langtools/tools/javac/var_implicit_lambda/VarInImplicitLambdaNegTest01_source10.out



More information about the jdk-all-changes mailing list