Commit Graph

41 Commits

Author SHA1 Message Date
Evemose
f3b69da55a 8335136: Underscore as parameter name in one-parameter functional types fails to compile
Reviewed-by: jlahoda
2024-06-27 07:45:18 +00:00
Jan Lahoda
ce8399fd60 8321582: yield <primitive-type>.class not parsed correctly.
Reviewed-by: vromero
2023-12-11 12:20:22 +00:00
Jan Lahoda
726c9c977d 8315735: VerifyError when switch statement used with synchronized block
Reviewed-by: vromero
2023-09-07 11:08:55 +00:00
Jan Lahoda
eaa80ad08c 8300543: Compiler Implementation for Pattern Matching for switch
8300545: Compiler Implementation for Record Patterns

Co-authored-by: Aggelos Biboudis <abimpoudis@openjdk.org>
Reviewed-by: vromero, mcimadamore
2023-05-22 04:24:06 +00:00
Archie L. Cobbs
55e6bb6b85 8302685: Some javac unit tests aren't reliably closing open files
Reviewed-by: darcy, vromero
2023-02-27 16:21:57 +00:00
Archie L. Cobbs
382fe51b6d 8163229: several regression tests have a main method that is never executed
Reviewed-by: vromero
2023-01-17 04:43:40 +00:00
Joe Darcy
cc2861a993 8290901: Reduce use of -source in langtools tests
Reviewed-by: jjg
2022-07-29 17:35:22 +00:00
Jan Lahoda
7ef6993576 8276836: Error in javac caused by switch expression without result expressions: Internal error: stack sim error
Reviewed-by: vromero
2022-05-31 11:04:50 +00:00
Jan Lahoda
b870468bdc 8274347: Passing a *nested* switch expression as a parameter causes an NPE during compile
Reviewed-by: vromero
2021-10-11 12:38:08 +00:00
Guoxiong Li
bca914b29e 8268670: yield statements doesn't allow ~ or ! unary operators in expression
Reviewed-by: vromero, jlahoda
2021-06-14 19:02:23 +00:00
Jan Lahoda
ec8a8097c3 8267119: switch expressions lack support for deferred type-checking
Reviewed-by: mcimadamore
2021-05-21 14:09:42 +00:00
Guoxiong Li
17ceef97c3 8266819: Separate the stop policies from the compile policies completely
Reviewed-by: mcimadamore
2021-05-13 10:22:13 +00:00
Guoxiong Li
8435f0daf2 8258525: Some existing tests should use /nodynamiccopyright/ instead of the standard header
Reviewed-by: jjg
2020-12-30 17:20:54 +00:00
Vicente Romero
23b83c518d 8253954: javac crash when compiling code with enhanced switch expressions with option -Xjcov
Reviewed-by: jjg
2020-12-24 01:24:32 +00:00
Jan Lahoda
0e9205315e 8254286: Wrong inference in switch expression with "null" arm
Reviewed-by: mcimadamore, vromero
2020-10-23 09:47:29 +00:00
Jan Lahoda
4e55421171 8243548: Javac incorrectly collects enum fields when verifying switch expression exhaustivness
When gathering enum constants for exhaustivness analysis, make sure nested enum classes are not included

Reviewed-by: vromero
2020-05-04 12:28:36 +02:00
Jan Lahoda
6ddb0f2b2c 8240964: Compilation error thrown when long literal used with yield
Ensuring yield followed by a long literal is recognized as a yield statement.

Reviewed-by: mcimadamore
2020-03-16 13:06:35 +01:00
Vicente Romero
4a32eda417 8240454: incorrect error message: as of release 13, 'record' is a restricted type name
Reviewed-by: jlahoda
2020-03-05 16:46:24 -05:00
Jan Lahoda
8e2c1c68f6 8236546: Yield with boolean expression and Object target type crashes javac
The whenTrue and whenFalse sets need to be merged for non-boolean expressions.

Reviewed-by: mcimadamore
2020-01-13 10:50:31 +01:00
Jan Lahoda
29852ecd80 8232684: Make switch expressions final
Reviewed-by: alanb, mcimadamore, kvn
2019-11-12 06:32:13 +00:00
Mikael Vidstedt
e9d003926b Merge 2019-07-10 07:27:58 -07:00
Jan Lahoda
32a7e50bee 8220041: NullPointerException at jdk.compiler/com.sun.tools.javac.jvm.Code.emitop0
LambdaToMethod must correctly capture local variables inside switch expressions inside local variable initializers.

Reviewed-by: mcimadamore, vromero
2019-07-10 09:04:42 +02:00
Mikael Vidstedt
c200fc1f34 Merge 2019-07-03 07:56:41 -07:00
Jesper Wilhelmsson
37599ff955 Merge 2019-06-29 05:26:55 +02:00
Jan Lahoda
e81d3fa8c3 8226510: No compilation error when switch expression has no result expressions
Ensure a compile-time error is produced when there are no result expressions in an switch expression.

Reviewed-by: vromero
2019-06-27 10:39:27 +02:00
Jan Lahoda
1dd6e7a3eb 8226522: No compilation error reported when yield is used in incorrect context
Reviewed-by: mcimadamore
2019-07-02 09:14:51 +02:00
Jan Lahoda
d9407ce428 8220018: javac crash when compiling try-catch-finally inside switch expression
Correcting handling of finally that yields from a switch expression.

Reviewed-by: mcimadamore, jlahoda
2019-06-12 13:49:43 +02:00
Joe Darcy
4750064828 8214546: Start of release updates for JDK 14
8214547: Add SourceVersion.RELEASE_14
8214548: Add source 14 and target 14 to javac
8214549: Bump maximum recognized class file version to 58 for JDK 14

Reviewed-by: jjg, mikael, erikj, jlahoda, dholmes
2019-06-11 16:45:20 -07:00
Jan Lahoda
b34b2d993c 8223305: Compiler support for Switch Expressions
Reviewed-by: mcimadamore, vromero
2019-06-10 05:09:52 +02:00
Jan Lahoda
08193be19c 8224031: Cannot parse switch expressions after type cast
Correctly categorize parentheses followed by the switch keyword as cast.

Reviewed-by: mcimadamore
2019-05-16 16:42:14 +02:00
Jan Lahoda
b32a840e53 8222169: java.lang.AssertionError switch expression in ternary operator - ?
Ensure the stack size recoded at the begining of the let expression is the correct one.

Co-authored-by: Vicente Romero <vicente.romero@oracle.com>
Reviewed-by: vromero
2019-05-16 10:52:36 +02:00
Jan Lahoda
4969d23b89 8221413: javac does not recognize variable assigned in switch expression as DA
Fixing definite assignment in presence of implicit throws clause in switch expressions over enums.

Reviewed-by: vromero
2019-03-28 10:32:05 +01:00
Joe Darcy
bf2d27c5a4 8219254: Update explicit uses of latest source/target in langtools tests to a property
8219256: Update javac diags tests to use properties

Co-authored-by: Jonathan Gibbons <jonathan.gibbons@oracle.com>
Reviewed-by: jjg, jlahoda, darcy, iignatyev
2019-02-21 10:29:16 -08:00
Joe Darcy
b5f0eec3d8 8205626: Start of release updates for JDK 13
8205393: Add SourceVersion.RELEASE_13
8205394: Add source 13 and target 13 to javac
8205645: Bump maximum recognized class file version to 57 for JDK 13
8214825: Update preview language features for start of JDK 13

Reviewed-by: erikj, alanb, mchung, mcimadamore, dholmes, smarks, jjg
2018-12-13 19:06:11 +01:00
Jan Lahoda
655c5d7f35 8214114: Switch expressions with try-catch statements
When switch expression contains try-catch, move the stack values into locals before the executing the switch expression, and back when it is done.

Reviewed-by: mcimadamore, vromero
2018-12-11 09:10:24 +01:00
Jan Lahoda
504dfa5de0 8214529: Exception while using Anonymous class in switch expression
Clearing breakResult when creating methodEnv.

Reviewed-by: mcimadamore
2018-12-03 14:25:00 +01:00
Jan Lahoda
835c863ba8 8214031: Assertion error in value break statement with conditional operator in switch expression
Correcting handling of boolean-valued switch expressions when true/false; generating them directly rather than desugaring in Lower.

Reviewed-by: mcimadamore
2018-12-03 10:37:36 +01:00
Jan Lahoda
06b1502892 8214113: Switch expressions may have constant type and may be skipped during write
Switch expressions should not be compile-time constants.

Reviewed-by: mcimadamore
2018-11-26 09:24:08 +01:00
Jan Lahoda
60b32f222f 8212982: Rule cases in switch expression accepted even if complete normally
Ensure an error is reported if switch expression does not correctly produce a value.

Reviewed-by: mcimadamore
2018-11-21 15:22:57 +01:00
Jonathan Gibbons
73fa99ae86 8213263: fix legal headers in test/langtools
Reviewed-by: darcy
2018-11-01 14:32:55 -07:00
Jan Lahoda
b3b644438e 8206986: Compiler support for Switch Expressions (Preview)
8207405: Compiler Tree API support for Switch Expressions (Preview)

Support for switch expression, switch with rules and multiple constants for cases.

Reviewed-by: jjg, mcimadamore, vromero
2018-08-29 09:36:17 +02:00