442 Commits

Author SHA1 Message Date
Srikanth Adayapalam
3b399ff099 8078660: Misleading recommendation from diamond finder
Javac should recommend diamond usage if that could lead to a change in program behavior.

Reviewed-by: mcimadamore
2015-11-26 17:38:15 +05:30
Srikanth Adayapalam
68126c8ee9 8143647: Javac compiles method reference that allows results in an IllegalAccessError
Lambda implementation method synthesized by javac should not mention inaccessible types.

Reviewed-by: mcimadamore
2015-11-26 07:44:23 +05:30
Maurizio Cimadamore
875bccb11e 8067767: type inference performance regression
Overhaul implememntation of inference incorporation

Reviewed-by: vromero
2015-11-19 16:43:11 +00:00
Srikanth Adayapalam
54029caa26 8143217: javac throws NPE when printing diagnostics for Lambda expressions
Fix compiler crash when -XDdumpLambdaToMethodStats option is in effect.

Reviewed-by: mcimadamore
2015-11-19 17:19:06 +05:30
Srikanth Adayapalam
6ce337adaf 8142931: java compiler: type erasure doesn't work since 9-b28
Reinstate pre JDK-8055054 behavior with respect to erasing wildcard types.

Reviewed-by: mcimadamore
2015-11-18 16:37:12 +05:30
Srikanth Adayapalam
b79126e437 8073616: Duplicate error message: cannot inherit from final (class) F
Ensure that the compiler does not emit duplicate errors at slightly different source positions.

Reviewed-by: mcimadamore
2015-11-13 18:09:36 +05:30
Maurizio Cimadamore
90a76d40e5 8046685: Uncompilable large expressions involving generics
Improve inference propagation logic so that unnecessary inference variables are not propagated.

Reviewed-by: vromero
2015-11-13 12:29:23 +00:00
Srinivas Dama
9bf5e9c8f4 8139255: javac reports "cannot override" messages instead of "cannot hide" messages for static methods
Improve clarity of javac messages by discriminating hiding scenerio from overriding

Reviewed-by: mcimadamore, sadayapalam
2015-11-12 08:39:23 +05:30
Srikanth Adayapalam
431aa657a6 8136419: Type annotations in initializers and lambda bodies not written to class file
Reviewed-by: jlahoda
2015-11-12 06:13:14 +05:30
Srikanth Adayapalam
f7bc90496a 8142476: Call site initialization exception caused by LambdaConversionException: Invalid receiver type
Incorrect handling of intersection typed receiver in method references results in call site initialization exception

Reviewed-by: mcimadamore
2015-11-12 05:59:47 +05:30
Srikanth Adayapalam
7ea18e2abd 8141508: java.lang.invoke.LambdaConversionException: Invalid receiver type
Incorrect handling of intersection type parameter of functional interface descriptor results in call site initialization exception

Reviewed-by: mcimadamore
2015-11-11 18:46:03 +05:30
Srikanth Adayapalam
14e78ebab1 8142467: Remove all references Flags.IPROXY
Remove all references to flag bit IPROXY that has fallen into disuse.

Reviewed-by: mcimadamore
2015-11-11 17:13:10 +05:30
Maurizio Cimadamore
e0f654819b 8141613: Compiler fails to infer generic type
Repeated capture of same expression leads to erroneous inference constraints

Reviewed-by: vromero
2015-11-10 11:49:14 +00:00
Maurizio Cimadamore
bf9db9ef6a 8141639: Signatures in Lower could be made tighter by using JCExpression instead of JCTree
Make signatures of Lower methods more specific

Reviewed-by: jlahoda
2015-11-09 16:03:30 +00:00
Srikanth Adayapalam
4d94dba613 8129740: Incorrect class file created when passing lambda in inner class constructor
Lambda implementation method must be static when lambda is an argument to an explicit constructor call.

Reviewed-by: mcimadamore, jlahoda
2015-11-09 05:45:22 +05:30
Srikanth Adayapalam
48e3b3f0df 8138612: Do not retain declaration annotations on lambda formal parameters
Reviewed-by: jlahoda
2015-11-06 14:45:44 +05:30
Maurizio Cimadamore
a65f240258 8141343: Subtle semantics changes for union types in cast conversion
Cast applied to union types do not behave correctly and sometimes pass erroneously

Reviewed-by: jlahoda
2015-11-05 11:32:01 +00:00
Andreas Lundblad
7cf539d35e 8137075: Sjavac tests are leaking file managers
Closing sjavac file managers.

Reviewed-by: jjg
2015-11-03 21:29:46 +01:00
Kumar Srinivasan
2711685247 8132096: Augment the Compiler Tree API to support the new Simplified Doclet API
Reviewed-by: jjg, jlahoda
2015-10-28 10:41:30 -07:00
Andreas Eriksson
27b171c977 8134759: jdb: Incorrect stepping inside finally block
Add LineNumberTable attribute for return bytecodes split around finally code

Reviewed-by: mcimadamore
2015-10-27 10:35:14 +01:00
Srikanth Adayapalam
2d8d2e83ba 8057685: javac should not crash compiling type annotations
Reviewed-by: jlahoda
2015-10-23 08:21:41 +05:30
Srikanth Adayapalam
b84f19e870 8074803: Name clash
Javac incorrectly reports a name clash.

Reviewed-by: mcimadamore
2015-10-22 16:18:28 +05:30
Andreas Lundblad
200d75bd08 8087349: Test tools/sjavac/IncCompInheritance.java is failing
Refactoring of Dependencies framework.

Reviewed-by: mcimadamore
2015-10-22 09:05:54 +02:00
Srikanth Adayapalam
32cea7c65b 8138729: javac -parameters should not emit parameter names for lambda expressions
Reviewed-by: mcimadamore
2015-10-21 17:52:43 +05:30
Srikanth Adayapalam
08b811e8d6 8139836: Can't use super::x method reference when x is protected
Javac incorrectly diasllows reference to a protected method from a super class in method reference expressions.

Reviewed-by: mcimadamore
2015-10-20 15:25:41 +05:30
Jan Lahoda
9cd68d0633 8139751: Javac crash with -XDallowStringFolding=false
When string folding is disabled, need to keep the original expression.

Reviewed-by: mcimadamore
2015-10-19 12:41:45 +02:00
Kumar Srinivasan
11da417a28 8078320: Improve DocTrees parsing
Reviewed-by: jjg, jlahoda
2015-09-11 16:34:24 -07:00
Dmitry Chuyko
cb20fc2079 8000316: Huge performance bottleneck in com.sun.tools.javac.comp.Check.localClassName
Speed up Check.localClassName by avoiding generating names known to be in use already

Reviewed-by: mcimadamore, jlahoda, sadayapalam
2015-10-13 09:48:03 +05:30
Srikanth Adayapalam
ac4f8dfdd2 8139245: compiler crashes with exception on int:new method reference and generic method inference
Reviewed-by: mcimadamore
2015-10-12 19:43:44 +05:30
Maurizio Cimadamore
4d32c48daf 8138840: NPE when compiling bitwise operations with illegal operand types
8139243: compiler crashes with exception on sum operation of String var and void method call result
8139249: Compiler crashes on unary bitwise complement with non-integral operand

Certain binary operator checks are accepting more operands than required.

Reviewed-by: jlahoda
2015-10-12 12:24:33 +01:00
Srikanth Adayapalam
9c310602ec 8075799: Extraneous access checks implemented by javac
Allow anonymous class constructors to refer to inaccessible types.

Reviewed-by: mcimadamore
2015-10-07 19:35:43 +05:30
Srikanth Adayapalam
855243b12f 8065219: Deprecated warning in method reference are missing in some cases
Reviewed-by: mcimadamore
2015-10-07 16:02:57 +05:30
Srikanth Adayapalam
1a5c52e6c3 8130506: javac AssertionError when invoking MethodHandle.invoke with lambda paramter
Reviewed-by: mcimadamore
2015-10-07 15:53:38 +05:30
Vicente Romero
38c2534531 8138914: javac, method visitTypeVar() at visitor Types.hashCode generates the same hash code for different type variables
Reviewed-by: mcimadamore
2015-10-06 13:59:16 -07:00
Jan Lahoda
c4a3a35b97 8075274: Compilation still depends on the order of imports
8133235: Compilation depends on order of source files

When analyzing type hierarchy, HierarchyPhase should process supertypes before subtypes.

Reviewed-by: mcimadamore
2015-10-05 18:31:38 +02:00
Srikanth Adayapalam
ea13770069 8133135: Compiler internall error (NPE) on anonymous class defined by qualified instance creation expression with diamond
Reviewed-by: mcimadamore
2015-10-05 15:41:29 +05:30
Maurizio Cimadamore
63a4f10b60 8137269: Add better support for local caching in ArgumentAttr
ArgumentAttr should support local caches when results of speculative attribution might be thrown away

Reviewed-by: jlahoda
2015-10-02 13:27:57 +01:00
Srikanth Adayapalam
0ea96ddfe4 8132535: Compiler fails with diamond anonymous class creation with intersection bound of enclosing class
Reviewed-by: mcimadamore
2015-10-01 19:47:06 +05:30
Nelson Dcosta
5c4dc85619 8133454: Update Java Compiler Error Message
Updating the error message that is used when javac crashes.

Reviewed-by: jjg
2015-09-29 21:22:35 +02:00
Andreas Lundblad
6238d40db4 8135131: Enable thin server mode in Sjavac
State tracknig and incremental compilation disabled unless --state-dir is provided.

Reviewed-by: jlahoda
2015-09-21 11:19:10 +02:00
Maurizio Cimadamore
981c6dc298 8078093: Severe compiler performance regression Java 7 to 8 for nested method invocations
Add infrastructure to avoid combinatorial explosion of method argument attributions

Reviewed-by: jlahoda, vromero, dlsmith
2015-09-15 13:43:44 +01:00
Maurizio Cimadamore
379f2540aa 8077306: Recursive implementation of List.map leads to stack overflow
Recusrive implementation of List.map uses too much stack; switch to iterative version.

Reviewed-by: jlahoda
2015-09-14 11:26:14 +01:00
Vicente Romero
2169a5eefd 8073594: javac, before calling rawInstantiate from selectBest the warner should be cleared out
Reviewed-by: jlahoda
2015-09-08 11:59:25 -07:00
Vicente Romero
0c3e27483f 8135203: javac, patch intended for an issue was pushed with wrong id and message
Reviewed-by: jjg
2015-09-08 11:53:17 -07:00
Vicente Romero
772ca1b431 8132806: javac does a naive implementation of some incorporation steps
Reviewed-by: jlahoda
2015-09-08 10:36:44 -07:00
Andreas Lundblad
ab159bb1f7 8129114: Sjavac should stream back compiler output to the client as soon as it becomes available
Protocol revised, javac output sent back to client slightly earlier.

Reviewed-by: jlahoda
2015-09-04 13:24:15 +02:00
Maurizio Cimadamore
2f46e61a83 8129962: Investigate performance improvements in langtools combo tests
New combo API that runs all combo instances in a shared javac context (whenever possible).

Reviewed-by: jjg, jlahoda, vromero
2015-08-31 17:33:34 +01:00
Maurizio Cimadamore
5f1384e8b4 8134007: Improve string folding
Generalize string folding algorithm to detect mulitple groups of foldable constants within an concat expression

Reviewed-by: jlahoda
2015-08-31 15:50:20 +01:00
Aleksey Shipilev
d2e6717c87 8134329: TeeOpTest.java fails across platforms after fix for JDK-8129547
Wrong indexes associated to CONSTANT_InvokeDynamic_info entries.

Reviewed-by: sundar
2015-08-25 15:10:25 +01:00
Andreas Lundblad
3672dbcddf 8048318: Refactor sjavac as a thin client
Moved compilation logic from client to server.

Reviewed-by: jlahoda
2015-08-25 15:14:41 +02:00