248 Commits

Author SHA1 Message Date
Maurizio Cimadamore
47f7c2e668 8168134: Inference: javac incorrectly propagating inner constraint with primitive target
Check for propagation doesn't take into account primitive type constraints

Reviewed-by: vromero
2016-10-26 12:27:51 +01:00
Maurizio Cimadamore
80ce1c8be2 8167000: Refine handling of multiple maximally specific abstract methods
Bring the compiler in sync with spec changes in JDK-7034913

Reviewed-by: vromero, dlsmith
2016-10-17 15:02:46 +01:00
Srikanth Adayapalam
517cfed246 8166363: Method with reordered type parameter bounds compiles with @Override annotation but does not actually override superclass method
Reviewed-by: vromero
2016-09-28 09:05:20 +05:30
Vicente Romero
29aa24a3c1 8162546: change hidden options -Xdebug to --debug, -XshouldStop to --should-stop, and -diags to --diags
Reviewed-by: mcimadamore
2016-09-06 17:04:43 -07:00
Maurizio Cimadamore
2c2d5c4917 8164399: inference of thrown variable does not work correctly
Logic for inferring thrown variables should exclude non proper bounds as per JLS 18.1

Reviewed-by: vromero, dlsmith
2016-08-25 11:51:19 +01:00
Jan Lahoda
d103a19b3a 8078561: Error message should be generated once when -source 6 is specified
Code to avoid duplicated errors about features not supported in the current source level moved to Log

Reviewed-by: jjg
2016-08-16 16:43:00 +02:00
Vicente Romero
bec16625dc 8153407: javac, fold debug options
Reviewed-by: mcimadamore, jjg
2016-07-08 16:47:13 -07:00
Maurizio Cimadamore
62648293e7 8159680: Inference failure with unchecked subtyping and arrays
Discrepancy in handling of capture conversion between Types.isSubtype and Types.isSubtypeUnchecked

Reviewed-by: vromero
2016-06-17 18:17:16 +01:00
Maurizio Cimadamore
17c048ae32 8158355: Inference graph dot support broken
IllegalStateException when converting an inference graph to dot file

Reviewed-by: vromero
2016-06-02 16:08:24 +01:00
Maurizio Cimadamore
414c739476 8157149: Inference: weird propagation of thrown inference variables
Overhaul of treatment of thrown inference variables

Reviewed-by: vromero
2016-05-23 15:07:10 +01:00
Maurizio Cimadamore
cc3cb0640f 8156954: javac incorrectly complains of incompatible types
Add heuristics to pick best stuck constraint as per JLS 18.5.2

Reviewed-by: vromero
2016-05-17 17:53:18 +01:00
Jonathan Gibbons
8f62cdc8a0 8154504: javac tests fail after JDK API is deprecated
Reviewed-by: darcy
2016-04-18 18:41:38 -07:00
Maurizio Cimadamore
945406686e 8152832: Type inference regression in javac
Stale incoropration actions caused missing inference bounds

Reviewed-by: vromero
2016-04-08 10:52:26 +01:00
Maurizio Cimadamore
fd0031d702 8152411: Regression: inference fails to reject incompatible upper bounds
Wrong undet variable comparison in propagation optimization

Reviewed-by: vromero
2016-03-23 16:59:02 +00:00
Alan Bateman
001ebb3a72 8142968: Module System implementation
Initial integration of JEP 200, JEP 260, JEP 261, and JEP 282

Co-authored-by: Alex Buckley <alex.buckley@oracle.com>
Co-authored-by: Jonathan Gibbons <jonathan.gibbons@oracle.com>
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Co-authored-by: Mandy Chung <mandy.chung@oracle.com>
Co-authored-by: Mark Reinhold <mark.reinhold@oracle.com>
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Co-authored-by: Vicente Romero <vicente.romero@oracle.com>
Co-authored-by: Andreas Lundblad <andreas.lundblad@oracle.com>
Co-authored-by: Andrey Nazarov <andrey.x.nazarov@oracle.com>
Co-authored-by: Chris Hegarty <chris.hegarty@oracle.com>
Co-authored-by: Erik Joelsson <erik.joelsson@oracle.com>
Co-authored-by: Kumar Srinivasan <kumar.x.srinivasan@oracle.com>
Co-authored-by: Sundararajan Athijegannathan <sundararajan.athijegannathan@oracle.com>
Reviewed-by: jjg, jlahoda, vromero, mcimadamore, bpatel, ksrini, darcy, anazarov, dfuchs
2016-03-17 19:04:28 +00:00
Srikanth Adayapalam
3a3ef10033 8148930: Incorrect erasure of exceptions in override-equivalent dual interface impl
Before computing intersection of thrown types, javac must make sure type variables come from the same set.

Reviewed-by: mcimadamore
2016-03-07 18:49:02 +05:30
Srikanth Adayapalam
460020d183 8151134: Fix bug id in test for JDK-8151018
Reviewed-by: jlahoda
2016-03-03 15:07:29 +05:30
Srikanth Adayapalam
433d2a7dbb 8151018: javac should emit a clearer diagnostic when a <> inferred anonymous type's non-private methods don't override super's
Reviewed-by: mcimadamore
2016-03-03 06:10:58 +05:30
Maurizio Cimadamore
8aa9bf5cc6 8148213: Regression: nested unchecked call does not trigger erasure of return type
FreeTypeListener was deferred too much and caused loss of unchecked warning while in the middle of overload

Reviewed-by: vromero
2016-01-28 14:06:27 +00:00
Maurizio Cimadamore
9dcc8b2068 8147493: regression when type-checking unchecked method calls
Shared warner in Attr.checkMethod leads to spurious inference errors

Reviewed-by: vromero
2016-01-20 10:50:28 +00:00
Dan Smith
c5a1a9a3e0 7190296: Test for type containment during bounds checking
Reviewed-by: mcimadamore
2015-12-17 15:46:37 -07:00
Vassili Igouchkine
9c33078299 8145342: Some copyright notices are inconsistently and ill formatted
Adjusted formatting of copyright notices.

Reviewed-by: darcy, alundblad
2015-12-14 20:18:19 +01:00
Srikanth Adayapalam
3b399ff099 8078660: Misleading recommendation from diamond finder
Javac should recommend diamond usage if that could lead to a change in program behavior.

Reviewed-by: mcimadamore
2015-11-26 17:38:15 +05:30
Maurizio Cimadamore
875bccb11e 8067767: type inference performance regression
Overhaul implememntation of inference incorporation

Reviewed-by: vromero
2015-11-19 16:43:11 +00:00
Srikanth Adayapalam
b79126e437 8073616: Duplicate error message: cannot inherit from final (class) F
Ensure that the compiler does not emit duplicate errors at slightly different source positions.

Reviewed-by: mcimadamore
2015-11-13 18:09:36 +05:30
Maurizio Cimadamore
e0f654819b 8141613: Compiler fails to infer generic type
Repeated capture of same expression leads to erroneous inference constraints

Reviewed-by: vromero
2015-11-10 11:49:14 +00:00
Srikanth Adayapalam
9c310602ec 8075799: Extraneous access checks implemented by javac
Allow anonymous class constructors to refer to inaccessible types.

Reviewed-by: mcimadamore
2015-10-07 19:35:43 +05:30
Srikanth Adayapalam
ea13770069 8133135: Compiler internall error (NPE) on anonymous class defined by qualified instance creation expression with diamond
Reviewed-by: mcimadamore
2015-10-05 15:41:29 +05:30
Srikanth Adayapalam
0ea96ddfe4 8132535: Compiler fails with diamond anonymous class creation with intersection bound of enclosing class
Reviewed-by: mcimadamore
2015-10-01 19:47:06 +05:30
Maurizio Cimadamore
981c6dc298 8078093: Severe compiler performance regression Java 7 to 8 for nested method invocations
Add infrastructure to avoid combinatorial explosion of method argument attributions

Reviewed-by: jlahoda, vromero, dlsmith
2015-09-15 13:43:44 +01:00
Maurizio Cimadamore
379f2540aa 8077306: Recursive implementation of List.map leads to stack overflow
Recusrive implementation of List.map uses too much stack; switch to iterative version.

Reviewed-by: jlahoda
2015-09-14 11:26:14 +01:00
Maurizio Cimadamore
2f46e61a83 8129962: Investigate performance improvements in langtools combo tests
New combo API that runs all combo instances in a shared javac context (whenever possible).

Reviewed-by: jjg, jlahoda, vromero
2015-08-31 17:33:34 +01:00
Andreas Lundblad
8d0ebb66bd 8133671: langtools tests have bad license
Dropped classpath exception from copyright notice in tests.

Reviewed-by: jjg
2015-08-26 09:02:02 +02:00
Maurizio Cimadamore
787325090c 8129214: Access error when unboxing a primitive whose target is a type-variable in a different package
Missing erasure when unboxing type in Lower

Reviewed-by: jlahoda
2015-07-30 13:21:01 +01:00
Maurizio Cimadamore
4ae1cb2cd6 8130304: Inference: NodeNotFoundException thrown with deep generic method call chain
Bug in Tarjan implementation is generating node ids which can overflow 32 bits

Reviewed-by: vromero
2015-07-17 12:46:07 +01:00
Liam Miller-Cushon
7d78c183c4 8130803: add regression test related to fix for JDK-8078024
Reviewed-by: mcimadamore
2015-07-09 11:06:48 -07:00
Sonali Goel
08aea23120 8080826: Group 15: golden files for tests in tools/javac/generics/type* dirs
Reviewed-by: jjg
2015-06-17 13:20:33 -07:00
Srikanth Adayapalam
7dd4ada04b 8081521: Compiler has trouble compiling nested diamond allocation constructs involving anonymous classes
Reviewed-by: mcimadamore
2015-06-05 18:43:11 +05:30
Mandy Chung
ab120497cf 8074432: Move jdeps and javap to jdk.jdeps module
Reviewed-by: jjg, alanb, erikj
2015-05-27 13:25:18 -07:00
Alexander Kulyakhtin
b6262441ad 8076543: Add @modules as needed to the langtools tests
Reviewed-by: jjg, shurailine
2015-05-21 11:41:04 -07:00
Jan Lahoda
9264fe218f 8080572: langtools/test/tools/javac/generics/T5011073.java failing
Test/tools/javac/generics/InterfaceCast1.java defines a top-level Set, moving it to a separate directory to avoid clashes.

Reviewed-by: mcimadamore
2015-05-18 14:48:41 +02:00
Sonali Goel
945f55124f 8075166: Group 14d: golden files for tests in tools/javac/generics/wildcards dir
Reviewed-by: jjg
2015-05-15 18:03:51 -07:00
Sonali Goel
4676493261 8080539: Remove few test files that did not get removed with the patch
Reviewed-by: jjg
2015-05-15 17:47:03 -07:00
Sonali Goel
e16a945d3c 8074514: Group 13d: golden files for tests in tools/javac/generics dir
Reviewed-by: jjg
2015-05-15 17:43:21 -07:00
Sonali Goel
8f711841fa 8075165: Group 14c: golden files for tests in tools/javac/generics/wildcards dir
Reviewed-by: jjg, vromero
2015-05-15 17:12:58 -07:00
Sonali Goel
395f1173a9 8075164: Group 14b: golden files for tests in tools/javac/generics/wildcards dir
Reviewed-by: jjg, vromero
2015-05-15 16:59:34 -07:00
Sonali Goel
f6428eb2bb 8074425: Group 13b: golden files for tests in tools/javac/generics dir
Reviewed-by: jjg, darcy, mcimadamore
2015-05-15 16:53:42 -07:00
Sonali Goel
1ebb022e1c 8075163: Group 14a: golden files for tests in tools/javac/generics/wildcards dir
Reviewed-by: jjg, vromero
2015-05-15 16:18:16 -07:00
Sonali Goel
491703889c 8074417: Group 13a: golden files for tests in tools/javac/generics dir
Reviewed-by: jjg, mcimadamore
2015-05-15 09:53:08 -07:00
Sonali Goel
11d7b1e161 8074502: Group 13c: golden files for tests in tools/javac/generics dir
Reviewed-by: jjg, mcimadamore
2015-05-15 09:30:55 -07:00