Commit Graph

893 Commits

Author SHA1 Message Date
Guoxiong Li
ed32e02c05 8241187: ToolBox::grep should allow for negative filtering
Reviewed-by: vromero
2021-05-12 01:01:29 +00:00
Jan Lahoda
8468001f88 8263452: Javac slow compilation due to algorithmic complexity
Reviewed-by: vromero, jfranck
2021-05-11 10:06:04 +00:00
Vicente Romero
946b0fe19a 8266645: javac should not check for sealed supertypes in intersection types
Reviewed-by: mcimadamore
2021-05-07 14:38:18 +00:00
Jan Lahoda
a8046c9157 8266436: Synthetic constructor trees have non-null return type
Reviewed-by: vromero
2021-05-05 10:31:11 +00:00
Jan Lahoda
f0f6b0d919 8266027: The diamond finder does not find diamond candidates in field initializers
Reviewed-by: jfranck, vromero
2021-04-29 14:55:28 +00:00
Jan Lahoda
df7f0b4671 8198317: Enhance JavacTool.getTask for flexibility
Co-authored-by: Guoxiong Li <lgxbslgx@gmail.com>
Reviewed-by: jfranck
2021-04-29 09:38:24 +00:00
Mandy Chung
b3b2bb2875 8265773: incorrect jdeps message "jdk8internals" to describe a removed JDK internal API
Reviewed-by: alanb
2021-04-28 17:34:43 +00:00
Jan Lahoda
0a4c33826d 8263432: javac may report an invalid package/class clash on case insensitive filesystems
Reviewed-by: vromero
2021-04-27 08:55:59 +00:00
Guoxiong Li
2b09ff219e 8232765: NullPointerException at Types.eraseNotNeeded() when compiling a class
Reviewed-by: mcimadamore
2021-04-26 14:13:13 +00:00
Jesper Steen Møller
83364a4b4a 8264258: Unknown lookups in the java package give misleading compilation errors
Reviewed-by: sadayapalam
2021-04-26 11:53:27 +00:00
Guoxiong Li
4b7f027407 8231179: Investigate why tools/javac/options/BCPOrSystemNotSpecified.java fails on Window
Reviewed-by: vromero
2021-04-24 02:18:31 +00:00
Guoxiong Li
d87a4c3b56 8239596: PARAMETER annotation on receiver type does not cause error
Reviewed-by: vromero
2021-04-24 02:17:39 +00:00
Guoxiong Li
657f103937 8057543: Replace javac's Filter with Predicate (and lambdas)
Reviewed-by: mcimadamore
2021-04-22 16:44:29 +00:00
Guoxiong Li
07a7510d87 8200145: Conditional expression mistakenly treated as standalone
Reviewed-by: mcimadamore
2021-04-21 14:36:47 +00:00
Vicente Romero
0b1b5c8d0b 8264373: javac hangs when annotation is declared with sealed public modifier
Reviewed-by: jlahoda
2021-04-15 19:07:11 +00:00
Joe Darcy
863feab998 8005295: Use mandated information for printing of repeating annotations
Reviewed-by: jjg
2021-04-09 22:02:34 +00:00
Guoxiong Li
57f1e7d934 8264696: Multi-catch clause causes compiler exception because it uses the package-private supertype
Reviewed-by: vromero
2021-04-08 21:34:51 +00:00
Joe Darcy
ccefa5e378 8261625: Add Elements.isAutomaticModule(ModuleElement)
Reviewed-by: vromero, jlahoda
2021-04-08 21:25:17 +00:00
Jonathan Gibbons
e8eda655bb 8264664: use text blocks in javac module tests
Reviewed-by: darcy
2021-04-03 01:18:00 +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
Jonathan Gibbons
0ff81682e6 8258957: DocLint: check for HTML start element at end of body
Reviewed-by: vromero
2021-03-24 23:58:16 +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
6d3c858cbb 8259235: javac crashes while attributing super method invocation
Reviewed-by: vromero
2021-03-03 12:38:26 +00:00
Jan Lahoda
85a5ae8cb7 8261606: Surprising behavior of step over in String switch
Reviewed-by: vromero
2021-03-02 12:02:26 +00:00
hltj
de3f519dc9 8258897: wrong translation of capturing local classes inside nested lambdas
Co-authored-by: Bernard Blaser <bsrbnd@openjdk.org>
Reviewed-by: jlahoda
2021-02-26 13:09:47 +00:00
Adam Sotona
7d4f60b16b 8260403: javap should be more robust in the face of invalid class files
Reviewed-by: vromero
2021-02-25 16:03:04 +00:00
Adam Sotona
2eca17d1b1 8261457: test/langtools/tools/javac/T8187978 can fail if ArrayList class is modified
Reviewed-by: vromero
2021-02-25 14:59:32 +00:00
Jonathan Gibbons
c4f17a3e1d 8257925: enable more support for nested inline tags
Reviewed-by: prappo, hannesw
2021-02-19 15:59:05 +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
Jan Lahoda
90376156be 8222850: jshell tool: Misleading cascade compiler error in switch expression with undefined vars
Reviewed-by: vromero
2021-02-03 09:21:43 +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
Vicente Romero
b2e582a882 8259905: Compiler treats 'sealed' keyword as 'var' keyword
Reviewed-by: jlahoda
2021-01-29 16:50:27 +00:00
Guoxiong Li
0eed2c3312 8259359: javac does not attribute unexpected super constructor invocation qualifier, and may crash
Reviewed-by: vromero
2021-01-27 18:12:57 +00:00
Jan Lahoda
b3c8a52803 8259050: Error recovery in lexer could be improved
Reviewed-by: vromero
2021-01-27 11:00:12 +00:00
Guoxiong Li
23edb6f6b2 8236490: Compiler bug relating to @NonNull annotation
Reviewed-by: vromero, jfranck
2021-01-26 08:57:20 +00:00
Jonathan Gibbons
d6fb9d7256 8255464: Cannot access ModuleTree in a CompilationUnitTree
Reviewed-by: vromero
2021-01-25 21:44:58 +00:00
Jesper Wilhelmsson
51e14f2e2a Merge 2021-01-14 01:29:47 +00:00
Vicente Romero
ac4cd2e3c9 8231461: static/instance overload leads to 'unexpected static method found in unbound lookup' when resolving method reference
Reviewed-by: mcimadamore
2021-01-13 17:27:32 +00:00
Jonathan Gibbons
5f9cd72c54 8259645: Revert JDK-8245956 JavaCompiler still uses File API instead of Path API in a specific case
Reviewed-by: chegar
2021-01-12 19:57:08 +00:00
Jesper Wilhelmsson
b378f54df3 Merge 2021-01-12 01:08:14 +00:00
Jonathan Gibbons
2cb271e691 8253996: Javac error on jdk16 build 18: invalid flag: -Xdoclint:-missing
Reviewed-by: hannesw
2021-01-11 17:35:50 +00:00
Guoxiong Li
33fbc10cb8 8259025: Record compact constructor using Objects.requireNonNull
Reviewed-by: attila
2021-01-11 13:50:53 +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
Guoxiong Li
697bf7ab51 8257740: Compiler crash when compiling type annotation on multicatch inside lambda
Reviewed-by: vromero
2021-01-08 13:56:07 +00:00
Jesper Wilhelmsson
56a354eb55 Merge 2021-01-07 23:51:21 +00:00
Jesper Wilhelmsson
555641ede5 Merge 2021-01-07 21:17:35 +00:00
Vicente Romero
acdd90b699 8258972: unexpected compilation error with generic sealed interface
Reviewed-by: jlahoda
2021-01-07 16:38:53 +00:00
Yoshiki Sato
28e1f4d9ee 8247957: remove doclint support for HTML 4
8257204: Remove usage of -Xhtmlversion option from javac
8256313: JavaCompilation.gmk needs to be updated not to use --doclint-format html5 option
8258460: Remove --doclint-format option from javac
8256312: Valid anchor 'id' value not allowed

Reviewed-by: jjg, ihse
2021-01-06 22:48:00 +00:00
Guoxiong Li
7d769663b3 8255757: Javac emits duplicate pool entries on array::clone
Reviewed-by: vromero
2021-01-05 22:21:19 +00:00
Vicente Romero
d529306722 8213032: program fails with LambdaConversionException at execution time
Reviewed-by: jlahoda
2021-01-05 21:35:47 +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
Jesper Wilhelmsson
07c93fab85 Merge 2020-12-29 05:24:20 +00:00
Guoxiong Li
881bceb9a3 8258662: JDK 17ea: Crash compiling instanceof check involving sealed interface
Reviewed-by: vromero
2020-12-28 15:32:02 +00:00
Guoxiong Li
97c99b5d7d 8216400: improve handling of IOExceptions in JavaCompiler.close()
8069116: improve fatal error handling in JavaCompiler

Reviewed-by: jjg
2020-12-26 17:30:39 +00:00
Jonathan Gibbons
e2aa724a67 8258941: Test specify the Classpath exception in the header
Reviewed-by: vromero
2020-12-24 17:32:25 +00:00
Jesper Wilhelmsson
57217b58bf Merge 2020-12-24 08:28:24 +00:00
Jonathan Gibbons
c398a8281a 8258916: javac/doclint reports broken HTML on multiline mailto links
Reviewed-by: jlaskey, iris
2020-12-24 04:52:49 +00:00
Vicente Romero
23b83c518d 8253954: javac crash when compiling code with enhanced switch expressions with option -Xjcov
Reviewed-by: jjg
2020-12-24 01:24:32 +00:00
Guoxiong Li
01d51a101a 8231622: SuppressWarning("serial") ignored on field serialVersionUID
Reviewed-by: jjg
2020-12-21 17:50:21 +00:00
Jesper Wilhelmsson
f15528eb64 Merge 2020-12-17 20:41:37 +00:00
Vicente Romero
47c180da43 8258515: javac should issue an error if an annotation is nested in a local class or interface
Reviewed-by: jjg
2020-12-17 18:08:35 +00:00
Guoxiong Li
41f312eb64 8254023: A module declaration is not allowed to be a target of an annotation that lacks an @Target meta-annotation
Reviewed-by: jfranck, vromero
2020-12-17 08:06:35 +00:00
Joe Darcy
6be1f5671e 8257450: Start of release updates for JDK 17
8257451: Add SourceVersion.RELEASE_17
8257453: Add source 17 and target 17 to javac

Reviewed-by: dholmes, erikj, iris, mikael, jjg, jlahoda, jwilhelm, mchung, ihse
2020-12-10 16:46:28 +00:00
Guoxiong Li
46c9a860b6 8245956: JavaCompiler still uses File API instead of Path API in a specific case
Reviewed-by: jjg
2020-12-09 21:09:23 +00:00
Harold Seigel
d33a689b96 8256867: Classes with empty PermittedSubclasses attribute cannot be extended
Reviewed-by: lfoltan, mchung, jlahoda, chegar
2020-12-09 19:07:11 +00:00
Jan Lahoda
bd22aa5e86 8229862: NPE in jdk.compiler/com.sun.tools.javac.jvm.Code.emitop0(Code.java:570)
Co-authored-by: Bernard Blaser <bsrbnd@openjdk.org>
Reviewed-by: vromero
2020-12-09 16:49:50 +00:00
Jan Lahoda
6eff9315e1 8256950: Add record attribute support to symbol generator CreateSymbols
Reviewed-by: jjg, chegar
2020-12-09 15:05:01 +00:00
Jonathan Gibbons
b29f9cd7b0 8075778: Add javadoc tag to avoid duplication of return information in simple situations.
Reviewed-by: prappo, jlahoda
2020-12-08 23:25:08 +00:00
Dan Smith
48d8650ae1 8257845: Integrate JEP 390
8254047: [JEP 390] Revise "value-based class" & apply to wrappers
8252181: [JEP 390] Define & apply annotation jdk.internal.ValueBased
8252183: [JEP 390] Add 'lint' warning for @ValueBased classes
8257027: [JEP 390] Diagnose synchronization on @ValueBased classes
8252180: [JEP 390] Deprecate wrapper class constructors for removal

Co-authored-by: Roger Riggs <rriggs@openjdk.org>
Co-authored-by: Srikanth Adayapalam <sadayapalam@openjdk.org>
Co-authored-by: Lois Foltan <lfoltan@openjdk.org>
Reviewed-by: rriggs, hseigel, mchung, darcy
2020-12-08 23:04:01 +00:00
Jan Lahoda
d0c526513d 8256149: Weird AST structure for incomplete member select
Reviewed-by: vromero
2020-12-08 13:09:15 +00:00
Jan Lahoda
51ac37686c 8256411: Based anonymous classes have a weird end position
Reviewed-by: vromero
2020-12-08 08:38:24 +00:00
Vicente Romero
6ff18e38b4 8257855: Example SafeVarargsNotApplicableToRecordAccessors breaks test tools/javac/diags/CheckExamples.java
Reviewed-by: jjg
2020-12-08 04:07:38 +00:00
Vicente Romero
b4b9828cb0 8254784: javac should reject records with @SafeVarargs applied to varargs record component
Reviewed-by: mcimadamore
2020-12-07 16:45:51 +00:00
Guoxiong Li
2c04fc02c9 8257037: No javac warning when calling deprecated constructor with diamond
Reviewed-by: mcimadamore
2020-12-07 13:51:33 +00:00
Jan Lahoda
637b0c64b0 8246778: Compiler implementation for Sealed Classes (Second Preview)
Co-authored-by: Vicente Romero <vromero@openjdk.org>
Co-authored-by: Harold Seigel <hseigel@openjdk.org>
Reviewed-by: lfoltan, mchung, alanb, mcimadamore, chegar
2020-12-07 11:11:31 +00:00
Guoxiong Li
29d90b952c 8255968: Confusing error message for inaccessible constructor
Reviewed-by: mcimadamore
2020-12-01 21:06:06 +00:00
Elliott Baron
8ddf5e172b 8256809: Annotation processing causes NPE during flow analysis
Reviewed-by: jlahoda
2020-11-23 16:02:52 +00:00
Kim Barrett
edf72f065f 8256824: test/langtools/tools/javac/diags/examples/InnerClassCantHaveStatic.java has a bad copyright
Reviewed-by: dcubed
2020-11-21 16:06:31 +00:00
Vicente Romero
9a19eb6918 8254105: allow static nested declarations
Reviewed-by: mcimadamore
2020-11-21 03:17:57 +00:00
Aleksey Shipilev
05b824567c 8256290: javac/lambda/T8031967.java fails with StackOverflowError on x86_32
Reviewed-by: mcimadamore
2020-11-13 07:40:19 +00:00
Jan Lahoda
129ff97fe6 8231599: NPE when loading a preview classfile from a future Java version
Reviewed-by: vromero
2020-11-11 09:11:02 +00:00
Vicente Romero
688b10b970 8255561: add tests to check binary compatibility rules for records
Reviewed-by: jjg
2020-11-06 16:39:40 +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
Vicente Romero
97a81cee25 8253385: annotation processors remove varargs information from record components
Reviewed-by: jjg
2020-11-04 23:30:41 +00:00
Jan Lahoda
d05df7c17a 8236842: Surprising 'multiple elements' behaviour from getTypeElement when cross-compiling with --release
Reviewed-by: vromero
2020-11-02 10:15:16 +00:00
Vicente Romero
8bde2f4e3d 8255013: implement Record Classes as a standard feature in Java, follow-up
Co-authored-by: Vicente Romero <vromero@openjdk.org>
Co-authored-by: Harold Seigel <hseigel@openjdk.org>
Co-authored-by: Chris Hegarty <chegar@openjdk.org>
Reviewed-by: jlahoda
2020-10-28 17:18:46 +00:00
Jan Lahoda
0e9205315e 8254286: Wrong inference in switch expression with "null" arm
Reviewed-by: mcimadamore, vromero
2020-10-23 09:47:29 +00:00
Guoxiong Li
cb6167b226 8254557: Compiler crashes with java.lang.AssertionError: isSubtype UNKNOWN
Reviewed-by: mcimadamore
2020-10-20 15:45:17 +00:00
Vicente Romero
1da28de82f 8255009: delta apply fixes for JDK-8246774 and JDK-8253455, pushed too soon
Reviewed-by: jlahoda
2020-10-19 15:55:54 +00:00
Vicente Romero
c17d58516f 8246774: implement Record Classes as a standard feature in Java
Co-authored-by: Vicente Romero <vromero@openjdk.org>
Co-authored-by: Harold Seigel <hseigel@openjdk.org>
Co-authored-by: Chris Hegarty <chegar@openjdk.org>
Reviewed-by: coleenp, jlahoda, sspitsyn, chegar
2020-10-18 18:54:33 +00:00
Jim Laskey
4f9a1ffcdd 8254073: Tokenizer improvements (revised)
Reviewed-by: mcimadamore
2020-10-09 11:08:56 +00:00
Jan Lahoda
a2f651904d 8233685: Test tools/javac/modules/AddLimitMods.java fails
Reviewed-by: vromero
2020-10-09 06:22:15 +00:00
Jan Lahoda
cd4faff0ec 8249095: tools/javac/launcher/SourceLauncherTest.java fails on Windows
Reviewed-by: jjg
2020-10-07 06:52:03 +00:00
Paul Sandoz
b29e1086ac 8253944: Certain method references to VarHandle methods should fail
Reviewed-by: mcimadamore
2020-10-05 17:15:31 +00:00
Jim Laskey
8fda5b82f0 8253904: Revert Tokenizer improvements JDK-8224225
Reviewed-by: mcimadamore
2020-10-01 17:42:29 +00:00
Jim Laskey
90c131f29f 8224225: Tokenizer improvements
Reviewed-by: mcimadamore
2020-10-01 15:39:01 +00:00
Jan Lahoda
d5be82948b 8253770: Test tools/javac/parser/JavacParserTest.java fails on Windows after JDK-8253584
Reviewed-by: vromero
2020-09-29 14:29:28 +00:00
Jan Lahoda
86491a5f6b 8253584: Redunant errors for partial member selects
Reviewed-by: vromero
2020-09-29 10:11:08 +00:00
Vicente Romero
ac15d6445b 8241151: Incorrect lint warning for no definition of serialVersionUID in a record
Co-authored-by: Bernard Blaser <bsrbnd@gmail.com>
Co-authored-by: Vicente Romero <vicente.romero@oracle.com>
Reviewed-by: jjg
2020-09-28 21:20:14 +00:00
Gilles Duboscq
1b79326c05 8242451: ensure semantics of non-capturing lambdas are preserved independent of execution mode
Reviewed-by: mchung
2020-09-25 10:10:36 +00:00
Jonathan Gibbons
f765a7f513 8252712: move doclint to jdk.javadoc module
Reviewed-by: hannesw
2020-09-23 19:55:08 +00:00
Jan Lahoda
68da63dcde 8240658: Code completion not working for lambdas in method invocations that require type inference
Reviewed-by: vromero
2020-09-14 08:13:10 +00:00
Jonathan Gibbons
7f27d0b013 8236142: DocTrees should provide getCharacters(EntityTree)
Reviewed-by: prappo
2020-09-11 14:47:15 +00:00
Vicente Romero
433394203d 8250217: com.sun.tools.javac.api.JavacTaskImpl swallows compiler exceptions potentially producing false positive test results
Reviewed-by: jlahoda
2020-09-09 14:05:00 +00:00
Jan Lahoda
5fef8ddaff 8235229: Compilation against a modular, multi-release JAR erroneous with --release
Reviewed-by: vromero
2020-09-09 13:03:00 +00:00
Jan Lahoda
c98417ebca 8250840: some tests use --enable-preview unnecessarily
Reviewed-by: vromero
2020-09-09 07:51:43 +00:00
Vicente Romero
4b3a0b789e 8247352: improve error messages for sealed classes and records
Reviewed-by: mcimadamore
2020-09-04 23:51:26 -04:00
Vicente Romero
5d2e79e2c3 8252307: javac rejects code with annotation applicable to fields
Reviewed-by: darcy
2020-09-04 13:44:48 -04:00
Jan Lahoda
a951a15379 8245664: javac erroneously issues deprecation warning for use of a deprecated package
Reviewed-by: vromero
2020-09-03 11:14:23 +02:00
Jan Lahoda
aab706c66f 8160601: unexpected error compiling @Deprecated package
Reviewed-by: jlaskey
2020-09-03 11:13:46 +02:00
Vicente Romero
e19022e515 8230776: Javac throws AssertionError in jvm.Gen.visitExec
8231311: javac throws NPE in TransTypes.retype
8230964: Javac throws AssertionError in PoolReader.resolve
8230963: javac throws j.l.CCE in PoolReader.getName
8230919: javac throws j.l.CCE in ClassReader.readClass

Reviewed-by: jlahoda
2020-09-01 14:31:18 -04:00
Pavel Rappo
26b48999df 8252172: Improve prettiness of printing HTML attributes by DocPretty
Reviewed-by: jjg
2020-08-28 15:26:34 +01:00
Joe Darcy
ba7f7fe417 8251921: Expand default constructor warning to cover more cases
Reviewed-by: jjg, abuckley
2020-08-27 13:01:41 -07:00
Jan Lahoda
235ef8e6df 8252458: Test tools/javac/parser/JavacParserTest.java fails on Windows after JDK-8237041
Reviewed-by: vromero
2020-08-27 20:20:39 +02:00
Jan Lahoda
0504064717 8237041: AssertionError in parsing
Avoid parser crash for deeply nested classes without closing braces, improve error recovery for classes without an opening brace.

Reviewed-by: vromero
2020-08-27 16:15:11 +02:00
Jie Fu
f586b6c0cd 8252264: tools/javac/flags/LockedFlagClash.java fails to compile
Reviewed-by: jlahoda
2020-08-25 12:46:18 +08:00
Vicente Romero
55dd4401ce 8230918: j.l.NASE in javap
Reviewed-by: jjg
2020-08-26 13:08:39 -04:00
Jan Lahoda
b29c1fbbd1 8252031: --patch-module java.base= may fail with \"cyclic inheritance involving Object\"
Avoiding clash in use of Flags.LOCKED between Types.asSuper and Check.checkNonCyclic.

Reviewed-by: jjg
2020-08-20 10:48:36 +02:00
Pavel Rappo
ecfb2914d0 8251357: [DocCommentParser] Infinite loop while looking for the end of a preamble
Reviewed-by: jjg
2020-08-19 17:44:14 +01:00
Vicente Romero
c2ee432602 8249902: tools/javac/records/mandated_members/read_resolve_method/CheckReadResolveMethodTest.java uses @ignore w/o bug-id
Reviewed-by: jjg
2020-08-18 19:23:58 -04:00
Joe Darcy
61e42ed85d 8071961: Add javac lint warning when a default constructor is created
Reviewed-by: jjg, jlahoda, abuckley, erikj, mcimadamore
2020-08-17 18:58:20 -07:00
Vicente Romero
229f41808d 8250629: do not allow C-style array declaration in record components
Reviewed-by: jlahoda
2020-07-31 12:13:52 -04:00
Vicente Romero
0f5e57aa8c 8250741: an annotation interface may not be declared as a local interface
Reviewed-by: jlahoda
2020-07-31 12:05:55 -04:00
Jan Lahoda
27a9a2f64a 8249261: AssertionError in StructuralStuckChecker
Reviewed-by: mcimadamore
2020-07-29 11:34:25 +02:00
Jan Lahoda
b37228e11f 8248641: Trees.getScope returns incorrect results for code inside a rule case
Ensuring rule cases are copied correctly by TreeCopier.

Reviewed-by: vromero
2020-07-29 11:34:24 +02:00
Vicente Romero
6c2ff1781b 8249829: javac is issuing an incorrect static access error
Reviewed-by: jlahoda
2020-07-27 10:12:30 -04:00
Vicente Romero
75d642a467 8243057: compilation of annotated static record fields fails with NPE
Reviewed-by: jlahoda
2020-07-24 10:34:18 -04:00
Vicente Romero
3a69dfb5c5 8245652: some tests at RecordCompilationTests are resetting the wrong compilation options
Reviewed-by: darcy
2020-07-20 12:14:44 -04:00
Vicente Romero
bcd4690bc3 8247790: javac shouldn't allow type variable references from local static declarations
Reviewed-by: jlahoda
2020-07-15 22:36:45 -04:00
Jesper Wilhelmsson
d3d29a4f82 Merge 2020-07-10 02:51:04 +02:00
Vicente Romero
37880ba60d 8242529: javac defines type annotations incorrectly for record members (constructor and property accessor)
Reviewed-by: psandoz, jlahoda
2020-07-09 17:37:53 -04:00
Jan Lahoda
a4b135316c 8244763: Update --release 8 symbol information after JSR 337 MR3
Reviewed-by: jjg, wetmore
2020-05-18 18:20:53 +02:00
Vicente Romero
fc82768478 8247849: permits clause of sealed interfaces should not allow parameterized types
Reviewed-by: jlahoda
2020-06-25 17:48:53 -04:00
Jan Lahoda
31c511e6a5 8246704: --release => \"unknown enum constant PreviewFeature$Feature.TEXT_BLOCKS\"
Use a synthetic annotation instead of inaccessible jdk.internal.PreviewFeature in ct.sym, and avoid resolving that annotation, to prevent errors being printed for the inaccessible types.

Reviewed-by: jlaskey
2020-06-25 11:06:46 +02:00
Jonathan Gibbons
e66a2a3384 8247955: doclint: don't complain about summary/caption when role=presentation
Reviewed-by: prappo
2020-06-23 12:27:31 -07:00
Jonathan Gibbons
8b6d3147fb 8247815: doclint: recategorize "no description for ..." as MISSING, not SYNTAX
Reviewed-by: prappo
2020-06-19 11:04:52 -07:00
Jan Lahoda
226e852831 8242214: NullPointerException in JDK 14 javac compiling a method reference
Ensuring a proper receiver is used to invoke protected method when method reference is unrolled into a lambda.

Reviewed-by: vromero
2020-06-19 14:26:09 +02:00
Jonathan Gibbons
de3923edf9 8247788: DocCommentParser should not reject standalone '>'
Reviewed-by: prappo
2020-06-18 14:07:49 -07:00
Vicente Romero
ecb4cbfd4a 8245842: provide tests for binary compatibility assertions for sealed classes
Reviewed-by: jjg
2020-06-17 14:39:44 -04:00
Vicente Romero
ce4978ffe6 8246257: Annotated record's vararg type component started to be uncompilable with JDK15b24
Reviewed-by: jjg, jlaskey
2020-06-17 13:19:51 -04:00
Adam Sotona
ed4b801771 8238735: NPE compiling lambda expression within conditional expression
The fix saves result type from the first pass through the Attr.visitLambda and returns it after recovery pass to avoid NPE caused by exposure of Type.recoveryType

Reviewed-by: mcimadamore
2020-06-17 13:18:19 +02:00
Jan Lahoda
19c5bfe42f 8247334: Trees.getScope crashes for annotated local records
Reviewed-by: vromero
2020-06-12 13:38:06 +02:00
Jan Lahoda
a5e03e234b 8235564: javac crashes while compiling incorrect method invocation with member reference
Reviewed-by: vromero
2020-06-10 11:01:29 +02:00
Jonathan Gibbons
56abdc178e 8246712: doclint incorrectly reports some HTML elements as empty
Reviewed-by: prappo
2020-06-09 19:34:18 -07:00
Adam Sotona
022d7a19d3 8236108: tools/javac/lambda/LambdaParserTest.java timed out
The patch filters redundant or non-sense combinations of lambdas and it reduces the number of performed sub-tests.

Reviewed-by: vromero
2020-06-09 09:37:53 -04:00
Adam Sotona
63ade9c49c 8236697: Stack overflow with cyclic hierarchy in class file
Implemented minimal necessary cycle detection to avoid stack overflow in c.s.t.j.code.Types::asSuper

Reviewed-by: vromero
2020-06-08 16:07:03 -04:00
Vicente Romero
e90621c169 8246199: 'permits' is a restricted identifier
Reviewed-by: mcimadamore
2020-06-08 11:08:28 -04:00
Jan Lahoda
358714bcd0 8246353: Sealed types not supported by jshell
Reviewed-by: rfield, vromero
2020-06-08 16:59:43 +02:00
Toshio Nakamura
28e219f038 8233829: javac cannot find non-ASCII module name under non-UTF8 environment
Reviewed-by: jjg
2020-07-06 16:08:00 -07:00
Jesper Wilhelmsson
6b8bf62a75 Merge 2020-07-03 00:14:21 +02:00
Jesper Wilhelmsson
55b472251e Merge 2020-06-26 04:15:33 +02:00
Jesper Wilhelmsson
233cac3232 Merge 2020-06-25 03:11:32 +02:00
Jesper Wilhelmsson
4862d0d542 Merge 2020-06-22 18:23:49 +02:00
Jesper Wilhelmsson
a16994ff7b Merge 2020-06-19 00:30:46 +02:00
Joe Darcy
be278bc564 8246222: Rename javac test T6395981.java to be more informative
Reviewed-by: jjg
2020-06-12 13:16:40 -07:00
Jan Lahoda
1b64fb2063 8247334: Trees.getScope crashes for annotated local records
Reviewed-by: vromero
2020-06-12 13:38:06 +02:00
Joe Darcy
a5b5712733 8235496: Start of release updates for JDK 16
8245585: Add SourceVersion.RELEASE_16
8245586: Add source 16 and target 16 to javac
8245544: com/sun/tools/javac/platform/JDKPlatformProvider.java does not support ct.sym with platform versions 16+

Co-authored-by: David Holmes <david.holmes@oracle.com>
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Reviewed-by: erikj, dholmes, ihse, neugens, jjg, jlahoda, jlaskey, mikael
2020-06-07 20:02:03 -07:00
Vicente Romero
0db1be28c7 8246486: javac doesn't allow a subclass to be declared before a sealed superclass with no permits clause
Reviewed-by: mcimadamore
2020-06-04 19:02:43 -04:00
Jan Lahoda
44ae643b2b 8210649: AssertionError @ jdk.compiler/com.sun.tools.javac.comp.Modules.enter(Modules.java:244)
Do not clean trees after last round of annotation processing, if the trees won't be re-entered again.

Reviewed-by: vromero
2020-06-02 08:41:36 +02:00
Jan Lahoda
04ad75e788 8241519: javac crashes with wrong module-info.class in module path
If module-info.class is broken, mark the corresponding ModuleSymbol as erroneous.

Reviewed-by: jjg
2020-06-02 08:27:37 +02:00
Vicente Romero
d42bfef8a4 8227046: compiler implementation for sealed classes
8225056: VM support for sealed classes
8227044: javax.lang.model for sealed classes
8227045: Preview APIs support for sealed classes
8227047: Javadoc for sealed types
8245854: JVM TI Specification for sealed classes

Co-authored-by: Harold Seigel <harold.seigel@oracle.com>
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Reviewed-by: mcimadamore, forax, darcy, dholmes, jlahoda, lfoltan, mchung, sspitsyn, vromero
2020-06-01 17:00:40 -04:00
Adam Sotona
5a57b9f8ec 8245153: Unicode encoded double-quoted empty string does not compile
Fixed parsing of Unicode encoded double-quoted empty strings in c.s.t.j.p.JavaTokenizer::scanString

Reviewed-by: jlaskey
2020-05-29 09:56:05 +02:00
Adam Sotona
4eeb61299f 8244573: java.lang.ArrayIndexOutOfBoundsException thrown for malformed class file
Fixed java.lang.ArrayIndexOutOfBoundsException in com.sun.tools.classfile.Code_attribute.getInstructions() for methods with no instructions

Reviewed-by: vromero
2020-05-30 20:10:18 -04:00
Hannes Wallnöfer
b43f356288 8177280: @see {@link} syntax should allow generic types
8237826: DocTrees should provide getType(DocTreePath) method

Reviewed-by: jjg
2020-05-29 14:28:13 +02:00
Adam Sotona
456fe234ce 8230827: javac gives inappropriate warning about potentially ambiguous methods
Fix of too strict com.sun.tools.javac.comp.Comp:checkPotentiallyAmbiguousOverloads method

Reviewed-by: jlahoda
2020-05-28 10:52:37 +02:00
Jan Lahoda
7671f2716b 8245786: Scope is wrong for ClassTree representing record
Listing RECORD as a class-like Tree Kind while computing Scope.

Reviewed-by: jjg
2020-05-28 13:37:39 +02:00
Adam Sotona
954db3353e 8241312: missing code coverage for records
Added tests for better coverage of records

Reviewed-by: vromero
2020-05-27 10:16:19 -04:00
Jonathan Gibbons
aabcf9f792 8245847: Update Profile.java to not require per-release updates
Reviewed-by: darcy
2020-05-26 13:25:23 -07:00
Joe Darcy
6cbf57aa37 8245147: Refactor and improve utility of test/langtools/tools/javac/versions/Versions.java
Reviewed-by: vromero
2020-05-19 15:17:00 -07:00
Jan Lahoda
ed9cbe252d 8241616: Timestamps on ct.sym entries lead to non-reproducible builds
Generate ct.sym in a reproducible way

Reviewed-by: ihse
2020-04-29 18:35:14 +02:00
Vicente Romero
9efdaacc31 8242478: compiler implementation for records (Second Preview)
Reviewed-by: mcimadamore, jlahoda, darcy
2020-05-17 11:09:52 -04:00
Jonathan Gibbons
49bfbd3bc7 8243417: Clean up com.sun.tools.javac.main.CommandLine
Reviewed-by: prappo
2020-05-13 10:39:35 -07:00
Jan Lahoda
4e55421171 8243548: Javac incorrectly collects enum fields when verifying switch expression exhaustivness
When gathering enum constants for exhaustivness analysis, make sure nested enum classes are not included

Reviewed-by: vromero
2020-05-04 12:28:36 +02:00
Jan Lahoda
1a35219f01 8243557: Inconvenient span for multi-catch error diagnostics
Reviewed-by: vromero
2020-05-04 12:28:35 +02:00
Jonathan Gibbons
009dd60ea3 8241780: Allow \n@ inside inline tags
Reviewed-by: prappo
2020-04-23 16:10:45 -07:00
Mandy Chung
7cc1371059 8238358: Implementation of JEP 371: Hidden Classes
Co-authored-by: Lois Foltan <lois.foltan@oracle.com>
Co-authored-by: David Holmes <david.holmes@oracle.com>
Co-authored-by: Harold Seigel <harold.seigel@oracle.com>
Co-authored-by: Serguei Spitsyn <serguei.spitsyn@oracle.com>
Co-authored-by: Alex Buckley <alex.buckley@oracle.com>
Co-authored-by: Jamsheed Mohammed C M <jamsheed.c.m@oracle.com>
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Co-authored-by: Amy Lu <amy.lu@oracle.com>
Reviewed-by: alanb, cjplummer, coleenp, dholmes, dlong, forax, jlahoda, psandoz, plevart, sspitsyn, vromero
2020-04-21 06:55:38 -07:00
Jan Lahoda
ec1c111c6c 8243074: Misplaced and/or duplicate super or this constructor invocation not attributed
Fully attributing misplaced and/or duplicated super/this constructor invocations

Reviewed-by: mcimadamore
2020-04-20 12:36:09 +02:00
Jan Lahoda
4b6e75dc72 8243047: javac may crash when processing exits in class initializers
Flow should handle invalid exits from class initializers gracefully

Reviewed-by: vromero
2020-04-20 12:36:09 +02:00
Jan Lahoda
df82d9a4b5 8242802: javac crashes when checking equals and hashCode in unresolvable anonymous class
Preventing NullPointerException when a class has an erroneous supertype and does not have an implementation of the equals method.

Reviewed-by: darcy, vromero
2020-04-20 12:36:09 +02:00
Liam Miller-Cushon
4895a19dd1 8241798: Allow enums to have more constants
Reviewed-by: mcimadamore, briangoetz, forax
2020-03-28 16:15:52 -07:00
Roger Riggs
3cf922b3d1 8242462: Residual Cleanup of rmic removal
Reviewed-by: jjg, amlu, erikj, iignatyev, mseledtsov
2020-04-10 16:33:56 -04:00
Jim Laskey
ef8537ec1a 8241741: Implement Text Blocks as a standard feature in javac
Reviewed-by: jlahoda
2020-04-09 10:55:01 -03:00
Adam Sotona
c2efd224ca 8239544: Javac does not respect should-stop.ifNoError policy to stop after CompileState PARSE, ENTER and PROCESS
JavaCompiler patch fixing its response to should-stop.ifNoError= option for PARSE, ENTER and PROCESS compiler states + new T8239544.java matrix regression test

Reviewed-by: jlaskey, jlahoda
2020-04-08 15:00:39 +02:00
Liam Miller-Cushon
25642dd303 8035787: SourcePositions are wrong for Strings concatenated with '+' operator
Reviewed-by: jlahoda
2020-04-06 15:40:16 -07:00
Vicente Romero
bf54c47471 8240970: Some tests fail when run with JCov
Reviewed-by: jjg
2020-03-18 14:33:05 -04:00
Jan Lahoda
6ddb0f2b2c 8240964: Compilation error thrown when long literal used with yield
Ensuring yield followed by a long literal is recognized as a yield statement.

Reviewed-by: mcimadamore
2020-03-16 13:06:35 +01:00
Vicente Romero
f819e417f9 8235339: test TargetAnnoCombo.java is failing after new target RECORD_COMPONENT was added
Reviewed-by: darcy
2020-03-14 17:08:25 -04:00
Vicente Romero
afbe2286e2 8239447: compiler error for annotations applied to record components with target METHOD
Reviewed-by: mcimadamore
2020-03-13 10:29:03 -04:00
Adam Sotona
5eef59d22d 8235216: typo in test filename
Renamed MutliReleaseModuleInfoTest.java to MultiReleaseModuleInfoTest.java

Reviewed-by: jjg
2020-03-10 17:33:37 +01:00
Vicente Romero
4a32eda417 8240454: incorrect error message: as of release 13, 'record' is a restricted type name
Reviewed-by: jlahoda
2020-03-05 16:46:24 -05:00
Jan Lahoda
0c9983887d 8228451: NPE in Attr.java when -XDshould-stop.ifError=FLOW
Avoiding parsing of compound assignment as a type.

Reviewed-by: jjg, vromero
2020-03-04 13:43:27 +01:00
Joe Darcy
d4a069b33b 8237450: JDK13 annotation processors not run when a supported annotation type specifies a module
Initial fix suggested by jjg based on through analysis by Jeremy Kuhn.

Reviewed-by: jjg
2020-02-18 17:03:54 -08:00
Vicente Romero
4c707c1df3 8238838: spurious error message for compact constructors with throws clause
Reviewed-by: mcimadamore
2020-02-13 14:13:08 -05: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
Adam Sotona
f2013ac247 8236997: tools/javac tests fail with --illegal-access=deny
Correctly exporting packages to tests.

Reviewed-by: jlahoda
2020-01-28 09:13:27 +01:00
Vicente Romero
64288e1e76 8235149: javac parser is too aggressive on ambiguous expressions using identifier: record
Reviewed-by: mcimadamore
2020-01-27 18:50:19 -05:00
Vicente Romero
0f98701e87 8236210: javac generates wrong annotation for fields generated from record components
Reviewed-by: mcimadamore
2020-01-23 19:20:11 -05:00
Mikael Vidstedt
eef726a99a 8237601: test/langtools/tools/javac/warnings/MaxDiagsRecompile.java fails after JDK-8237589
Reviewed-by: dholmes
2020-01-21 17:37:18 -08:00
Mikael Vidstedt
3318314c7c 8237589: Fix copyright header formatting
Reviewed-by: jjg, serb, iris, jwilhelm
2020-01-21 14:23:01 -08:00
Jesper Wilhelmsson
51d5164ca2 Merge 2020-01-16 04:09:50 +01:00
Jan Lahoda
8787b9a66d 8233655: NPE at jdk.compiler/com.sun.tools.javac.comp.Flow$FlowAnalyzer.visitApply
Ensuring that errors reported during speculative attribution that belong to a different file are not lost.

Reviewed-by: mcimadamore
2020-01-15 11:31:16 +01:00
Vicente Romero
5ff1d72185 8236005: local records shouldn't capture any non-static state from any enclosing type
Reviewed-by: mcimadamore
2020-01-14 07:07:43 -05:00
Jan Lahoda
a35d087f54 8236670: Conflicting bindings accepted in some cases
Reviewed-by: mcimadamore
2020-01-14 11:10:07 +01:00
Jesper Wilhelmsson
d34f561de0 Merge 2020-01-15 20:41:46 +01:00
Jan Lahoda
8e2c1c68f6 8236546: Yield with boolean expression and Object target type crashes javac
The whenTrue and whenFalse sets need to be merged for non-boolean expressions.

Reviewed-by: mcimadamore
2020-01-13 10:50:31 +01:00
Vicente Romero
4692bc58eb 8236841: compact constructor parameters are always final
Reviewed-by: mcimadamore
2020-01-10 15:32:04 -05:00
Mandy Chung
fe8e1aacd1 8225773: jdeps --check produces NPE if there are missing module dependences
Reviewed-by: alanb
2020-01-10 11:50:54 -08:00
Mandy Chung
b7e74ef62f 8229396: jdeps ignores multi-release when generate-module-info used on command line
Reviewed-by: alanb
2020-01-10 11:48:16 -08:00
Vicente Romero
ff77d06f17 8236597: issues inferring type annotations on records
Reviewed-by: mcimadamore
2020-01-15 10:45:03 -05:00
Vicente Romero
ddcac6f066 8236682: Javac generates a redundant FieldRef constant for record fields
Reviewed-by: mcimadamore
2020-01-14 21:49:43 -05:00
Jesper Wilhelmsson
913b8702d1 Merge 2020-01-13 15:40:09 +01:00
Jesper Wilhelmsson
943b87ddde Merge 2020-01-09 20:21:53 +01:00
Jesper Wilhelmsson
257a1bb854 Merge 2020-01-08 16:03:32 +01:00
Vicente Romero
50a56141ba 8234445: spurious error message for record constructors with receiver parameters
Reviewed-by: mcimadamore
2020-01-07 09:21:07 -05:00
Vicente Romero
be6b4aab40 8236692: static final fields without initializer are accepted by javac
Reviewed-by: mcimadamore
2020-01-08 15:18:58 -05:00
Jan Lahoda
ad5ea72286 8235541: Extend javax.lang.model to cover binding variables
Reviewed-by: darcy
2019-12-09 09:40:09 +01:00
Jonathan Gibbons
d8d4cd6508 8235597: Extend support for -XDaccessInternalAPI to plugin modules
Reviewed-by: mcimadamore, jlahoda
2019-12-11 16:32:49 -08:00
Jonathan Gibbons
75acf956f1 Merge 2019-12-11 15:34:19 -08:00
Jonathan Gibbons
93b7d283d8 8214916: SourceLauncherTest fails on exploded image
Reviewed-by: ksrini
2019-12-11 15:33:17 -08:00
Vicente Romero
69c1729e26 8234101: Compilation error thrown when repeating annotation is used on record component
Reviewed-by: jlahoda
2019-12-11 15:31:40 -05:00
Jeremy Kuhn
cbe604cf5d 8235457: Crash when reporting a message about an annotation on a module
8235458: Problem caused by imports in a module-info.java file

Reviewed-by: jjg
2019-12-11 11:55:50 -08:00
Jonathan Gibbons
589f23568a 8234689: facilitate writing additional custom attributes in a class file
Reviewed-by: jlahoda
2019-12-09 12:27:57 -08:00
Jonathan Gibbons
45b8d09e1b 8234211: allow discoverable javac plugins to be invoked by default
Reviewed-by: jlahoda
2019-12-09 10:44:02 -08:00
Vicente Romero
bf2f855cd7 8235446: confusing error message for records with no parens
Reviewed-by: mcimadamore
2019-12-06 14:23:17 -05:00
Vicente Romero
9695ddfffc 8234445: spurious error message for record constructors with receiver parameters
Reviewed-by: mcimadamore
2019-12-19 11:46:35 -05:00
Jim Laskey
945c8d555b 8232681: ArrayIndexOutOfBoundsException with text blocks in javac when using -Xlint
Reviewed-by: sundar
2019-12-05 09:22:21 -04: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
Jim Laskey
234f326d79 8233116: Escape Sequences For Line Continuation and White Space (Preview)
Reviewed-by: vromero, jlahoda, bchristi, mcimadamore
2019-12-03 08:35:21 -04: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
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
Jonathan Gibbons
6025207be8 8234687: change javap reporting on unknown attributes
Reviewed-by: mchung
2019-11-22 16:26:35 -08:00
Jaikiran Pai
0435ec1aaa 8232170: FSInfo#getJarClassPath throws an exception not declared in its throws clause
Reviewed-by: jjg
2019-11-22 10:38:35 -08:00
Per Lidén
5cb6271830 8234382: Test tools/javac/processing/model/testgetallmembers/Main.java using too small heap
Reviewed-by: eosterlund, tschatzl
2019-11-20 10:37:46 +01:00
Jie Fu
368b6b5a2d 8234183: [TESTBUG] tools/javac/api/TestModuleUnnamedPackage.java fails to compile
Reviewed-by: jjg
2019-11-14 12:42:44 -08:00
Joe Darcy
c64756158f 8233096: Update javax.lang.model for switch expressions
Reviewed-by: jjg, jlahoda
2019-11-13 15:16:45 -08:00
Jonathan Gibbons
71a86af40e 8234025: Elements.getPackageElement(ModuleElement,CharSequence) returns null for unnamed package
Reviewed-by: jlahoda
2019-11-13 10:33:00 -08:00
Jan Lahoda
29852ecd80 8232684: Make switch expressions final
Reviewed-by: alanb, mcimadamore, kvn
2019-11-12 06:32:13 +00:00
Vicente Romero
89e0d29101 8235778: No compilation error reported when a record is declared in a local class
Reviewed-by: mcimadamore
2019-12-16 15:33:03 -05:00
Joe Darcy
890826bf5b 8225361: Start of release updates for JDK 15
8235497: Add SourceVersion.RELEASE_15
8235528: Add source 15 and target 15 to javac

Reviewed-by: erikj, jjg, jlahoda, dholmes, alanb, hseigel, mikael, chegar
2019-12-10 16:38:53 -08:00
Jan Lahoda
7a006b3608 8230847: Trees.getScope may crash when invoked for statement inside switch
More thoroughly avoiding side-effects when attributing (to) for Trees.getScope.

Reviewed-by: mcimadamore
2019-11-04 10:58:14 +01: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
a1894385b3 8226585: Improve javac messages for using a preview API
Avoiding deprecation for removal for APIs associated with preview features, the features are marked with an annotation, and errors/warnings are produced for them based on the annotation.

Co-authored-by: Joe Darcy <joe.darcy@oracle.com>
Reviewed-by: erikj, mcimadamore, alanb
2019-10-21 15:38:26 +02:00
Brad Corso
3e8d409cee 8230162: ScopeImpl.remove() has O(N) performance
Reviewed-by: jlahoda
2019-10-08 15:43:38 +02:00
Jan Lahoda
a51a8527e7 8228460: bootstrap class path not set in conjunction with -source 11
Ensuring implicit system module path is checked for the no-bootclasspath warning for -source >= 9.

Reviewed-by: vromero
2019-09-18 10:41:18 +02:00
Jan Lahoda
2fa3eddd3c 8177068: incomplete classpath causes NPE in Flow
Undo completions that failed during speculative attribution, so that the appropriate CompletionFailures are thrown again and properly reported.

Reviewed-by: vromero
2019-09-05 12:39:48 +02:00
Joe Darcy
f14e213524 8230337: Clarify intention of Elements.{getPackageOf, getModuleOf}
Reviewed-by: jjg
2019-08-30 11:26:48 -07:00
Jan Lahoda
1d71dd8604 8230105: -XDfind=diamond crashes
Avoiding side-effects in Analyzer's speculative attribution.

Reviewed-by: mcimadamore, vromero
2019-08-30 12:24:16 +02:00
Jan Lahoda
f033152eae 8228502: javac crashed on a broken classfile with ConstantValue attribute on a field of type Object
Produce an error when reading a classfile with a field with ConstantValue with a wrong type.

Reviewed-by: vromero
2019-08-13 10:27:34 +02:00
Jan Lahoda
36ae680f2a 8228647: Broken enum produce inconvenient errors and AST
Improving error recovery for misplace members in enums.

Reviewed-by: vromero
2019-08-13 10:27:33 +02:00
Jan Lahoda
6e86f5b47b 8227922: DocTreeScanner does not dive into AttributeTree.getValue() and LiteralTree.getBody()
DocTreeScanner.visitAttribute and visitLiteral have to scan through the subnodes of AttributeTree and LiteralTree, respectivelly.

Reviewed-by: vromero
2019-08-13 10:27:32 +02:00
Christoph Langer
d3fa36896e 8228571: [TESTBUG] Fix tests failing on non-aot platforms after JDK-8227512
Reviewed-by: iignatyev, jjg
2019-07-26 09:06:03 +02:00
Jan Lahoda
03270bb92a 8227923: End position of EndElementTree is -1
Fixing end positions for DocTrees EndElementTree, EntityTree and CommentTree.

Reviewed-by: jjg
2019-07-22 12:21:18 +02:00
Matthias Baesken
c3bd80322e 8227247: tools/sjavac/IdleShutdown.java fails with AssertionError: Error too big on windows
Reviewed-by: jjg, stuefe
2019-07-10 11:11:30 +02:00
Mikael Vidstedt
f08a9de3b2 Merge 2019-07-17 04:33:37 -07:00
Jan Lahoda
c0d870559f 8227640: javac crashes on text blocks with invalid escapes
Do not translate escape sequences if text block contains illegal escapes.

Reviewed-by: jlaskey
2019-07-16 10:48:22 +02:00
Pengfei Li
a5388f21b7 8227512: [TESTBUG] Fix JTReg javac test failures with Graal
Reviewed-by: mcimadamore
2019-07-16 00:57:00 +00:00
Jan Lahoda
32a7e50bee 8220041: NullPointerException at jdk.compiler/com.sun.tools.javac.jvm.Code.emitop0
LambdaToMethod must correctly capture local variables inside switch expressions inside local variable initializers.

Reviewed-by: mcimadamore, vromero
2019-07-10 09:04:42 +02:00
Mikael Vidstedt
e9d003926b Merge 2019-07-10 07:27:58 -07:00
Jan Lahoda
d24296edf4 8223443: Calling Trees.getScope early changes names of local/anonymous classes
Ensure Trees.getScope does not affect the rest of the compilation.

Reviewed-by: mcimadamore
2019-07-09 09:20:04 +02:00
Jan Lahoda
c4213848c0 8227010: Error recovery after local variable redeclaration can be improved
Entering duplicate local variables into the current scope so that the new variable is used instead of the previous variable.

Reviewed-by: mcimadamore
2019-07-04 16:51:24 +02:00
Mikael Vidstedt
c200fc1f34 Merge 2019-07-03 07:56:41 -07:00
Jesper Wilhelmsson
37599ff955 Merge 2019-06-29 05:26:55 +02:00
Jan Lahoda
e81d3fa8c3 8226510: No compilation error when switch expression has no result expressions
Ensure a compile-time error is produced when there are no result expressions in an switch expression.

Reviewed-by: vromero
2019-06-27 10:39:27 +02:00
Jonathan Gibbons
454f9f9fd0 8225748: Use SHA-256 for javap classfile checksum
Reviewed-by: mchung
2019-06-18 11:52:57 -07:00
Jesper Wilhelmsson
dc82364e05 Merge 2019-06-18 22:48:27 +02:00
Joe Darcy
51cf24fcc0 8222369: ExecutableElement.getReceiverType returns null instead of NOTYPE
Reviewed-by: jjg
2019-06-13 16:39:20 -07:00
Joe Darcy
aeedfd44b0 8164819: Make javac's toString() on annotation objects consistent with core reflection
Reviewed-by: jjg, coleenp
2019-06-13 11:50:45 -07:00
Jan Lahoda
1dd6e7a3eb 8226522: No compilation error reported when yield is used in incorrect context
Reviewed-by: mcimadamore
2019-07-02 09:14:51 +02:00
Hannes Wallnöfer
3353016bbc 8225671: Support HTML 5 character references in javadoc
Reviewed-by: jjg
2019-06-12 23:21:24 +02:00
Jan Lahoda
d9407ce428 8220018: javac crash when compiling try-catch-finally inside switch expression
Correcting handling of finally that yields from a switch expression.

Reviewed-by: mcimadamore, jlahoda
2019-06-12 13:49:43 +02:00
Joe Darcy
4750064828 8214546: Start of release updates for JDK 14
8214547: Add SourceVersion.RELEASE_14
8214548: Add source 14 and target 14 to javac
8214549: Bump maximum recognized class file version to 58 for JDK 14

Reviewed-by: jjg, mikael, erikj, jlahoda, dholmes
2019-06-11 16:45:20 -07:00
Jan Lahoda
b34b2d993c 8223305: Compiler support for Switch Expressions
Reviewed-by: mcimadamore, vromero
2019-06-10 05:09:52 +02:00
Jim Laskey
08e1ece107 8223967: Implement Text Blocks (Preview) in the Java compiler
Reviewed-by: vromero, jlahoda, abuckley
2019-06-06 12:24:44 -03:00
Vicente Romero
43114a091a 8225386: test for JDK-8216261 fails in Windows
Reviewed-by: jjg
2019-06-05 21:50:29 -04:00
Vicente Romero
d69bc696f2 8223942: Missing methods in ClientCodeWrapper$WrappedJavaFileManager
Reviewed-by: jjg
2019-06-05 17:01:43 -04:00
Vicente Romero
16a0533eac 8216261: Javap ignores default modifier on interfaces
Reviewed-by: jjg, darcy
2019-06-05 16:01:50 -04:00
Jonathan Gibbons
45f6ff3894 8223805: DocCommentParser should allow for <main> and </main>
Reviewed-by: hannesw
2019-06-04 11:29:29 -07:00
Joe Darcy
bcd13b790f 8224687: Add clarifying overrides of Element.asType to more specific subinterfaces
Reviewed-by: jjg
2019-05-30 16:21:08 -07:00
Athijegannathan Sundararajan
90fb4990ed 8224946: jrtfs URI to Path and Path to URI conversions are wrong
Reviewed-by: alanb
2019-05-30 17:30:33 +05:30
Jim Laskey
4e83c1c4dc 8224908: Revert: 8216553: JrtFileSystemProvider getPath(URI) omits /modules element from file path
Reviewed-by: darcy, kbarrett
2019-05-28 16:51:28 -03:00
Athijegannathan Sundararajan
0c724506b8 8216553: JrtFIleSystemProvider getPath(URI) omits /modules element from file path
Reviewed-by: alanb, jlaskey
2019-05-28 19:30:30 +05:30
Jan Lahoda
0112514fde 8220702: compiling in the context of an automatic module disallows --add-modules ALL-MODULE-PATH
Allow --add-modules ALL-MODULE-PATH when compiling in the context of an automatic module.

Reviewed-by: jjg
2019-05-24 12:25:18 +02:00
Joe Darcy
4dd6b687ef 8224177: Harden annotation processing framework to irregular behavior from processors
Reviewed-by: jjg
2019-05-23 18:47:24 -07:00
Jan Lahoda
08193be19c 8224031: Cannot parse switch expressions after type cast
Correctly categorize parentheses followed by the switch keyword as cast.

Reviewed-by: mcimadamore
2019-05-16 16:42:14 +02:00
Jan Lahoda
b32a840e53 8222169: java.lang.AssertionError switch expression in ternary operator - ?
Ensure the stack size recoded at the begining of the let expression is the correct one.

Co-authored-by: Vicente Romero <vicente.romero@oracle.com>
Reviewed-by: vromero
2019-05-16 10:52:36 +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
Vicente Romero
40155b14cd 8222251: preflow visitor is not visiting lambda expressions
Reviewed-by: mcimadamore
2019-05-09 10:04:33 -04:00
Vicente Romero
c98fb7d64b 8222949: add condy support to javac's pool API
Reviewed-by: mcimadamore
2019-05-08 10:10:54 -04:00
Lance Andersen
5a4cef05d6 8218875: Add new FileSystems.newFileSystem methods
Reviewed-by: rriggs, alanb, clanger, dfuchs
2019-05-02 17:08:03 -04:00
Joe Darcy
75471b411d 8146726: Improve AbstractProcessor to issue warnings for repeated information
Reviewed-by: jjg, smarks, serb, igerasim
2019-05-01 16:47:26 -07:00
Steve Groeger
7c55d53d66 8218152: [javac] fails and exits with no error if a bad annotation processor provided
Handle exceptions thrown while loading annotation processors.

Reviewed-by: jlahoda
2019-04-30 10:39:22 +02: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
4a9f7612be 8222430: Add tests for ElementKind predicates
Reviewed-by: jjg
2019-04-15 16:05:46 -07:00
Joe Darcy
7d29dd2172 8222378: Provide mechanism to query preview feature status for annotation processors
Reviewed-by: jjg
2019-04-15 15:44:42 -07:00
Martin Doerr
f2369e9748 8220625: tools/javac/classreader/8171132/BadConstantValue.java failed with "did not see expected error"
Reviewed-by: clanger
2019-04-15 10:16:04 +02:00
Jan Lahoda
28dd6d8496 8217047: Provide a way to inject missing parameter names
Adding a way to provide parameter names that are missing in the classfiles.

Reviewed-by: darcy, jjg
2019-04-11 17:55:18 +02:00
Jan Lahoda
ae5972a204 8215407: javac should reject class files with bad EnclosingMethod attributes
Reject classfiles with broken EnclosingMethod attribute.

Reviewed-by: jjg
2019-04-11 14:49:04 +02:00
Vicente Romero
2468ac91ee 8222035: minimal inference context optimization is forcing resolution with incomplete constraints
Reviewed-by: mcimadamore, cushon
2019-04-10 17:15:53 -04:00
Ron Shapiro
b6cdfa908f 8221118: Avoid eagerly creating JCDiagnostic for CompletionFailures
Reviewed-by: jjg, mcimadamore, forax
2019-03-29 07:38:34 -07:00
Liam Miller-Cushon
b0f6b1086a 8220632: Suggest recompiling with a larger value of -Xmaxerrs/-Xmaxwarns if diagnostics were suppressed
Reviewed-by: jjg
2019-03-26 16:09:33 -07:00
Jan Lahoda
4969d23b89 8221413: javac does not recognize variable assigned in switch expression as DA
Fixing definite assignment in presence of implicit throws clause in switch expressions over enums.

Reviewed-by: vromero
2019-03-28 10:32:05 +01:00
Liam Miller-Cushon
31f64932c3 8220687: Add StandardJavaFileManager.getJavaFileObjectsFromPaths overload
Reviewed-by: jjg
2019-03-26 15:00:02 -07:00
Christoph Langer
1a48fa0fb7 8200286: (testbug) MOptionTest test fails with java.lang.AssertionError: Classfiles too old!
Reviewed-by: stuefe, jjg
2019-03-22 08:56:30 +01:00
Jonathan Gibbons
d3242724c9 8220379: Fix doclint handling of headings
Reviewed-by: erikj, jlahoda
2019-03-14 11:39:00 -07:00
Liam Miller-Cushon
0720686823 8193277: SimpleFileObject inconsistency between getName and getShortName
Reviewed-by: jjg
2019-03-05 12:01:04 -08:00
Liam Miller-Cushon
ab3f5e3e15 8220634: SymLinkArchiveTest should handle not being able to create symlinks
Reviewed-by: jjg
2019-03-13 17:26:21 -07:00
Jan Lahoda
76c916516c 8217868: Crash for overlap between source path and patch module path
When analyzing implicit files, do not look for containing module, but rather use the already known one.

Reviewed-by: jjg
2019-03-04 10:19:35 +01:00
Christoph Langer
8bec32b02f 8219915: [TESTBUG] Fix test langtools/tools/javac/processing/model/completionfailure/SymbolsDontCumulate.java in Standalone mode
Reviewed-by: jlahoda
2019-03-01 10:15:04 +00:00
Priya Lakshmi Muthuswamy
151e628a8e 8215584: Remove support for the "old" doclet API in com/sun/javadoc
Reviewed-by: jjg, hannesw
2019-02-22 11:10:55 +05:30
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
Jan Lahoda
68d32a9a8a 8217381: Incovenient errors reported when annotation processor generates source file and errors in the same round
When an annotation processor reports and error, defer reporting recoverable errors from the erroneous round to the last round, to avoid reporting errors that were resolved in the erroneous round.

Reviewed-by: jjg
2019-02-15 12:09:53 +01:00
Srinivas Dama
37169f4bbc 8201544: Improve javac command line parsing and error reporting
Modified exception into an error message for invalid filenames on windows

Reviewed-by: vromero, jjg
2019-02-14 21:52:39 +05:30
Bernard Blaser
777ad9080e 8193367: Annotated type variable bounds crash javac
Reviewed-by: mcimadamore, vromero
2019-01-26 15:50:59 +01:00
Jonathan Gibbons
6326bf224e 8217395: Update langtools shell tests to use ${EXE_SUFFIX}
Reviewed-by: darcy
2019-01-18 12:41:11 -08:00
Bernard Blaser
454cbfacaa 8214345: infinite recursion while checking super class
Reviewed-by: vromero
2019-01-18 13:49:45 -05:00
Vicente Romero
ae0cb515d6 8215482: check for cycles in type variables can provoke NPE
Reviewed-by: mcimadamore
2019-01-14 12:24:25 -05:00
Joe Darcy
5ad47c58a3 8208371: Provided supported mechanims to create a ModuleElement for an unnamed module
Reviewed-by: jjg
2019-01-11 09:57:15 -08:00
Joe Darcy
f68fd6a1c2 8216404: Elements.getPackageOf should handle modules
Reviewed-by: jlahoda
2019-01-10 10:34:30 -08:00
Jesper Wilhelmsson
67a5fc2529 Merge 2019-01-09 22:59:49 +01:00
Jim Laskey
11b29c8de1 8215681: Remove compiler support for Raw String Literals from JDK 12
Reviewed-by: mcimadamore, jlahoda, sundar
2019-01-09 11:13:00 -04:00
Srinivas Dama
ead8577920 8208184: IllegalArgumentException while invoking code completion on netbeans IDE
Set Log.useSource and fix the issue in Modules.java when broken module is encountered

Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Reviewed-by: jjg
2018-12-24 12:18:40 +05:30
Vicente Romero
f398c3dcd2 8215625: javax/sql/testng/util/xxxxx.java tests compilation failed after JDK-8207224
Reviewed-by: mcimadamore
2018-12-19 14:02:19 -05:00
Vicente Romero
8b6b63b38b 8207224: Javac compiles source code despite illegal use of unchecked conversions
Reviewed-by: mcimadamore, darcy
2018-12-18 16:22:46 -05:00
Alan Bateman
888057a89f 8215449: Several tests failing when jtreg run with -vmoption:--illegal-access=deny
Reviewed-by: redestad, mchung, jjg
2018-12-18 10:26:15 +00: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
Priya Lakshmi Muthuswamy
9d967e70fc 8214468: jQuery UI upgrade from 1.11.4 to 1.12.1
Reviewed-by: hannesw
2018-12-12 13:01:29 +05:30
Srinivas Dama
2f34c5ac6a 8208184: IllegalArgumentException while invoking code completion on netbeans IDE
Set Log.useSource and fix the issue in Modules.java when broken module is encountered

Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Reviewed-by: jjg
2019-01-03 11:21:11 +05:30
Jan Lahoda
655c5d7f35 8214114: Switch expressions with try-catch statements
When switch expression contains try-catch, move the stack values into locals before the executing the switch expression, and back when it is done.

Reviewed-by: mcimadamore, vromero
2018-12-11 09:10:24 +01:00
Harold Seigel
5a23b59ca0 8215015: [TESTBUG] remove unneeded -Xfuture option from tests
Remove the option from the tests

Reviewed-by: lfoltan, coleenp
2018-12-10 13:24:17 -05:00
Vicente Romero
9846588b31 8210031: implementation for JVM Constants API
Co-authored-by: Brian Goetz <brian.goetz@oracle.com>
Reviewed-by: jrose, mcimadamore, darcy, mchung, rriggs, dholmes, forax
2018-12-09 12:36:24 -05:00
Hannes Wallnöfer
c0099a8a0d 8214571: -Xdoclint of array serialField gives "error: array type not allowed here"
Reviewed-by: jjg, sundar
2018-12-06 12:34:28 +01:00
Liam Miller-Cushon
7f365fffbd 8214902: Pretty-printing marker annotations add unnecessary parenthesis
Reviewed-by: jjg
2018-12-05 11:31:20 -08: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
Jan Lahoda
504dfa5de0 8214529: Exception while using Anonymous class in switch expression
Clearing breakResult when creating methodEnv.

Reviewed-by: mcimadamore
2018-12-03 14:25:00 +01:00
Jan Lahoda
835c863ba8 8214031: Assertion error in value break statement with conditional operator in switch expression
Correcting handling of boolean-valued switch expressions when true/false; generating them directly rather than desugaring in Lower.

Reviewed-by: mcimadamore
2018-12-03 10:37:36 +01:00
Srikanth Adayapalam
10d83827bc 8206325: AssertionError in TypeSymbol.getAnnotationTypeMetadata
Reviewed-by: mcimadamore
2018-11-30 10:37:48 +05:30
Liam Miller-Cushon
bddbbd85f9 8214026: Canonicalized archive paths appearing in diagnostics
Reviewed-by: vromero
2018-11-19 15:01:59 -08:00
Vicente Romero
10da56f017 8203277: preflow visitor used during lambda attribution shouldn't visit class definitions inside the lambda body
Reviewed-by: mcimadamore
2018-11-27 11:07:44 -05:00
Jan Lahoda
06b1502892 8214113: Switch expressions may have constant type and may be skipped during write
Switch expressions should not be compile-time constants.

Reviewed-by: mcimadamore
2018-11-26 09:24:08 +01:00
Mandy Chung
b2604123d3 8214223: tools/jdeps/listdeps/ListModuleDeps.java failed due to missing Lib2 file
Reviewed-by: lancea, alanb
2018-11-22 10:15:32 -08:00
Hannes Wallnöfer
c047c5cfcf 8200432: javadoc fails with ClassCastException on {@link byte[]}
Reviewed-by: jjg, sundar
2018-11-22 15:38:20 +01:00
Mandy Chung
0126fdbef0 8213909: jdeps --print-module-deps should report missing dependences
8168869: jdeps: localized messages don't use proper line breaks

Reviewed-by: sundar
2018-11-21 22:34:01 -08:00
Mandy Chung
9d7509e647 8211051: jdeps usage of --dot-output doesn't provide valid output for modular jar
Reviewed-by: sundar
2018-11-21 22:33:33 -08:00
Jan Lahoda
60b32f222f 8212982: Rule cases in switch expression accepted even if complete normally
Ensure an error is reported if switch expression does not correctly produce a value.

Reviewed-by: mcimadamore
2018-11-21 15:22:57 +01:00
Liam Miller-Cushon
4a235517f9 8213908: AssertionError in DeferredAttr at setOverloadKind
Reviewed-by: mcimadamore
2018-11-19 09:57:41 -08:00
Srinivas Dama
e4f60a8489 8210742: compound var declaration type is not uniform for all variables
Make implicit type for all variables in compound declaration as null for which type inference happens at later phase

Reviewed-by: mcimadamore
2018-11-20 21:59:07 +05:30