Commit Graph

64 Commits

Author SHA1 Message Date
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