Commit Graph

744 Commits

Author SHA1 Message Date
Guoxiong Li
accbfeaf22 8226216: parameter modifiers are not visible to javac plugins across compilation boundaries
Reviewed-by: jlahoda
2021-05-12 14:32:57 +00:00
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