1187 Commits

Author SHA1 Message Date
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
Fredrik Öhrström
ad489d2ce3 8042441: sjavac does not track dependencies
Add support for tracking fully qualified references.

Reviewed-by: jjg
2014-05-08 00:22:31 +02:00
Fredrik Öhrström
cb6df44f8e 8042699: sjavac does not track dependencies
Using / in some places and . in other places break package comparisons. The fix standardizes on dots.

Reviewed-by: jjg
2014-05-07 23:55:41 +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
Andreas Lundblad
06f651942c 8035063: Option handling in sjavac needs to be rewritten
Option handling code rewritten. Exclusion / inclusion patterns changed from package to directories.

Reviewed-by: jjg, jfranck
2014-04-22 16:51:10 +02: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
Kumar Srinivasan
7a7a57bb88 8037484: [javadoc] fails with java.lang.IllegalStateException: endPosTable already set
Reviewed-by: jjg
2014-04-16 18:15:48 -07:00
Kumar Srinivasan
7a4a5803fc 8039251: Test tools/javadoc/6964914/TestStdDoclet.java fails
Reviewed-by: jjg
2014-04-16 18:36:43 -07: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
Jonathan Gibbons
77ad0945a6 8035104: reorder class file attributes in javap listing
Reviewed-by: ksrini
2014-03-26 17:50:33 -07: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