hg: jdk/sandbox: 8206986: Compiler support for Switch Expressions (Preview); ...
chris.hegarty at oracle.com
chris.hegarty at oracle.com
Wed Aug 29 07:45:25 UTC 2018
Changeset: de411d537aae
Author: jlahoda
Date: 2018-08-29 09:36 +0200
URL: http://hg.openjdk.java.net/jdk/sandbox/rev/de411d537aae
8206986: Compiler support for Switch Expressions (Preview)
8207405: Compiler Tree API support for Switch Expressions (Preview)
Summary: Support for switch expression, switch with rules and multiple constants for cases.
Reviewed-by: jjg, mcimadamore, vromero
! make/langtools/tools/propertiesparser/parser/MessageType.java
! src/jdk.compiler/share/classes/com/sun/source/tree/BreakTree.java
! src/jdk.compiler/share/classes/com/sun/source/tree/CaseTree.java
+ src/jdk.compiler/share/classes/com/sun/source/tree/SwitchExpressionTree.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/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/Symtab.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/LambdaToMethod.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.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/Code.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/AbstractDiagnosticFormatter.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java
! src/jdk.jshell/share/classes/jdk/jshell/CompletenessAnalyzer.java
! test/langtools/jdk/jshell/CompletenessTest.java
! test/langtools/lib/combo/tools/javac/combo/Diagnostics.java
! test/langtools/lib/combo/tools/javac/combo/JavacTemplateTestBase.java
! test/langtools/tools/javac/ConditionalWithVoid.java
! test/langtools/tools/javac/ConditionalWithVoid.out
! test/langtools/tools/javac/desugar/BoxingAndSuper.java
! test/langtools/tools/javac/diags/CheckResourceKeys.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/BreakOutsideSwitchExpression.java
+ test/langtools/tools/javac/diags/examples/ContinueOutsideSwitchExpression.java
+ test/langtools/tools/javac/diags/examples/IncompatibleTypesInSwitchExpression.java
+ test/langtools/tools/javac/diags/examples/MultipleCaseLabels.java
- test/langtools/tools/javac/diags/examples/NeitherConditionalSubtype.java
+ test/langtools/tools/javac/diags/examples/NotExhaustive.java
+ test/langtools/tools/javac/diags/examples/ReturnOutsideSwitchExpression.java
+ test/langtools/tools/javac/diags/examples/SwitchCaseUnexpectedStatement.java
+ test/langtools/tools/javac/diags/examples/SwitchExpressionEmpty.java
+ test/langtools/tools/javac/diags/examples/SwitchExpressionTargetCantBeVoid.java
+ test/langtools/tools/javac/diags/examples/SwitchExpressions.java
+ test/langtools/tools/javac/diags/examples/SwitchMixingCaseTypes.java
+ test/langtools/tools/javac/diags/examples/SwitchNullNotAllowed.java
+ test/langtools/tools/javac/diags/examples/SwitchRules.java
+ test/langtools/tools/javac/expswitch/ExpSwitchNestingTest.java
+ test/langtools/tools/javac/expswitch/TEST.properties
! test/langtools/tools/javac/failover/CheckAttributedTree.java
+ test/langtools/tools/javac/lambda/BadSwitchExpressionLambda.java
+ test/langtools/tools/javac/lambda/BadSwitchExpressionLambda.out
! test/langtools/tools/javac/lib/DPrinter.java
! test/langtools/tools/javac/parser/JavacParserTest.java
+ test/langtools/tools/javac/switchexpr/BlockExpression.java
+ test/langtools/tools/javac/switchexpr/BooleanNumericNonNumeric.java
+ test/langtools/tools/javac/switchexpr/BooleanNumericNonNumeric.out
+ test/langtools/tools/javac/switchexpr/BreakTest.java
+ test/langtools/tools/javac/switchexpr/EmptySwitch.java
+ test/langtools/tools/javac/switchexpr/EmptySwitch.out
+ test/langtools/tools/javac/switchexpr/ExhaustiveEnumSwitch.java
+ test/langtools/tools/javac/switchexpr/ExhaustiveEnumSwitchExtra.java
+ test/langtools/tools/javac/switchexpr/ExpressionSwitch-old.out
+ 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/ExpressionSwitchCodeFromJLS.java
+ test/langtools/tools/javac/switchexpr/ExpressionSwitchDA.java
+ test/langtools/tools/javac/switchexpr/ExpressionSwitchFallThrough.java
+ test/langtools/tools/javac/switchexpr/ExpressionSwitchFallThrough1.java
+ test/langtools/tools/javac/switchexpr/ExpressionSwitchInExpressionSwitch.java
+ test/langtools/tools/javac/switchexpr/ExpressionSwitchInfer.java
+ test/langtools/tools/javac/switchexpr/ExpressionSwitchInfer.out
+ test/langtools/tools/javac/switchexpr/ExpressionSwitchIntersectionTypes.java
+ test/langtools/tools/javac/switchexpr/ExpressionSwitchNotExhaustive.java
+ test/langtools/tools/javac/switchexpr/ExpressionSwitchNotExhaustive.out
+ test/langtools/tools/javac/switchexpr/ExpressionSwitchUnreachable.java
+ test/langtools/tools/javac/switchexpr/ExpressionSwitchUnreachable.out
+ test/langtools/tools/javac/switchexpr/ParseIncomplete.java
+ test/langtools/tools/javac/switchexpr/ParserRecovery.java
+ test/langtools/tools/javac/switchexpr/ParserRecovery.out
+ test/langtools/tools/javac/switchexpr/SwitchExpressionScopesIsolated.java
+ test/langtools/tools/javac/switchexpr/SwitchExpressionScopesIsolated.out
+ test/langtools/tools/javac/switchexpr/SwitchExpressionSimpleVisitorTest.java
+ test/langtools/tools/javac/switchextra/CaseTest.java
+ test/langtools/tools/javac/switchextra/MultipleLabelsExpression-old.out
+ test/langtools/tools/javac/switchextra/MultipleLabelsExpression.java
+ test/langtools/tools/javac/switchextra/MultipleLabelsStatement-old.out
+ test/langtools/tools/javac/switchextra/MultipleLabelsStatement.java
+ test/langtools/tools/javac/switchextra/RuleParsingTest.java
+ test/langtools/tools/javac/switchextra/SwitchArrowBrokenConstant.java
+ test/langtools/tools/javac/switchextra/SwitchArrowBrokenConstant.out
+ test/langtools/tools/javac/switchextra/SwitchNoExtraTypes.java
+ test/langtools/tools/javac/switchextra/SwitchNoExtraTypes.out
+ test/langtools/tools/javac/switchextra/SwitchObject.java
+ test/langtools/tools/javac/switchextra/SwitchObject.out
+ test/langtools/tools/javac/switchextra/SwitchStatementArrow-old.out
+ test/langtools/tools/javac/switchextra/SwitchStatementArrow.java
+ test/langtools/tools/javac/switchextra/SwitchStatementBroken.java
+ test/langtools/tools/javac/switchextra/SwitchStatementBroken.out
+ test/langtools/tools/javac/switchextra/SwitchStatementBroken2.java
+ test/langtools/tools/javac/switchextra/SwitchStatementBroken2.out
+ test/langtools/tools/javac/switchextra/SwitchStatementScopesIsolated.java
+ test/langtools/tools/javac/switchextra/SwitchStatementScopesIsolated.out
+ test/langtools/tools/javac/switchnull/SwitchNullDisabled.java
+ test/langtools/tools/javac/switchnull/SwitchNullDisabled.out
! test/langtools/tools/javac/tree/SourceTreeScannerTest.java
! test/langtools/tools/javac/tree/TreePosTest.java
More information about the jdk-sandbox-changes
mailing list