Commit Graph

1701 Commits

Author SHA1 Message Date
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
Aleksey Shipilev
0a352526f3 8151516: test/tools/javac/TestIndyStringConcat depends on runtime JDK details
Reviewed-by: mcimadamore
2016-03-09 18:31:49 +03:00
Aleksey Shipilev
a0224437fc 8151223: String concatenation fails with implicit toString() on package-private class
Reviewed-by: mcimadamore, forax
2016-03-09 12:52:14 +03:00
Vicente Romero
306361b292 8139474: -release 7 -verbose causes Javac exception
Reviewed-by: jjg
2016-03-07 13:45:38 -05: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
Andreas Lundblad
c685f3567f 8061320: Sjavac should prevent using source dir as dest dir
Sjavac now makes sure that src and dst dirs do not overlap.

Reviewed-by: jlahoda
2016-03-02 13:12:24 +01:00
Andreas Lundblad
49850dd82f 8147569: Error messages from sjavac server does not always get relayed back to client
Refactored how logging works in sjavac.

Reviewed-by: jlahoda
2016-02-29 13:24:01 +01:00
Jonathan Gibbons
be76f3e83b 8150475: -sourcepath / crashes javac
Reviewed-by: darcy, vromero
2016-02-23 19:17:54 -08:00
Vicente Romero
0698afcea9 8149600: javac, remove unused options, step 2
Reviewed-by: jjg, mcimadamore
2016-02-22 16:17:25 -08:00
Aleksey Shipilev
512b3becc6 8149835: StringConcatFactory should emit classes with the same package as the host class
Reviewed-by: psandoz, alanb, mchung
2016-02-17 19:29:25 +03:00
Vicente Romero
286b0caa6c 8148808: javac, remove unused options, step 1
Reviewed-by: mcimadamore, jjg
2016-02-10 15:11:40 -08:00
Liam Miller-Cushon
1986f47320 8149160: use StringJoiner in sjavac option handling
Concatenation of strings now uses StringJoiner.

Reviewed-by: alundblad, jjg
2016-02-10 14:22:50 +01:00
Jonathan Gibbons
94a0d8f5f8 8147801: java.nio.file.ClosedFileSystemException when using Javadoc API's in JDK9
Reviewed-by: jlahoda
2016-02-09 14:07:23 -08:00
Kumar Srinivasan
cf406debb4 8035473: [javadoc] Revamp the existing Doclet APIs
8146529: Update the new Doclet API
8146427: "-nohelp" option issue
8146475: "-helpfile" option issue

Reviewed-by: alanb, bpatel, ihse, jjg, jlahoda, mchung, ogb, vromero
2015-11-28 18:52:17 -08:00
Aleksey Shipilev
fca18168e4 8148483: JEP 280: Indify String Concatenation
Co-authored-by: Remi Forax <forax@univ-mlv.fr>
Co-authored-by: Peter Levart <peter.levart@gmail.com>
Reviewed-by: psandoz, mcimadamore, igerasim, forax, plevart, vlivanov, ihse
2016-01-28 19:42:46 +03:00
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
Srikanth Adayapalam
3cd2c2d034 8148432: tools/javac/annotations/typeAnnotations/classfile/NestedLambdasCastedTest.java fails on all platforms
Reviewed-by: mcimadamore
2016-01-28 17:41:52 +05:30
Srikanth Adayapalam
a7a324e4cb 8144168: No type annotations generated for nested lambdas
Reviewed-by: jlahoda
2016-01-28 09:09:34 +05:30
Maurizio Cimadamore
c7c54cf62a 8148128: Regression: array constructor references marked as inexact
Missing check in constructor reference stuckness check

Reviewed-by: vromero
2016-01-26 12:11:55 +00:00
Alan Bateman
5e6fc23a73 8148147: Sync up @modules from jigsaw/jake
Reviewed-by: chegar, mchung
2016-01-25 19:01:32 +00:00
Srikanth Adayapalam
78651a213e 8145987: Assertion failure when compiling stream with type annotation
Reviewed-by: jlahoda
2016-01-25 15:49:50 +05:30
Andreas Lundblad
5cd3c7cac8 8056989: Sjavac --server option should be optional
8147568: NullPointerException in option parsing

Made --server option optional (and background=true implied)

Reviewed-by: jlahoda, erikj
2016-01-24 11:32:38 +01:00
Jan Lahoda
efa7c6652a 8143388: Compiler throws NullPointerException during compilation
Avoid putting "super" into a local variable while desugaring postfix operators.

Reviewed-by: mcimadamore
2016-01-22 21:00:26 +01:00
Iris Clark
ac8a084ede 8136494: Update "@since 1.9" to "@since 9" to match java.version.specification
Reviewed-by: alanb, chegar, lancea
2016-01-19 20:32:06 -08:00
Maurizio Cimadamore
e782acbf37 8147546: regression when type-checking generic calls inside nested declarations occurring in method context
Attr.visitClassDef should set a temporary ArgumentAttr cache when in speculative mode

Reviewed-by: vromero
2016-01-20 10:53:29 +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
Srikanth Adayapalam
570883e4dc 8144580: java.lang.AssertionError: Missing type variable in where clause: T
Type variable comparisons should ignore type annotations.

Reviewed-by: mcimadamore
2016-01-19 15:46:42 +05:30
Jan Lahoda
0fbaf41ad9 8056897: Improve error recovery for empty binary and hexadecimal literals
Reviewed-by: mcimadamore
2016-01-11 11:21:10 +01:00
Jonathan Gibbons
aeca638f85 8146727: test tools/sjavac/IncludeExcludePatterns.java fails on Windows
Reviewed-by: darcy
2016-01-08 22:24:15 -08:00
Dan Smith
cbaccb91f0 8143852: Implement type variable renaming for functional interface most specific test
Reviewed-by: mcimadamore, vromero
2016-01-08 17:02:29 -07:00
Vicente Romero
c2eb8c18a2 8146722: javac remove test T6430241.java as irrelevant in 9
Reviewed-by: jjg
2016-01-08 15:15:21 -08:00
Vicente Romero
760776aebe 8146719: javac test BootClassPathPrepend.java should be deleted
Reviewed-by: jjg
2016-01-08 14:24:51 -08:00
Andreas Lundblad
b345518d32 8144226: Sjavac's handling of include/exclude patterns is buggy, redundant and inconsistent
Rewrote sjavac include/exclude pattern handling.

Reviewed-by: jlahoda
2016-01-08 17:14:10 +01:00
Alan Bateman
42e7c3091f 8049422: Remove @jdk.Exported
Reviewed-by: dfuchs, mchung, darcy, chegar
2016-01-08 11:47:12 +00:00
Vicente Romero
90df044bea 8146439: delete test T7021650.java as redundant
Reviewed-by: jjg
2016-01-06 10:34:22 -08:00
Chris Hegarty
d829940e2d 8145544: Move sun.misc.VM to jdk.internal.misc
Reviewed-by: alanb, mullan, weijun
2016-01-06 10:01:34 +00:00
Chris Hegarty
a0475ab1f5 8145990: Move sun.misc math support classes to jdk.internal.math
Reviewed-by: bpb, darcy
2015-12-22 12:19:01 +00:00
Srikanth Adayapalam
63f6ba5960 8145466: javac: No line numbers in compilation error
Compiler should not use the syntax tree from enclosing contexts in diagnostics even when the enclosing contexts are consulted for method lookup.

Reviewed-by: mcimadamore
2015-12-22 16:37:52 +05:30
Dan Smith
c5a1a9a3e0 7190296: Test for type containment during bounds checking
Reviewed-by: mcimadamore
2015-12-17 15:46:37 -07:00
Maurizio Cimadamore
1e3900cbfb 8142876: Javac does not correctly implement wildcards removal from functional interfaces
Rewrite code for removing wildcard from target functional interface to be in sync with JLS 9.9

Reviewed-by: vromero, dlsmith
2015-12-17 12:29:26 +00:00
Vicente Romero
8f0d6f6b81 8144832: cast conversion fails when converting a type-variable to primitive type
Reviewed-by: mcimadamore
2015-12-16 14:23:08 -08:00
Mallikarjuna Avaluri
138adb69ef 8067379: Investigate and replace .class files in langtools/test with equivalent .jasm files
Reviewed-by: jjg, ksrini, anazarov
2015-12-15 18:54:53 -08:00
Jonathan Gibbons
351fe82e08 8144888: ToolBox should close any file manager it opens
Reviewed-by: vromero
2015-12-15 15:30:35 -08: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
Maurizio Cimadamore
de127a784a 8143133: Wrong MethodParameters on capturing local class with multiple constructors
MethodParameters attribute not always generated for local classes constructors

Reviewed-by: jlahoda
2015-12-14 13:55:35 +00:00
Srikanth Adayapalam
bf65927c33 8145051: Wrong parameter name in synthetic lambda method leads to verifier error
Synthetic names manufactured by the compiler should not contain '.'

Reviewed-by: mcimadamore
2015-12-10 17:24:59 +05:30
Kumar Srinivasan
8630db94da 8144287: Enhance DocTree API to support @index javadoc tags
Reviewed-by: jjg
2015-12-01 07:10:35 -08:00
Vicente Romero
92c2d20bcc 8136809: Javac fails compiling Collectors.reducing with method reference combiner
Reviewed-by: mcimadamore
2015-12-09 12:50:41 -08:00
Sergei Pikalev
02d2bd56f3 8080641: JEP-JDK-8042880 : Implement new tests on Project Coin
A set of tests using t-w-r as variable in different positive and negative constructions

Reviewed-by: abuckley, darcy, jlahoda, sadayapalam
2015-12-09 14:26:56 +01:00
Andreas Lundblad
e539e10105 8144941: test/tools/javac/processing/TestMultipleErrors.java should have /nodynamiccopyright
Removed copyright notice and added /nodynamiccopyright.

Reviewed-by: jjg
2015-12-08 21:02:07 +01:00
Srikanth Adayapalam
bda66e0df0 8144673: Suspect message regarding suitable enclosing instance not being in scope
Javac incorrectly complains about missing enclosing instance while handling method references.

Reviewed-by: vromero
2015-12-08 04:59:19 +05:30
Jonathan Gibbons
31cdc1ad3d 8059976: Convert JavacFileManager to use java.nio.file internally
Reviewed-by: jlahoda
2015-12-07 14:02:55 -08:00
Jonathan Gibbons
1452001bd6 8143268: Langtools tools should create output directories as needed
Reviewed-by: jlahoda
2015-12-04 14:22:04 -08:00
Vicente Romero
8ffd35ead4 8008685: DPrinter should include MethodType.recvtype
Reviewed-by: jjg
2015-12-04 09:46:12 -08:00
Lana Steuck
fedd0005cd Merge 2015-12-02 09:36:35 -08:00
Iris Clark
2673fcaf07 Merge 2015-11-29 20:29:56 -08: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
Andreas Lundblad
ea92f6bf06 8144009: ToolBox should have a cleanDirectory method
Added cleanDirectory method to ToolBox.

Reviewed-by: jjg
2015-11-26 09:33:41 +01:00
Srikanth Adayapalam
68126c8ee9 8143647: Javac compiles method reference that allows results in an IllegalAccessError
Lambda implementation method synthesized by javac should not mention inaccessible types.

Reviewed-by: mcimadamore
2015-11-26 07:44:23 +05:30
Bhavesh Patel
8bfe3bba2c 8141492: Implement search feature in javadoc
Reviewed-by: jjg, ksrini
2015-11-20 20:55:07 +00:00
Iris Clark
3c9012f9a2 Merge 2015-11-19 14:01:27 -08:00
Sergei Pikalev
b70aa4aee0 8130880: Create sampleapi regression test
Reviewed-by: ksrini, vromero
2015-11-19 13:14:16 -08:00
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
54029caa26 8143217: javac throws NPE when printing diagnostics for Lambda expressions
Fix compiler crash when -XDdumpLambdaToMethodStats option is in effect.

Reviewed-by: mcimadamore
2015-11-19 17:19:06 +05:30
Srikanth Adayapalam
6ce337adaf 8142931: java compiler: type erasure doesn't work since 9-b28
Reinstate pre JDK-8055054 behavior with respect to erasing wildcard types.

Reviewed-by: mcimadamore
2015-11-18 16:37:12 +05:30
Iris Clark
26c71ec728 Merge 2015-11-16 17:10:23 -08:00
Maurizio Cimadamore
3acf9da9d1 8142948: langtools/test/tools/javac/lambda/speculative/T8046685.java fails on some platforms
Test uses too much stack on 32-bit platforms

Reviewed-by: jlahoda
2015-11-13 18:45:38 +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
90a76d40e5 8046685: Uncompilable large expressions involving generics
Improve inference propagation logic so that unnecessary inference variables are not propagated.

Reviewed-by: vromero
2015-11-13 12:29:23 +00:00
Srinivas Dama
9bf5e9c8f4 8139255: javac reports "cannot override" messages instead of "cannot hide" messages for static methods
Improve clarity of javac messages by discriminating hiding scenerio from overriding

Reviewed-by: mcimadamore, sadayapalam
2015-11-12 08:39:23 +05:30
Srikanth Adayapalam
431aa657a6 8136419: Type annotations in initializers and lambda bodies not written to class file
Reviewed-by: jlahoda
2015-11-12 06:13:14 +05:30
Srikanth Adayapalam
f7bc90496a 8142476: Call site initialization exception caused by LambdaConversionException: Invalid receiver type
Incorrect handling of intersection typed receiver in method references results in call site initialization exception

Reviewed-by: mcimadamore
2015-11-12 05:59:47 +05:30
Srikanth Adayapalam
7ea18e2abd 8141508: java.lang.invoke.LambdaConversionException: Invalid receiver type
Incorrect handling of intersection type parameter of functional interface descriptor results in call site initialization exception

Reviewed-by: mcimadamore
2015-11-11 18:46:03 +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
Iris Clark
f0eef2073e Merge 2015-11-09 10:57:05 -08:00
Srikanth Adayapalam
4d94dba613 8129740: Incorrect class file created when passing lambda in inner class constructor
Lambda implementation method must be static when lambda is an argument to an explicit constructor call.

Reviewed-by: mcimadamore, jlahoda
2015-11-09 05:45:22 +05:30
Srikanth Adayapalam
48e3b3f0df 8138612: Do not retain declaration annotations on lambda formal parameters
Reviewed-by: jlahoda
2015-11-06 14:45:44 +05:30
Maurizio Cimadamore
a65f240258 8141343: Subtle semantics changes for union types in cast conversion
Cast applied to union types do not behave correctly and sometimes pass erroneously

Reviewed-by: jlahoda
2015-11-05 11:32:01 +00:00
Andreas Lundblad
d2d6dd48d4 8139961: Various sjavac tests result in error on Windows (JPRT)
Test now closes Stream properly.

Reviewed-by: jlahoda
2015-11-04 12:27:00 +01:00
Andreas Lundblad
922ac5ff90 8141355: PackagePathMismatch.java does not use --state-dir option
Added --state-dir to the PackagePathMismatch.java test.

Reviewed-by: jlahoda
2015-11-03 22:55:30 +01:00
Andreas Lundblad
7cf539d35e 8137075: Sjavac tests are leaking file managers
Closing sjavac file managers.

Reviewed-by: jjg
2015-11-03 21:29:46 +01:00
Iris Clark
616e4c704e Merge 2015-11-01 09:49:09 -08:00
Kumar Srinivasan
2711685247 8132096: Augment the Compiler Tree API to support the new Simplified Doclet API
Reviewed-by: jjg, jlahoda
2015-10-28 10:41:30 -07:00
Andreas Eriksson
27b171c977 8134759: jdb: Incorrect stepping inside finally block
Add LineNumberTable attribute for return bytecodes split around finally code

Reviewed-by: mcimadamore
2015-10-27 10:35:14 +01:00
Iris Clark
641e7a407a Merge 2015-10-25 19:16:46 -07:00
Srikanth Adayapalam
2d8d2e83ba 8057685: javac should not crash compiling type annotations
Reviewed-by: jlahoda
2015-10-23 08:21:41 +05:30
Srikanth Adayapalam
b84f19e870 8074803: Name clash
Javac incorrectly reports a name clash.

Reviewed-by: mcimadamore
2015-10-22 16:18:28 +05:30
Andreas Lundblad
200d75bd08 8087349: Test tools/sjavac/IncCompInheritance.java is failing
Refactoring of Dependencies framework.

Reviewed-by: mcimadamore
2015-10-22 09:05:54 +02:00
Srikanth Adayapalam
32cea7c65b 8138729: javac -parameters should not emit parameter names for lambda expressions
Reviewed-by: mcimadamore
2015-10-21 17:52:43 +05:30
Srikanth Adayapalam
08b811e8d6 8139836: Can't use super::x method reference when x is protected
Javac incorrectly diasllows reference to a protected method from a super class in method reference expressions.

Reviewed-by: mcimadamore
2015-10-20 15:25:41 +05:30
Jan Lahoda
9cd68d0633 8139751: Javac crash with -XDallowStringFolding=false
When string folding is disabled, need to keep the original expression.

Reviewed-by: mcimadamore
2015-10-19 12:41:45 +02:00
Chris Hegarty
8a27a7469b 8139371: Three langtools test failures after the removal of sun.misc.Lock
Reviewed-by: jjg, mchung
2015-10-13 09:02:30 +01:00
Dmitry Chuyko
cb20fc2079 8000316: Huge performance bottleneck in com.sun.tools.javac.comp.Check.localClassName
Speed up Check.localClassName by avoiding generating names known to be in use already

Reviewed-by: mcimadamore, jlahoda, sadayapalam
2015-10-13 09:48:03 +05:30
Srikanth Adayapalam
ac4f8dfdd2 8139245: compiler crashes with exception on int:new method reference and generic method inference
Reviewed-by: mcimadamore
2015-10-12 19:43:44 +05:30
Maurizio Cimadamore
4d32c48daf 8138840: NPE when compiling bitwise operations with illegal operand types
8139243: compiler crashes with exception on sum operation of String var and void method call result
8139249: Compiler crashes on unary bitwise complement with non-integral operand

Certain binary operator checks are accepting more operands than required.

Reviewed-by: jlahoda
2015-10-12 12:24:33 +01: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
855243b12f 8065219: Deprecated warning in method reference are missing in some cases
Reviewed-by: mcimadamore
2015-10-07 16:02:57 +05:30
Srikanth Adayapalam
1a5c52e6c3 8130506: javac AssertionError when invoking MethodHandle.invoke with lambda paramter
Reviewed-by: mcimadamore
2015-10-07 15:53:38 +05:30