Commit Graph

401 Commits

Author SHA1 Message Date
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