Jan Lahoda
2aec910ea4
8304883: Record Deconstruction causes bytecode error
...
Reviewed-by: vromero
2023-04-05 10:29:22 +00:00
Jan Lahoda
138cdc9283
8304694: Runtime exception thrown when break stmt is missing
...
Reviewed-by: vromero
2023-03-27 15:01:45 +00:00
Jan Lahoda
dc55a7fc87
8302202: Incorrect desugaring of null-allowed nested patterns
...
Reviewed-by: vromero
2023-02-17 12:55:47 +00:00
Aggelos Biboudis
3b05a94c36
8301858: Verification error when compiling switch with record patterns
...
Reviewed-by: vromero
2023-02-09 16:03:34 +00:00
Archie L. Cobbs
8c01b6e66b
8221580: Confusing diagnostic for assigning a static final field in a constructor
...
Reviewed-by: vromero
2023-02-06 18:22:22 +00:00
Jesper Wilhelmsson
fc9f8baf56
Merge
2023-01-18 23:29:12 +00:00
Jan Lahoda
c1b4212a53
8300195: Fall-through issue occurs when using record pattern in switch statements
...
Reviewed-by: vromero
2023-01-18 10:43:53 +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
Jan Lahoda
cf63f2e3ea
8298184: Incorrect record component type in record patterns
...
Reviewed-by: vromero
2022-12-07 12:03:50 +00:00
Jan Lahoda
2300ed458d
8291769: Translation of switch with record patterns could be improved
...
Reviewed-by: vromero
2022-12-05 12:04:23 +00:00
Aggelos Biboudis
2cb64a7557
8294943: Implement record patterns in enhanced for
...
8296802: Parse errors when deconstructing a record using the enhanced for loop of JEP 432
Co-authored-by: Jan Lahoda <jlahoda@openjdk.org>
Co-authored-by: Aggelos Biboudis <abimpoudis@openjdk.org>
Co-authored-by: Maurizio Cimadamore <mcimadamore@openjdk.org>
Reviewed-by: mcimadamore, vromero
2022-12-01 12:40:09 +00:00
Jan Lahoda
b60cce6f3b
8297118: Change IncompatibleClassChangeError to MatchException for exhaustive switch statements and switch expressions
...
Reviewed-by: vromero
2022-12-01 10:51:57 +00:00
Jan Lahoda
756dd5bb0d
8294942: Compiler implementation for Record Patterns (Second Preview)
...
8294945: Compiler implementation for Pattern Matching for switch (Fourth Preview)
Co-authored-by: Aggelos Biboudis <abimpoudis@openjdk.org>
Co-authored-by: Maurizio Cimadamore <mcimadamore@openjdk.org>
Reviewed-by: mcimadamore, vromero
2022-12-01 08:02:40 +00:00
Joe Darcy
e2269fd2ca
8296968: Update langtools tests to use @enablePreview
...
Reviewed-by: sundar, jjg
2022-11-17 00:49:53 +00:00
Jan Lahoda
7bc9692a51
8294670: Enhanced switch statements have an implicit default which does not complete normally
...
Reviewed-by: vromero
2022-10-20 15:21:26 +00:00
Jan Lahoda
0be2b2c2f1
8292756: java.lang.AssertionError at at jdk.compiler/com.sun.tools.javac.code.Scope$ScopeImpl.leave(Scope.java:386)
...
Reviewed-by: vromero
2022-09-22 14:33:07 +00:00
Aggelos Biboudis
1169a15936
8291657: Javac assertion when compiling a method call with switch expression as argument
...
Reviewed-by: jlahoda
2022-09-14 06:48:01 +00:00
Aggelos Biboudis
9444a081cc
8290709: Incorrect dominance error for unconditional pattern vs. null
...
Reviewed-by: jlahoda
2022-09-01 16:09:03 +00:00
Joe Darcy
cc2861a993
8290901: Reduce use of -source in langtools tests
...
Reviewed-by: jjg
2022-07-29 17:35:22 +00:00
Jesper Wilhelmsson
c79baaa811
Merge
2022-07-11 16:15:49 +00:00
Aggelos Biboudis
bba6be79e0
8269674: Improve testing of parenthesized patterns
...
Reviewed-by: jlahoda
2022-07-11 11:13:55 +00:00
Jan Lahoda
25f4b04365
8289894: A NullPointerException thrown from guard expression
...
Reviewed-by: vromero
2022-07-11 08:59:32 +00:00
Jan Lahoda
8dd94a2c14
8289196: Pattern domination not working properly for record patterns
...
Reviewed-by: vromero
2022-07-07 07:54:18 +00:00
Jan Lahoda
bdf9902f75
8288120: VerifyError with JEP 405 pattern match
...
Reviewed-by: vromero
2022-06-24 08:13:28 +00:00
Jan Lahoda
2f62f15b09
8287808: javac generates illegal class file for pattern matching switch with records
...
Reviewed-by: sundar
2022-06-07 13:41:24 +00:00
Jan Lahoda
bde7a7ae03
8287236: Reorganize AST related to pattern matching for switch
...
Reviewed-by: mcimadamore
2022-06-07 10:31:09 +00:00
Jan Lahoda
e9bddc18ab
8262889: Compiler implementation for Record Patterns
...
Co-authored-by: Brian Goetz <briangoetz@openjdk.org>
Co-authored-by: Jan Lahoda <jlahoda@openjdk.org>
Co-authored-by: Aggelos Biboudis <abimpoudis@openjdk.org>
Reviewed-by: mcimadamore, vromero
2022-05-25 11:56:24 +00:00
Aggelos Biboudis
fd36f3730e
8286797: Guards of constant value false are not permitted
...
Reviewed-by: vromero
2022-05-19 16:11:24 +00:00
Jan Lahoda
0155e4b76b
8282274: Compiler implementation for Pattern Matching for switch (Third Preview)
...
Co-authored-by: Brian Goetz <briangoetz@openjdk.org>
Co-authored-by: Jan Lahoda <jlahoda@openjdk.org>
Reviewed-by: mcimadamore, vromero, abimpoudis
2022-05-16 07:49:26 +00:00
Joe Darcy
4032fe76dc
8281238: TYPE_USE annotations not printed in correct position in toString output
...
Reviewed-by: vromero
2022-02-11 21:52:16 +00:00
Jan Lahoda
4ff5824f5b
8281100: Spurious "variable might not have been initialized" with sealed class switch
...
Reviewed-by: vromero
2022-02-11 12:11:29 +00:00
Jan Lahoda
be0538d7c8
8278834: Error "Cannot read field "sym" because "this.lvar[od]" is null" when compiling
...
Reviewed-by: vromero
2022-01-19 19:03:02 +00:00
Jan Lahoda
ab781874b2
8277105: Inconsistent handling of missing permitted subclasses
...
Reviewed-by: vromero
2021-12-06 15:43:42 +00:00
Jan Lahoda
194cdf4e28
8277864: Compilation error thrown while doing a boxing conversion on selector expression
...
Reviewed-by: jlaskey, vromero
2021-12-06 08:42:26 +00:00
Jan Lahoda
d085c2b8a7
8273328: Compiler implementation for Pattern Matching for switch (Second Preview)
...
Reviewed-by: vromero, mcimadamore
2021-11-24 10:07:49 +00:00
Jan Lahoda
0c2d00bff7
8275097: Wrong span of the 'default' tag
...
Reviewed-by: vromero
2021-11-08 13:21:40 +00:00
Jan Lahoda
292d7bb1d5
8274363: Transitively sealed classes not considered exhaustive in switches
...
Reviewed-by: vromero
2021-10-01 08:54:18 +00:00
Jan Lahoda
1887028408
8269113: Javac throws when compiling switch (null)
...
Co-authored-by: Guoxiong Li <gli@openjdk.org>
Reviewed-by: vromero
2021-10-01 08:53:04 +00:00
Jan Lahoda
93eec9a103
8272776: NullPointerException not reported
...
Reviewed-by: vromero
2021-09-03 09:31:54 +00:00
Joe Darcy
2f01a6f8b6
8273157: Add convenience methods to Messager
...
Reviewed-by: jjg
2021-09-01 20:28:05 +00:00
Jan Lahoda
1196b35684
8270151: IncompatibleClassChangeError on empty pattern switch statement case
...
Reviewed-by: mcimadamore
2021-07-09 11:03:40 +00:00
Jan Lahoda
885f7b1141
8269146: Missing unreported constraints on pattern and other case label combination
...
8269301: Switch statement with a pattern, constant and default label elements crash javac
Reviewed-by: mcimadamore
2021-07-09 08:03:56 +00:00
Guoxiong Li
9e75f922b1
8269738: AssertionError when combining pattern matching and function closure
...
Reviewed-by: jlahoda, vromero
2021-07-08 14:15:07 +00:00
Jan Lahoda
fa08cc62df
8268766: Desugaring of pattern matching enum switch should be improved
...
Reviewed-by: mcimadamore, psandoz
2021-07-08 11:56:53 +00:00
Jan Lahoda
4f70759175
8270006: Switches with 'case null:' should be exhaustive
...
Reviewed-by: vromero
2021-07-08 08:03:09 +00:00
Jan Lahoda
820f2900d8
8268859: jshell throws exception while parsing illegal "case true"
...
Reviewed-by: mcimadamore
2021-07-07 07:26:41 +00:00
Jan Lahoda
815e4af35d
8269802: javac fails to compile nested pattern matching switches
...
8269808: javac generates class with invalid stack map
Reviewed-by: mcimadamore
2021-07-07 06:24:58 +00:00
Jan Lahoda
a8385feb30
8269354: javac crashes when processing parenthesized pattern in instanceof
...
Reviewed-by: vromero
2021-07-01 10:10:03 +00:00
Jan Lahoda
4ee400ae43
8268320: Better error recovery for broken patterns in switch
...
Reviewed-by: vromero
2021-06-30 09:47:22 +00:00
Jan Lahoda
c3c918928c
8269141: Switch statement containing pattern case label element gets in the loop during execution
...
Reviewed-by: vromero
2021-06-30 08:45:12 +00:00
Jan Lahoda
4eb321298a
8268871: Adjust javac to updated exhaustiveness specification
...
Reviewed-by: vromero
2021-06-25 09:52:06 +00:00
Guoxiong Li
7ab12856c4
8267610: NPE at at jdk.compiler/com.sun.tools.javac.jvm.Code.emitop
...
8268748: Javac generates uncorrect bytecodes when using nested pattern variables
Reviewed-by: jlahoda, vromero
2021-06-24 23:07:43 +00:00
Jan Lahoda
bf70620745
8268961: Parenthesized pattern with guards does not work
...
8268896: Parenthesized pattern is not guarded by source level check
Reviewed-by: vromero
2021-06-23 10:16:42 +00:00
Jan Lahoda
35d867df1f
8268663: Crash when guards contain boolean expression
...
Reviewed-by: vromero
2021-06-15 09:04:35 +00:00
Jan Lahoda
abe20c188c
8268333: javac crashes when pattern matching switch contains default case which is not last
...
Reviewed-by: vromero
2021-06-14 14:25:32 +00:00
Jan Lahoda
908aca29ca
8262891: Compiler implementation for Pattern Matching for switch (Preview)
...
Co-authored-by: Brian Goetz <briangoetz@openjdk.org>
Co-authored-by: Mandy Chung <mchung@openjdk.org>
Co-authored-by: Jan Lahoda <jlahoda@openjdk.org>
Reviewed-by: mcimadamore, forax, godin, psandoz, mchung
2021-06-07 07:01:30 +00:00
Jan Lahoda
fdfa1dda08
8264306: Non deterministic generation of java/lang/invoke/MemberName.class
...
Reviewed-by: shade, jfranck
2021-04-01 11:38:45 +00:00
Jan Lahoda
9cd21b687e
8263590: Rawtypes warnings should be produced for pattern matching in instanceof
...
Reviewed-by: mcimadamore
2021-03-18 12:37:20 +00:00
Jan Lahoda
d0a8f2f737
8260593: javac can skip a temporary local variable when pattern matching over a local variable
...
Reviewed-by: vromero
2021-02-08 09:36:29 +00:00
Guoxiong Li
739bbd03c5
8260566: Pattern type X is a subtype of expression type Y message is incorrect
...
Reviewed-by: jlahoda, tvaleev
2021-01-29 18:27:03 +00:00
Jan Lahoda
235488215b
8250768: javac should be adapted to changes in JEP 12
...
Reviewed-by: mcimadamore, erikj, jjg, ihse
2021-01-11 10:10:47 +00:00
Jesper Wilhelmsson
555641ede5
Merge
2021-01-07 21:17:35 +00:00
Jan Lahoda
4ffbe841fc
8256266: Binding variables don't correctly support declaration annotations and the final modifier
...
Reviewed-by: mcimadamore
2021-01-05 11:40:25 +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
Jan Lahoda
18bc95ba51
8250625: Compiler implementation of Pattern Matching for instanceof (Final)
...
Reviewed-by: vromero
2020-11-05 08:01:33 +00:00
Jan Lahoda
c98417ebca
8250840: some tests use --enable-preview unnecessarily
...
Reviewed-by: vromero
2020-09-09 07:51:43 +00:00
Jan Lahoda
2f45d46640
8237528: Inefficient compilation of Pattern Matching for instanceof
...
Avoiding unnecessary cast and comparison in type test pattern desugaring.
Reviewed-by: forax, mcimadamore
2020-01-29 10:37:22 +01:00
Jan Lahoda
a35d087f54
8236670: Conflicting bindings accepted in some cases
...
Reviewed-by: mcimadamore
2020-01-14 11:10:07 +01:00
Vicente Romero
827e5e3226
8225054: Compiler implementation for records
...
8225052: javax.lang.model support for records
8225053: Preview APIs support for records
8225055: Javadoc for records
8226314: com.sun.source support for records
8227113: Specification for java.lang.Record
8233526: JVM support for records
Implement records in the compiler and the JVM, including serialization, reflection and APIs support
Co-authored-by: Brian Goetz <brian.goetz@oracle.com>
Co-authored-by: Maurizio Cimadamore <maurizio.cimadamore@oracle.com>
Co-authored-by: Harold Seigel <harold.seigel@oracle.com>
Co-authored-by: Joe Darcy <joe.darcy@oracle.com>
Co-authored-by: Jonathan Gibbons <jonathan.gibbons@oracle.com>
Co-authored-by: Chris Hegarty <chris.hegarty@oracle.com>
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Reviewed-by: mcimadamore, briangoetz, alanb, darcy, chegar, jrose, jlahoda, coleenp, dholmes, lfoltan, mchung, sadayapalam, hannesw, sspitsyn
2019-12-04 15:57:39 -05:00
Jan Lahoda
07be23513b
8234922: No compilation error reported not reported for a binding variable when loop broken with label
...
Any break outside of a loop should confine the binding variables from the loop's condition to the loop
Reviewed-by: mcimadamore
2019-12-04 09:38:32 +01:00
Jan Lahoda
f26bdf8476
8234899: Compiler reports AssertionError for conditional operator ? : and pattern matching for instanceof
...
Reviewed-by: mcimadamore
2019-12-04 09:38:31 +01:00
Jan Lahoda
229e0d1631
8231826: Implement javac changes for pattern matching for instanceof
...
Co-authored-by: Brian Goetz <brian.goetz@oracle.com>
Co-authored-by: Gavin Bierman <gavin.bierman@oracle.com>
Co-authored-by: Maurizio Cimadamore <maurizio.cimadamore@oracle.com>
Co-authored-by: Srikanth Adayapalam <srikanth.adayapalam@oracle.com>
Co-authored-by: Vicente Romero <vicente.romero@oracle.com>
Reviewed-by: mcimadamore
2019-11-27 09:00:01 +01:00