Commit Graph

98 Commits

Author SHA1 Message Date
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
Srikanth Adayapalam
05ca3218d9 8234729: Javac should eagerly change code generation for method references to avert IllegalAccessError in future
Reviewed-by: mcimadamore
2019-11-26 11:13:53 +05:30
Jan Lahoda
29852ecd80 8232684: Make switch expressions final
Reviewed-by: alanb, mcimadamore, kvn
2019-11-12 06:32:13 +00:00
Vojin Jovanovic
29f2d74173 8232806: Introduce a system property to disable eager lambda initialization
Reviewed-by: briangoetz, mr, psandoz, forax
2019-10-28 15:03:36 +01:00
Jan Lahoda
b34b2d993c 8223305: Compiler support for Switch Expressions
Reviewed-by: mcimadamore, vromero
2019-06-10 05:09:52 +02:00
Vicente Romero
23278fea38 8215470: Bad EnclosingMethod attribute on classes declared in lambdas
Reviewed-by: mcimadamore
2019-05-14 11:28:44 -04:00
Maurizio Cimadamore
7b7f9a6fd3 8222289: Overhaul logic for reading/writing constant pool entries
Rewrite of Pool,ClassReader,ClassWriter to use shared pool helper components

Reviewed-by: vromero
2019-04-17 15:37:20 +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
Harold Seigel
dd7e50dc01 8214719: Deprecate -Xverify:none option
Deprecate -Xverify:none and -noverify and remove them from tests

Reviewed-by: dholmes, mikael
2019-02-20 13:21:36 -05: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
Vicente Romero
a4d8574130 8213703: LambdaConversionException: Invalid receiver type not a subtype of implementation type interface
Reviewed-by: mcimadamore
2018-12-05 09:34:01 -05:00
Liam Miller-Cushon
4a235517f9 8213908: AssertionError in DeferredAttr at setOverloadKind
Reviewed-by: mcimadamore
2018-11-19 09:57:41 -08:00
Jonathan Gibbons
73fa99ae86 8213263: fix legal headers in test/langtools
Reviewed-by: darcy
2018-11-01 14:32:55 -07:00
Vicente Romero
1ed6b88a99 8209407: VerifyError is thrown for inner class with lambda
Reviewed-by: mcimadamore
2018-10-08 06:52:41 -07:00
Vicente Romero
2589e9733e 8211148: var in implicit lambdas shouldn't be accepted for source < 11
Reviewed-by: mcimadamore
2018-10-04 08:37:08 -07:00
Jan Lahoda
17c3d1c333 8211102: Crash with -XDfind=lambda and -source 7
Disabling analyzers that cannot run in the given source level; lambdas in standalone positions should have erroneous type rather than the recovery type; avoiding crash in Flow for broken code.

Reviewed-by: mcimadamore
2018-09-27 10:24:12 +02:00
Liam Miller-Cushon
7afa8e42b6 8210483: AssertionError in DeferredAttr at setOverloadKind caused by JDK-8203679
Reviewed-by: mcimadamore, vromero
2018-09-10 16:59:41 -07:00
Maurizio Cimadamore
c0d51dc514 8210495: compiler crashes because of illegal signature in otherwise legal code
Disable strict verification of compiler signatures when they do not affect generated bytecode

Reviewed-by: vromero
2018-09-07 15:56:21 +01: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
Joe Darcy
90518f0635 8028563: Remove javac support for 6/1.6 source and target values
Reviewed-by: jjg, erikj, henryjen
2018-07-12 14:13:15 -07:00
Jan Lahoda
eaf0364068 8205418: Assorted improvements to source code model
Improving tree positions, better error recovery, fixing Trees.getScope for possibly erroneous lambdas.

Reviewed-by: jjg, mcimadamore, vromero
2018-06-29 10:41:10 +02:00
Bernard Blaser
07012c9753 8203338: Unboxing in return from lambda miscompiled to throw ClassCastException
Reviewed-by: mcimadamore, vromero
2018-06-20 10:01:49 -07:00
Liam Miller-Cushon
669c2f3951 8203679: AssertionError in DeferredAttr with parenthesized method reference
Reviewed-by: mcimadamore
2018-06-11 14:06:50 -07:00
Vicente Romero
3b13b81625 8202597: javac is not inducing a notional interface if Object appears in an intersection type
Reviewed-by: mcimadamore
2018-05-08 17:12:54 -07:00
Bernard Blaser
7dc011ccca 8202372: Diagnostic with incorrect line info generated when compiling lambda expression
Add tree position to speculative lambda tree

Reviewed-by: vromero, jlahoda
2018-05-02 15:29:55 +01:00
Bernard Blaser
fa434f6934 8202141: Unique symbols for .class
Reviewed-by: vromero, jlahoda
2018-04-25 09:45:45 -07:00
Vicente Romero
f69402ef44 8201281: Truncated error message with Incompatible : null
Reviewed-by: mcimadamore
2018-04-24 08:13:30 -07:00
Bernard Blaser
9c570aaf85 8201440: javac should create unique DynamicMethodSymbols at LambdaToMethod
Reviewed-by: mcimadamore
2018-04-11 14:52:32 -04:00
Vicente Romero
92ec4c52a8 8199744: Incorrect compiler message for ReceiverParameter in inner class constructor
Reviewed-by: mcimadamore
2018-04-06 09:15:09 -04:00
Liam Miller-Cushon
5acbe5ff92 8201194: Handle local variable declarations in lambda deduplication
Reviewed-by: vromero
2018-04-05 14:39:04 -07:00
Vicente Romero
6a2e0a5a01 8198314: javac hidden options violate standard syntax for options
Reviewed-by: jjg
2018-04-03 23:58:52 -04:00
Liam Miller-Cushon
debaf13f38 8200301: deduplicate lambda methods
Reviewed-by: vromero, mcimadamore
2018-03-27 13:48:16 -04:00
Vicente Romero
25da45e26f 8198512: compiler support for local-variable syntax for lambda parameters
Reviewed-by: mcimadamore
2018-02-22 15:49:32 -05:00
Vicente Romero
4b6ab35c85 8198479: JDK build is broken by 8194892
Reviewed-by: sundar
2018-02-21 00:29:04 -05:00
Vicente Romero
2591c21c01 8194892: add compiler support for local-variable syntax for lambda parameters
Reviewed-by: mcimadamore
2018-02-20 11:45:16 -05:00
Paul Sandoz
e55a05957d 8186209: Tool support for ConstantDynamic
8186046: Minimal ConstantDynamic support
8190972: Ensure that AOT/Graal filters out class files containing CONSTANT_Dynamic ahead of full AOT support

Co-authored-by: Lois Foltan <lois.foltan@oracle.com>
Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: acorn, coleenp, kvn
2017-09-08 10:46:46 -07:00
Maurizio Cimadamore
60764aee2a 8195598: Reference to overloaded method is ambiguous with 3 methods but works with 2
Pertinent to applicability bit set on argument expression even if only one method is not pertinent

Reviewed-by: vromero
2018-01-18 11:46:33 +00:00
Maurizio Cimadamore
ede41aa311 8057650: uniform error diagnostics for inconsistent inherited method signatures
Consolidate diagnostics for bad overrides

Reviewed-by: vromero
2017-12-20 15:33:31 +00:00
Srikanth Adayapalam
18e476899c 8182401: Verification error for enclosing instance capture inside super constructor invocation
Reviewed-by: vromero
2017-12-11 06:58:14 +05:30
Maurizio Cimadamore
686d74f11e 8189749: Devise strategy for making source level checks more uniform
Create a 'feature' enum which is responsible for handling source version checks and related diagnostic generation

Reviewed-by: jjg, jlahoda
2017-12-04 17:54:49 +00:00
Srikanth Adayapalam
14e7d88c9e 8191655: LambdaConversionException: Invalid receiver type interface; not a subtype of implementation type interface
Reviewed-by: mcimadamore
2017-11-22 18:07:53 +05:30
Jan Lahoda
f66b1c7a8b 8186694: JShell: speed-up compilation by reusing compiler instances
Generalizing ReusableContext and using it in JShell to speed up processing.

Reviewed-by: mcimadamore, rfield
2017-09-01 14:04:20 +02:00
Srikanth Adayapalam
b9d8d3bd9c 8184989: Incorrect class file created when passing lambda in inner class constructor and outer is subclass
Reviewed-by: mcimadamore
2017-10-16 14:30:37 +05:30
Maurizio Cimadamore
9f2615c4de 8172443: Change use of tree.pos to line:col in rawDiagnostics
Generate more stable raw diagnostic position for functional expression AST diag arguments

Reviewed-by: jjg, vromero
2017-10-05 18:29:47 +01:00
Bernard Blaser
2115af4897 8063054: Incorrect raw type warning for method reference
Spurious raw types warnings generated for unbound method references

Reviewed-by: jlahoda
2017-10-05 12:19:23 +01:00
Bernard Blaser
47e2972a64 8187978: javac can show overload error messages that include non-valid candidates
Reviewed-by: mcimadamore
2017-10-02 10:04:22 -07:00
Maurizio Cimadamore
870b0834fe 8188144: regression in method reference type-checking
Method reference checking prefers unbound lookup when both searches produce same results

Reviewed-by: vromero
2017-10-02 12:29:44 +01:00
Erik Joelsson
3789983e89 8187443: Forest Consolidation: Move files to unified layout
Reviewed-by: darcy, ihse
2017-09-12 19:03:39 +02:00