Commit Graph

1120 Commits

Author SHA1 Message Date
Dan Smith
06b8a7ac80 8034147: javac crashes with a NullPointerException during bounds checking
Types.supertype should return Type.noType rather than null

Reviewed-by: vromero, mcimadamore
2014-06-20 10:56:31 -06:00
Vicente Romero
d7c001dd04 8042759: Lambda returning implicitly-typed lambdas considered pertinent to applicability
Reviewed-by: mcimadamore
2014-06-19 23:52:33 +01:00
Jan Lahoda
9d852a54ef 8041648: do while loop that misses ending semicolon has wrong end position
Ensure the end positions are meaningful even if statement's semicolon is missing.

Co-authored-by: Dusan Balek <dusan.balek@oracle.com>
Reviewed-by: jjg
2014-06-19 22:06:29 +02:00
Vicente Romero
5b199f3cb8 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
Co-authored-by: Maurizio Cimadamore <maurizio.cimadamore@oracle.com>
Reviewed-by: mcimadamore
2014-06-19 15:39:37 +01:00
Jan Lahoda
e6b9e34ebe 8046916: Type parameter annotations don't work with multiple type parameters
When reading type variable's annotations out of the owner's type annotations, use the type variable's index in owner to exclude annotations belonging to other type variables.

Reviewed-by: jfranck, emc
2014-06-18 10:44:16 +02:00
Vicente Romero
e4773094de 8036953: Fix timing of varargs access check, per JDK-8016205
Reviewed-by: mcimadamore, dlsmith
2014-06-17 17:33:01 +01:00
Paul Govereau
f2e2245e7b 8038975: Access control in enhanced for
Reviewed-by: vromero, jlahoda
2014-06-17 11:11:59 -04:00
Andreas Lundblad
77fa3101ec 8042830: A recently added Xprefer test fails on Windows
Test now accepts both / and \ as file separator.

Reviewed-by: mcimadamore
2014-06-12 14:29:09 +02:00
Eric McCorkle
29e8b83b48 8043484: DPrinter does not compile
Make DPrinter compile

Reviewed-by: jjg
2014-06-12 11:32:23 -04:00
Paul Govereau
577b60e711 8027886: javac allows illegal receiver parameters
8029042: Receiver parameter not supported on local class constructor

Reviewed-by: jfranck, jlahoda
2014-06-11 12:49:10 -04:00
Dan Smith
3ea78c679c 8015101: Covariance of return type implied by upper bounding on type parameter is ignored
Capture intersection supertypes before comparing their members

Reviewed-by: vromero
2014-06-10 15:25:01 -06:00
Dan Smith
6e1ae5955e 8037385: constant pool errors with -target 1.7 and static default methods
Add error check for static interface methods invoked from -source 7

Reviewed-by: vromero, mcimadamore
2014-06-10 12:41:39 -06:00
Maurizio Cimadamore
dab523a752 8043725: javac fails with StackOverflowException
Loose type comparison test should be protected against infinite recursion with fbounds

Reviewed-by: vromero
2014-06-09 12:54:02 +01:00
Jan Lahoda
d71f75ae86 8033414: javac Plugin to receive notification (before and) after the compilation
Introducing TaskEvent.Kind.COMPILATION, sending this event before and after compilation.

Co-authored-by: Joel Borggren-Franck <joel.franck@oracle.com>
Reviewed-by: jjg, jfranck
2014-06-09 10:17:16 +02:00
Jonathan Gibbons
15853aca13 7026941: 199: path options ignored when reusing filemanager across tasks
Reviewed-by: jlahoda, jfranck
2014-06-08 15:02:34 -07:00
Andrei Eremeev
8aa391d4c9 8042451: Write tests for all possible kinds of type annotation
Add new tests for type annotations to improve case coverage

Reviewed-by: jjg, emc, abuckley
2014-06-06 16:08:46 -04:00
Eric McCorkle
8ff3cbd414 8027262: Determine location for type annotations earlier in compiler pipeline
8027261: Single codepath for attaching annotations to symbols
8027258: Permit a single source annotation to generate multiple bytecode annotations
8027182: Incorrect annotation attributes for type annotations on constructor type parameters
8044010: TypeAnnotation attribute is not generated for repeatable annotation in type argument
8044009: TypeAnnotation attribute is not generated for repeatable annotation in nested types
8043974: TypeAnnotation attribute is not generated for repeatable annotation in lambda
8043669: Few of the ANNOT tests in JCK9 test suite fail with an AssertionError for exception_index
8042060: Type parameter annotations don't work with multiple type parameters
8037348: RuntimeInvisibleAnnotations should not be generated for type annotation on anonymous innerclass creation

Initial rearchitecting of type annotations frontend pipeline

Reviewed-by: jjg, jfranck, mcimadamore, jlahoda, wmdietl
2014-06-06 16:00:59 -04:00
Jonathan Gibbons
a9bd96c90c 8046067: test/tools/javac/api/6410643/T6410643.java is broken
Reviewed-by: darcy, ksrini
2014-06-05 13:22:37 -07:00
Sonali Goel
887f81a738 8044072: Group 2: create .out files for OverrideChecks tests in tools/javac dir
Reviewed-by: jjg
2014-06-05 10:57:10 -07:00
Sonali Goel
d15c9840ed 8044064: Group 1: create .out files for cast and capture negative tests in tools/javac dir
Reviewed-by: jjg
2014-06-05 10:44:38 -07:00
Maurizio Cimadamore
cd68d10b6f 8043893: Inference doesn't report error on incompatible upper bounds
Failure on type-equality check during incorporation doesn't trigger inference error

Reviewed-by: vromero
2014-06-05 12:21:38 +01:00
Vicente Romero
09250abb84 8041713: Type inference of non-existent method references crashes the compiler
Reviewed-by: mcimadamore
2014-06-04 20:01:13 +01:00
Vicente Romero
45c3929ecb 8044487: Fix for 8042785 causes regression tests to fail with java.lang.VerifyError
Reviewed-by: jjg, ksrini
2014-06-02 22:36:40 +01:00
Vicente Romero
8447e4cf46 8042785: javac, bridge methods are not getting the flags from the original method
Reviewed-by: jjg, jlahoda
2014-05-30 18:21:05 +01:00
Jan Lahoda
2f910049e8 8031967: For some sources compiler compiles for ever
Avoid creating DeferredTypes for method calls with method calls as receivers if the site can be determined reliably

Co-authored-by: Maurizio Cimadamore <maurizio.cimadamore@oracle.com>
Reviewed-by: mcimadamore, vromero
2014-05-30 12:54:16 +02:00
Vicente Romero
92e2e96714 8037937: javac: AssertionError during LVT generation, wrong variable ranges
Reviewed-by: mcimadamore
2014-05-29 15:28:01 +01:00
Stephane Epardaud
e0f4450825 8037934: Javac generates invalid signatures for local types
Reviewed-by: vromero, rfield
2014-05-28 21:47:30 +01:00
Dan Smith
2b4c40d39b 8044050: Move misplaced inference tests to test/tools/javac/generics/inference
Reviewed-by: vromero
2014-05-27 16:39:05 -06:00
Paul Govereau
0b1c40b161 8042741: Java 8 compiler throws NullPointerException depending location in source file
Reviewed-by: vromero, jlahoda
2014-05-27 22:26:53 +01:00
Paul Govereau
649331e00f 8041704: wrong error message when mixing lambda expression and inner class
Reviewed-by: vromero
2014-05-27 18:57:44 +01:00
Sonali Goel
378c3fe62f 8043336: Missing bug id in test/tools/javac/lambda/TargetType23.java
Reviewed-by: jjg, vromero, dlsmith
2014-05-22 15:42:10 -07:00
Paul Govereau
c212c43f70 8015927: Class reference duplicates in constant pool
Reviewed-by: jjg
2014-05-16 17:08:42 -04:00
Jonathan Gibbons
31e6340f54 8041422: Split javac ClassReader into ClassReader+ClassFinder
Reviewed-by: jfranck
2014-05-18 19:59:10 -07:00
Jan Lahoda
911a9fcf97 8043186: javac test langtools/tools/javac/util/StringUtilsTest.java fails
The result of String.toLowerCase.indexOf does not always point at the start of the given string in the non-lowercased text.

Reviewed-by: jjg, bpatel
2014-05-16 10:52:07 +02:00
Andrey Nazarov
23759a15dd 8042771: Missing bug id in test/tools/javac/classfiles/attributes/SourceFile/NoSourceFileAttribute.java
Reviewed-by: jjg
2014-05-12 17:09:26 +01:00
Dan Smith
9798cbad4c 8034223: Most-specific should not have any special treatment for boxed vs. unboxed types
Rewrite most-specific logic to conform to JLS 8 15.12.2.5

Reviewed-by: vromero
2014-05-13 15:29:09 -06:00
Vicente Romero
9cf78d324c 8028503: javac, for method references a primitive type can be added as a bound
Reviewed-by: jjg, dlsmith
2014-05-10 01:24:35 +01:00
Vicente Romero
c374047d36 8037379: fix for JDK-8029569 doesn't cover all possible cases
Reviewed-by: jjg
2014-05-10 00:46:47 +01:00
Dan Smith
f799e8d6fc 8042656: Inference produces spurious error for intersection type bounds check
Fix subtyping for intersections involving capture variables

Reviewed-by: vromero
2014-05-09 14:56:59 -06:00
Eric McCorkle
1ad5b0eee1 8040327: Eliminate AnnotatedType
Replace AnnotatedType with type annotations being stored in the Type class as metadata

Reviewed-by: jjg, jfranck, wmdietl, jlahoda
2014-05-09 09:28:47 -04:00
Jonathan Gibbons
47876fcddb 8042839: XPreferTest fails on Windows
Reviewed-by: vromero
2014-05-09 08:52:57 -07:00
Jan Lahoda
5b6afc8503 8041663: Sensitive dependence on location of nested interface
Adding a method among ambiguous candidates only if it is more specific than some of the existing candidates.

Reviewed-by: dlsmith, vromero
2014-05-09 12:55:58 +02:00
Jan Lahoda
23ba7e22d2 8040822: Duplicated notifications can be sent to TaskListener
The analyze finished event must only be sent on the first call to JavaCompiler.flow for a given class.

Reviewed-by: jjg
2014-05-09 09:36:35 +02:00
Andreas Lundblad
b2d433dcfc 8028196: Javac allows timestamps inside rt.jar to affect compilation when using -sourcepath
Added -XXuserPathsFirst to allow user classes to take precedence over boot classes

Reviewed-by: jjg
2014-05-07 17:29:42 +02:00
Andrey Nazarov
2c6668c63d 8040129: Implement classfile tests for SourceFile attribute
Reviewed-by: shurailine, jjg
2014-05-07 14:22:14 -07:00
Dan Smith
282ee77f73 8033718: Inference ignores capture variable as upper bound
Split Types.lowerBound into two methods; fix bugs in inference handling of capture variables.

Reviewed-by: vromero
2014-05-06 15:46:09 -06:00
Jonathan Gibbons
7e2e9759d5 8042358: some tests have placeholder bugid 1234567
Reviewed-by: mduigou
2014-05-02 16:41:10 -07:00
Paul Govereau
6ec0c32eff 8033437: javac, inconsistent generic types behaviour when compiling together vs. separate
Co-authored-by: Vicente Romero <vicente.romero@oracle.com>
Reviewed-by: jjg
2014-05-02 22:35:23 +01:00
Vicente Romero
71a85db2be 8030741: Inference: implement eager resolution of return types, consistent with JDK-8028800
Reviewed-by: dlsmith, jjg
2014-05-01 20:36:11 +01:00
Robert Field
89be14bfe5 8029852: Bad code generated (VerifyError) when lambda instantiates enclosing local class and has captured variables
8029725: Lambda reference to containing local class causes javac infinite recursion

Reviewed-by: vromero, jlahoda, dlsmith
2014-04-30 23:02:14 -07:00
Robert Field
e8adfd1234 8036942: javac generates incorrect exception table for multi-catch statements inside a lambda
Union type info lost and also union type is not processed by TreeMaker.Type -- address by using existing tree, thus by-passing such issues.

Reviewed-by: vromero, jlahoda
2014-04-30 18:19:23 -07:00
Andrey Nazarov
230b553e37 8040097: Implement classfile tests for LocalVariableTable and LocalVariableTypeTable attribute
Reviewed-by: jjg, shurailine, emc
2014-04-30 13:48:37 -07:00
Paul Govereau
f77173467d 8030046: javac incorrectly handles absolute paths in manifest classpath
Reviewed-by: jjg, vromero
2014-04-21 17:57:47 -04:00
Vicente Romero
0996901f29 8029102: Enhance compiler warnings for Lambda
Reviewed-by: briangoetz, jjg, jlahoda, ahgross
2014-04-28 14:48:51 +01:00
Paul Govereau
218ce31908 8039026: Definitely unassigned field can be accessed
Reviewed-by: vromero, jlahoda
2014-04-25 22:00:58 +01:00
Jan Lahoda
6b335c8d1a 8039250: Test tools/javac/classfiles/InnerClasses/SyntheticClasses.java fails
The test should only analyze classfiles.

Reviewed-by: vromero
2014-04-23 11:28:09 +02:00
Paul Govereau
9783b65028 8034245: Refactor TopLevel tree node
Added JCPackageDecl to JCTree to store package-level information.

Reviewed-by: jjg, jlahoda
2014-04-22 17:07:54 -04:00
Paul Govereau
b349726850 8038023: Compiler crash ClassCastException
Add additional checks on results of ClassReader.readPool

Reviewed-by: vromero
2014-04-22 19:52:15 +01:00
Vicente Romero
a50db59b59 8029718: Should always use lambda body structure to disambiguate overload resolution
Reviewed-by: dlsmith, jjg, jlahoda
2014-04-21 22:51:49 +01:00
Vicente Romero
a310cda727 8029002: javac should take multiple upper bounds into account in incorporation
Reviewed-by: dlsmith, jjg
2014-04-18 17:50:30 +01:00
Jan Lahoda
e505238d2a 8038788: javac behaves incorrectly for annotations after method type parameters in some cases
Reviewed-by: jjg, emc
2014-04-18 11:53:34 +02:00
Robert Field
360461f136 8038420: Lambda returning post-increment generates wrong code
Reviewed-by: vromero, jlahoda
2014-04-15 15:55:24 -07:00
Robert Field
300fbf0889 8037935: Javac -- final local String var referenced in binary/unary op in lambda produces code that does not verify
Remove over-zealous Attr optimization breaking lambdas

Reviewed-by: jjg, vromero
2014-04-15 15:52:52 -07:00
Jan Lahoda
69c52bd73b 8039079: Test tools/javac/processing/environment/round/TestElementsAnnotatedWith.java fails
Ensuring the test passes in both samevm and othervm modes.

Reviewed-by: darcy
2014-04-15 18:58:47 +02:00
Paul Govereau
c654c5a23e 8015499: javac, Gen is generating extra checkcast instructions in some corner cases
Reviewed-by: vromero, jjg
2014-04-09 17:41:27 +01:00
Jan Lahoda
5905e8f494 8039466: Tests failing in langtools repository
Fixing tests broken by JDK-8038455.

Reviewed-by: jjg
2014-04-08 23:33:50 +02:00
Jan Lahoda
e5c8101894 8038455: Use single Context for all rounds of annotation processing
One set of javac services, as well as created ClassSymbols, is reused for all rounds of processing now.

Reviewed-by: jjg, jfranck, darcy, vromero
2014-04-08 14:06:11 +02:00
Paul Govereau
8e6660eb56 8023945: javac wrongly allows a subclass of an anonymous class
Reviewed-by: jjg
2014-04-04 19:13:53 -04:00
Paul Govereau
e231918e58 8034933: Update documentation for Types.directSupertypes to clarify behavior
Reviewed-by: darcy
2014-04-01 23:52:10 -07:00
Ivan Gerasimov
befb7157c9 8034044: Class.getModifiers() returns "static" for anonymous classes
Javac sets ACC_STATIC bit for anonymous classes which contradicts the JLS

Reviewed-by: jfranck
2014-04-02 10:05:16 +04:00
Alexander Zuev
d9d9742c75 8031425: Two langtools/javac tests fail by timeout on Windows
Reviewed-by: jjg, vromero
2014-04-01 10:00:43 -07:00
Jan Lahoda
e339370175 8035890: jdk8 javac -source 7 compiles test case it should not
Ensuring source level checks are performed in two additional cases related to type annotations, adding specialized error message for annotations after method type parameters.

Reviewed-by: jfranck, jjg
2014-03-31 21:27:25 +02:00
Alexander Zuev
3eb793cd06 8035956: javac, incomplete error message
Reviewed-by: vromero
2014-03-26 10:47:30 -07:00
Joel Borggrén-Franck
24400e1745 8038080: annotation processors don't visit declaration parameter annotations
Co-authored-by: Liam Miller-Cushon <cushon@google.com>
Reviewed-by: darcy
2014-03-26 12:18:11 +01:00
Alexander Zuev
908ea8bebd 7118295: javac does not explicitly close -Xstdout file
Reviewed-by: ksrini, jjg
2014-03-20 15:13:26 +04:00
Paul Govereau
019025c61f 8025505: Constant folding deficiency
Provide constant folding of equality tests involving constant and null.

Reviewed-by: jjg
2014-03-19 17:39:28 -04:00
Paul Govereau
e0bc15202b 6898851: Compiling against this corrupt class file causes a stacktrace from javac
Added check for index out-of-bounds erros in ClassReader

Reviewed-by: jjg
2014-03-19 11:34:27 -04:00
Paul Govereau
03c0b0a11e 8036007: javac crashes when encountering an unresolvable interface
Reviewed-by: vromero, jlahoda
2014-03-18 22:12:46 +00:00
Dan Smith
d9e857f304 8034980: Fix @summary tag of test/tools/javac/parser/T4910483.java
Reviewed-by: vromero
2014-03-17 14:03:59 -06:00
Vicente Romero
2564e82ad1 8034924: Incorrect inheritance of inaccessible static method
Reviewed-by: jjg, jlahoda
2014-03-13 20:13:43 +00:00
Joe Darcy
e5fb7f77d6 8036842: Remove unneeded/obsolete -source/-target options in javac tests, part 2
Reviewed-by: jjg, sogoel
2014-03-07 13:30:23 -08:00
Jan Lahoda
16962804f3 8034854: outer_class_info_index of synthetic class is not zero
Auxiliary synthetic anonymous classes should not have an outer class specified in the InnerClasses attribute.

Reviewed-by: vromero, jjg, abuckley
2014-03-07 13:35:56 +01:00
Paul Govereau
af27057b26 8034091: There is no records in LineNumberTable attribute for ternary operator ?: splitted to several lines
Reviewed-by: jjg
2014-03-06 13:50:12 -05:00
Jan Lahoda
74250736aa 8031383: Error recovery in JavacParser could be improved
Improving error recovery in JavacParser by avoiding artificial nextToken in JavacParser.reportSyntaxError.

Co-authored-by: Dusan Balek <dusan.balek@oracle.com>
Reviewed-by: jjg, jfranck
2014-02-28 20:25:24 +01:00
Paul Govereau
e97bf8b146 8035972: missing test file for 8034048
Reviewed-by: jjg, vromero
2014-02-27 11:47:39 -08:00
Paul Govereau
dd0e29f8b7 6533516: Warning needed for file with future time stamps
Reviewed-by: jjg, vromero
2014-02-26 18:05:02 -08:00
Jan Lahoda
facc03d9f4 6411385: Trees.getPath does not work for constructors
Enhancing TestTrees test to ensure proper function of Trees.getPath/getTree, fixing cases where getTree did not work properly.

Co-authored-by: Dusan Balek <dusan.balek@oracle.com>
Reviewed-by: jjg
2014-02-21 10:35:19 +01:00
Kumar Srinivasan
f643b8cab0 8031545: [javac] refactor and cleanup JNIWriter.java
Reviewed-by: jjg
2014-02-15 16:37:19 -08:00
Andreas Lundblad
8daec20c86 8030714: The steps attribute, flow and desugar are unnecessary for implicit classes when compiling with -implicit:none
When compiling with -implicit:none, attribute, flow and desugar is skipped for better performance.

Reviewed-by: jfranck, jlahoda
2014-02-13 14:58:10 +01:00
Jan Lahoda
e20546fe2a 8033961: Formatting of -Xlint: command line help
Improving formatting of command line help for -Xlint, including a short description of each lint.

Reviewed-by: jjg
2014-02-13 13:38:48 +01:00
Dan Smith
55801d06ff 4910483: Javadoc renders the string ".*\\.pdf" as ".\*\.pdf"
Adjust timing of printing "\\" in the comment scanner

Reviewed-by: jjg
2014-02-12 12:31:30 -07:00
Jan Lahoda
c0d767f6f1 8033421: @SuppressWarnings("deprecation") does not work when overriding deprecated method
When the overrides deprecated method warning is being reported, need to do that in the lint context of the method.

Reviewed-by: vromero
2014-02-07 21:43:33 +01:00
Vicente Romero
edee080e4a 8030855: Default methods should be visible under source previous to 8
Reviewed-by: jjg, dlsmith
2014-02-06 18:49:01 +00:00
Alan Bateman
cf7f5c0b61 8033366: Add configure option to allow RMIConnector IIOP transport be selected compiled in or not
Reviewed-by: erikj
2014-02-06 15:49:51 +00:00
Jan Lahoda
4724c454cd 8030091: Request to update error messages from javac for negative varargs test cases
Introducing a new error message for vararg parameter not being the last parameter, improving error message for unexpected character after a parameter.

Reviewed-by: jjg, sogoel
2014-02-02 12:12:01 +01:00
Jonathan Gibbons
478d2876a5 8031212: doclint incorrectly rejects some @see tags in javadoc comments
Reviewed-by: vromero
2014-01-27 16:07:32 -08:00
Matherey Nunez
69f2f2fad4 8027175: Existing regression tests in tl/langtools and tl/jdk need to be updated for @bug keyword
Reviewed-by: jjg, ksrini
2014-01-27 12:45:03 -08:00
Andreas Lundblad
99aae5c1fd 8028267: sun.tools.javac.util.Bits contains a main-method with test code
Removed main method from Bits and added proper unit testing.

Reviewed-by: jfranck
2014-01-24 09:39:51 +01:00
Joel Borggrén-Franck
b1bcbaeb4b 8029017: ElementType.TYPE_USE should be a logical superset of ElementType.TYPE and ANNOTATION_TYPE
Reviewed-by: abuckley, jlahoda, vromero
2014-01-23 14:09:29 +01:00
Vicente Romero
712b922a0f 8030816: javac crashes when mixing lambdas and inner classes
Reviewed-by: jjg, jlahoda
2014-01-22 21:41:50 +00:00