/hg/icedtea8-forest/langtools: 84 new changesets

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Tue May 17 02:03:33 UTC 2016


changeset 344b0f41fe71 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=344b0f41fe71
author: andrew
date: Mon May 09 02:48:03 2016 +0100

	Added tag icedtea-3.0-branchpoint for changeset d05b69482d83


changeset 683b3e7e05a7 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=683b3e7e05a7
author: asaha
date: Mon Oct 26 13:23:30 2015 -0700

	Added tag jdk8u76-b00 for changeset 10ffafaf5340


changeset 4044eb07194d in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=4044eb07194d
author: aeriksso
date: Tue Oct 27 10:35:14 2015 +0100

	8134759: jdb: Incorrect stepping inside finally block
	Summary: Add LineNumberTable attribute for return bytecodes split around finally code
	Reviewed-by: mcimadamore


changeset dcd12fa5b58a in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=dcd12fa5b58a
author: mcimadamore
date: Thu Nov 12 21:20:49 2015 +0000

	8066974: Compiler doesn't infer method's generic type information in lambda body
	Summary: Add logic to avoid post-inference triggers on temporarty AST types
	Reviewed-by: vromero


changeset 0caab0d65a04 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=0caab0d65a04
author: mcimadamore
date: Thu Nov 12 22:10:46 2015 +0000

	8065986: Compiler fails to NullPointerException when calling super with Object<>()
	Summary: Missing POLY kind selector on recursive constructor calls with poly arguments
	Reviewed-by: vromero


changeset 78f0aa619915 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=78f0aa619915
author: asaha
date: Mon Dec 21 15:22:39 2015 -0800

	Added tag jdk8u76-b01 for changeset 0caab0d65a04


changeset 049e909914f1 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=049e909914f1
author: asaha
date: Mon Jan 04 12:08:55 2016 -0800

	Added tag jdk8u76-b02 for changeset 78f0aa619915


changeset 0353cf89ea96 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=0353cf89ea96
author: sadayapalam
date: Thu Jan 07 08:45:19 2016 +0000

	8145466: javac: No line numbers in compilation error
	Summary: Compiler should not use the syntax tree from enclosing contexts in diagnostics even when the enclosing contexts are consulted for method lookup.
	Reviewed-by: mcimadamore


changeset 9731ab1f18ee in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=9731ab1f18ee
author: robm
date: Thu Jan 14 18:05:43 2016 +0000

	8145722: NullPointerException in javadoc
	Reviewed-by: jjg


changeset bde967f54816 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=bde967f54816
author: asaha
date: Wed Dec 16 15:48:19 2015 -0800

	Merge


changeset 581eabbfd411 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=581eabbfd411
author: asaha
date: Tue Jan 05 08:32:53 2016 -0800

	Merge


changeset 6b38b7b0ed87 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=6b38b7b0ed87
author: asaha
date: Tue Jan 05 08:53:02 2016 -0800

	Merge


changeset 8969d6096fe1 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=8969d6096fe1
author: asaha
date: Fri Jan 15 16:24:33 2016 -0800

	Merge


changeset 18428dc0634f in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=18428dc0634f
author: asaha
date: Tue Jan 19 13:07:52 2016 -0800

	Added tag jdk8u76-b03 for changeset 8969d6096fe1


changeset 0ee1f3cdb4ba in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=0ee1f3cdb4ba
author: aefimov
date: Fri Jan 15 19:57:58 2016 +0300

	8134007: Improve string folding
	Summary: Generalize string folding algorithm to detect mulitple groups of foldable constants within an concat expression
	Reviewed-by: jlahoda


changeset ca136b17b9f4 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=ca136b17b9f4
author: jlahoda
date: Mon Oct 19 12:41:45 2015 +0200

	8139751: Javac crash with -XDallowStringFolding=false
	Summary: When string folding is disabled, need to keep the original expression.
	Reviewed-by: mcimadamore


changeset 745c9feb99f2 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=745c9feb99f2
author: mcimadamore
date: Mon Jan 18 10:58:12 2016 +0000

	8130506: javac AssertionError when invoking MethodHandle.invoke with lambda parameter
	Reviewed-by: mcimadamore
	Contributed-by: srikanth.adayapalam at oracle.com


changeset 30f0dce3fbd3 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=30f0dce3fbd3
author: aefimov
date: Fri Jan 22 10:49:45 2016 +0300

	8068254: Method reference uses wrong qualifying type
	Summary: Generated code fails with IllegalAccessError due to compiler's mishandling of packageprivate classes in method reference expressions.
	Reviewed-by: rfield, mcimadamore


changeset f8173fa5db9b in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=f8173fa5db9b
author: robm
date: Mon Jan 25 08:48:11 2016 +0000

	Merge


changeset dad1f3dd4a90 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=dad1f3dd4a90
author: asaha
date: Mon Jan 25 13:23:50 2016 -0800

	Added tag jdk8u76-b04 for changeset f8173fa5db9b


changeset 2e9f71878d16 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=2e9f71878d16
author: asaha
date: Sun Mar 20 20:36:58 2016 -0700

	Added tag jdk8u77-b03 for changeset 094308b2ca1c


changeset e8b335a10c1c in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=e8b335a10c1c
author: asaha
date: Fri Oct 16 12:05:12 2015 -0700

	Added tag jdk8u75-b00 for changeset 90b497af2ba5


changeset 25b6cb57f5eb in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=25b6cb57f5eb
author: asaha
date: Fri Oct 16 12:19:45 2015 -0700

	Merge


changeset 874f6272fa9f in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=874f6272fa9f
author: asaha
date: Thu Oct 29 17:21:12 2015 -0700

	Merge


changeset e7db5523c835 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=e7db5523c835
author: asaha
date: Wed Oct 28 22:05:26 2015 -0700

	Added tag jdk8u66-b32 for changeset accc23223f79


changeset eb5e3c242780 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=eb5e3c242780
author: asaha
date: Thu Oct 29 17:36:57 2015 -0700

	Merge


changeset ef60638ad242 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=ef60638ad242
author: asaha
date: Tue Nov 03 07:19:08 2015 -0800

	Added tag jdk8u66-b33 for changeset e7db5523c835


changeset 51997141b15c in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=51997141b15c
author: jlahoda
date: Wed Sep 16 10:56:23 2015 +0200

	8067422: Lambda method names are unnecessarily unstable
	Summary: Lambda method numbers are now assigned per class for non-serializable lambdas.
	Reviewed-by: mcimadamore, rfield, vromero


changeset c474809c1579 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=c474809c1579
author: asaha
date: Wed Nov 11 20:47:27 2015 -0800

	Added tag jdk8u51-b34 for changeset 51997141b15c


changeset 0d7fcabf56ed in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=0d7fcabf56ed
author: asaha
date: Fri Nov 13 15:39:33 2015 -0800

	Merge


changeset 5ceff8f21ebd in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=5ceff8f21ebd
author: asaha
date: Tue Dec 01 22:55:31 2015 -0800

	Added tag jdk8u66-b34 for changeset 0d7fcabf56ed


changeset 74cf0ebe274d in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=74cf0ebe274d
author: asaha
date: Wed Dec 02 23:07:58 2015 -0800

	Merge


changeset cf2fdc2c96b1 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=cf2fdc2c96b1
author: asaha
date: Wed Dec 02 23:21:31 2015 -0800

	Merge


changeset 85045b1db475 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=85045b1db475
author: asaha
date: Thu Dec 03 10:34:22 2015 -0800

	Added tag jdk8u66-b35 for changeset 5ceff8f21ebd


changeset 02c1a2a0c189 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=02c1a2a0c189
author: asaha
date: Thu Dec 03 13:34:09 2015 -0800

	Merge


changeset 854a97f541ec in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=854a97f541ec
author: asaha
date: Thu Dec 03 13:41:10 2015 -0800

	Merge


changeset 43dc88e84371 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=43dc88e84371
author: asaha
date: Mon Dec 07 22:54:38 2015 -0800

	Merge


changeset 28a0566a1abe in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=28a0566a1abe
author: asaha
date: Mon Dec 07 23:05:24 2015 -0800

	Merge


changeset c8c881220ca5 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=c8c881220ca5
author: asaha
date: Tue Dec 15 10:41:04 2015 -0800

	Merge


changeset f6c8f316bf8f in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=f6c8f316bf8f
author: asaha
date: Tue Dec 15 08:40:58 2015 -0800

	Added tag jdk8u66-b36 for changeset 85045b1db475


changeset 06bbe8777800 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=06bbe8777800
author: asaha
date: Tue Dec 15 14:26:24 2015 -0800

	Merge


changeset 8c4bd95e18bd in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=8c4bd95e18bd
author: asaha
date: Tue Dec 15 14:41:19 2015 -0800

	Merge


changeset b6d7d98d19e3 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=b6d7d98d19e3
author: asaha
date: Mon Dec 21 10:57:13 2015 -0800

	Merge


changeset 374719365422 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=374719365422
author: asaha
date: Mon Dec 21 11:19:54 2015 -0800

	Merge


changeset dfee05ae9faf in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=dfee05ae9faf
author: asaha
date: Mon Dec 21 13:45:34 2015 -0800

	Added tag jdk8u75-b01 for changeset 374719365422


changeset ee6ec29fce4f in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=ee6ec29fce4f
author: alitvinov
date: Wed Dec 30 14:13:17 2015 +0300

	Merge


changeset 600e14e4f69b in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=600e14e4f69b
author: asaha
date: Sun Jan 03 22:40:41 2016 -0800

	Added tag jdk8u72-b31 for changeset ee6ec29fce4f


changeset 58a3f185c67c in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=58a3f185c67c
author: asaha
date: Mon Jan 04 08:46:15 2016 -0800

	Merge


changeset 400115d04e6e in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=400115d04e6e
author: asaha
date: Mon Jan 04 11:10:04 2016 -0800

	Added tag jdk8u75-b02 for changeset 58a3f185c67c


changeset 580f87c4d91a in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=580f87c4d91a
author: asaha
date: Mon Jan 11 13:45:19 2016 -0800

	Added tag jdk8u75-b03 for changeset 400115d04e6e


changeset 4fd1c0d25a9c in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=4fd1c0d25a9c
author: asaha
date: Mon Jan 18 10:50:55 2016 -0800

	Added tag jdk8u75-b04 for changeset 580f87c4d91a


changeset b1524c0be3af in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=b1524c0be3af
author: asaha
date: Mon Jan 25 12:35:18 2016 -0800

	Added tag jdk8u75-b05 for changeset 4fd1c0d25a9c


changeset a614462a11b2 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=a614462a11b2
author: asaha
date: Mon Jan 25 15:12:12 2016 -0800

	Merge


changeset 8f07a44eacaf in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=8f07a44eacaf
author: asaha
date: Tue Jan 26 12:40:28 2016 -0800

	Added tag jdk8u76-b05 for changeset a614462a11b2


changeset 494f23cf6614 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=494f23cf6614
author: asaha
date: Mon Feb 01 10:16:35 2016 -0800

	Merge


changeset f3faee5dcf8f in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=f3faee5dcf8f
author: asaha
date: Mon Feb 01 11:52:08 2016 -0800

	Added tag jdk8u75-b06 for changeset 494f23cf6614


changeset 05277263bb65 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=05277263bb65
author: asaha
date: Mon Feb 01 12:24:59 2016 -0800

	Merge


changeset 7f9eb628b9f1 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=7f9eb628b9f1
author: asaha
date: Mon Feb 01 12:32:01 2016 -0800

	Added tag jdk8u76-b06 for changeset 05277263bb65


changeset c5caf2d47df9 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=c5caf2d47df9
author: asaha
date: Mon Feb 08 11:17:40 2016 -0800

	Added tag jdk8u75-b07 for changeset f3faee5dcf8f


changeset 2e5b270da256 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=2e5b270da256
author: asaha
date: Mon Feb 08 11:57:57 2016 -0800

	Merge


changeset 87c689a75234 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=87c689a75234
author: asaha
date: Mon Feb 08 12:03:04 2016 -0800

	Added tag jdk8u76-b07 for changeset 2e5b270da256


changeset 81d6f6116b0a in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=81d6f6116b0a
author: asaha
date: Mon Feb 15 16:32:39 2016 -0800

	Added tag jdk8u75-b08 for changeset c5caf2d47df9


changeset cdb6f3acadd3 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=cdb6f3acadd3
author: asaha
date: Mon Feb 15 16:51:33 2016 -0800

	Merge


changeset 02f7015d3157 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=02f7015d3157
author: asaha
date: Mon Feb 15 17:09:58 2016 -0800

	Added tag jdk8u76-b08 for changeset cdb6f3acadd3


changeset ac1c8c22bc74 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=ac1c8c22bc74
author: asaha
date: Mon Feb 22 13:07:33 2016 -0800

	Added tag jdk8u75-b09 for changeset 81d6f6116b0a


changeset 29ba8d3fba86 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=29ba8d3fba86
author: asaha
date: Mon Feb 22 13:20:06 2016 -0800

	Merge


changeset 7f66cecebee3 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=7f66cecebee3
author: asaha
date: Mon Feb 22 13:26:18 2016 -0800

	Added tag jdk8u76-b09 for changeset 29ba8d3fba86


changeset b18c3556d0da in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=b18c3556d0da
author: asaha
date: Mon Feb 29 10:33:33 2016 -0800

	Added tag jdk8u75-b10 for changeset ac1c8c22bc74


changeset 151cda213a4b in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=151cda213a4b
author: asaha
date: Mon Feb 29 11:53:23 2016 -0800

	Merge


changeset 376602ef39e0 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=376602ef39e0
author: asaha
date: Mon Feb 29 11:59:46 2016 -0800

	Added tag jdk8u76-b10 for changeset 151cda213a4b


changeset 5b4593428c2e in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=5b4593428c2e
author: asaha
date: Mon Mar 07 10:52:53 2016 -0800

	Added tag jdk8u76-b11 for changeset 376602ef39e0


changeset 4cbd08688ff5 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=4cbd08688ff5
author: asaha
date: Tue Mar 15 13:33:49 2016 -0700

	Added tag jdk8u75-b12 for changeset b18c3556d0da


changeset b86071b48b55 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=b86071b48b55
author: asaha
date: Tue Mar 15 13:54:48 2016 -0700

	Merge


changeset db821ed6165c in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=db821ed6165c
author: asaha
date: Tue Mar 15 14:01:42 2016 -0700

	Added tag jdk8u76-b12 for changeset b86071b48b55


changeset 4560c388e259 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=4560c388e259
author: asaha
date: Thu Mar 17 08:19:09 2016 -0700

	Added tag jdk8u92-b00 for changeset db821ed6165c


changeset 161ffe5b70d5 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=161ffe5b70d5
author: asaha
date: Thu Mar 17 08:10:06 2016 -0700

	Added tag jdk8u91-b00 for changeset 4cbd08688ff5


changeset 5fa11675dbe5 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=5fa11675dbe5
author: asaha
date: Mon Mar 21 23:03:16 2016 -0700

	Merge


changeset 8921667c26ba in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=8921667c26ba
author: asaha
date: Tue Mar 22 10:30:05 2016 -0700

	Added tag jdk8u91-b13 for changeset 5fa11675dbe5


changeset 12846c3fc5a1 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=12846c3fc5a1
author: asaha
date: Tue Mar 22 11:36:26 2016 -0700

	Merge


changeset f82374b3ac82 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=f82374b3ac82
author: asaha
date: Tue Mar 22 21:31:44 2016 -0700

	Added tag jdk8u92-b13 for changeset 12846c3fc5a1


changeset 15723e9dcff3 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=15723e9dcff3
author: asaha
date: Thu Mar 31 10:00:53 2016 -0700

	Added tag jdk8u91-b14 for changeset 8921667c26ba


changeset c99c71a68555 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=c99c71a68555
author: asaha
date: Thu Mar 31 10:16:25 2016 -0700

	Merge


changeset f3a9ed2cc721 in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=f3a9ed2cc721
author: andrew
date: Mon May 09 04:36:51 2016 +0100

	Merge jdk8u92-b14


changeset dbf29857221f in /hg/icedtea8-forest/langtools
details: http://icedtea.classpath.org/hg/icedtea8-forest/langtools?cmd=changeset;node=dbf29857221f
author: andrew
date: Tue May 17 03:03:31 2016 +0100

	Added tag icedtea-3.1.0pre01 for changeset f3a9ed2cc721


diffstat:

 .hgtags                                                                                      |   40 +
 src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java          |    4 +-
 src/share/classes/com/sun/tools/javac/comp/Attr.java                                         |   75 +-
 src/share/classes/com/sun/tools/javac/comp/AttrContext.java                                  |    9 +
 src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java                               |    8 +-
 src/share/classes/com/sun/tools/javac/comp/Resolve.java                                      |   50 +-
 src/share/classes/com/sun/tools/javac/jvm/Gen.java                                           |   14 +-
 src/share/classes/com/sun/tools/javac/parser/JavacParser.java                                |   99 +-
 test/tools/javac/diags/DiagnosticRewriterTest.java                                           |   18 +
 test/tools/javac/diags/DiagnosticRewriterTest.out                                            |    3 +
 test/tools/javac/diags/DiagnosticRewriterTest2.java                                          |   22 +
 test/tools/javac/diags/DiagnosticRewriterTest2.out                                           |    4 +
 test/tools/javac/generics/diamond/8065986/T8065986a.java                                     |   33 +
 test/tools/javac/generics/diamond/8065986/T8065986a.out                                      |    6 +
 test/tools/javac/generics/diamond/8065986/T8065986b.java                                     |   33 +
 test/tools/javac/generics/diamond/8065986/T8065986b.out                                      |    6 +
 test/tools/javac/lambda/8066974/T8066974.java                                                |   44 +
 test/tools/javac/lambda/8066974/T8066974.out                                                 |    4 +
 test/tools/javac/lambda/MethodHandleInvokeTest.java                                          |   49 +
 test/tools/javac/lambda/methodReferenceExecution/MethodReferencePackagePrivateQualifier.java |   42 +
 test/tools/javac/lambda/methodReferenceExecution/pkg/B.java                                  |   33 +
 test/tools/javac/linenumbers/FinallyLineNumberTest.java                                      |  108 ++
 test/tools/javac/parser/8134007/T8134007.java                                                |  488 ++++++++++
 test/tools/javac/parser/StringFoldingTest.java                                               |    9 +-
 24 files changed, 1111 insertions(+), 90 deletions(-)

diffs (truncated from 1583 to 500 lines):

diff -r d05b69482d83 -r dbf29857221f .hgtags
--- a/.hgtags	Sun Apr 10 01:08:15 2016 +0100
+++ b/.hgtags	Tue May 17 03:03:31 2016 +0100
@@ -435,6 +435,7 @@
 57ea4856a08f0bc87f2fe56d57b3cf1497c0cb51 jdk8u51-b31
 153378991303acf7906684380a025347a95bc95e jdk8u51-b32
 e7810a2613c9b9b407125cbd17add7bfeebfdb03 jdk8u51-b33
+51997141b15c0903773064cb9c1e57b791ffd66d jdk8u51-b34
 0c514d1fd006fc79d35b670de10c370c8d559db7 jdk8u60-b00
 0ba07c272e33c93377a5d7ed98b9de873cc91980 jdk8u60-b01
 387cf62ce7895dd5e067aaa51faa93d5c078583e jdk8u60-b02
@@ -508,6 +509,11 @@
 ad3f528335b4c609eee7227d150c9a0a39b1dd73 jdk8u66-b17
 ee701de614ad0c5f4bf3a553942909a54084c458 jdk8u66-b18
 f55af75598d85f45f779f3e632152a067fb7efbc jdk8u66-b31
+accc23223f7980daf5c22c17b951ecf729a904fa jdk8u66-b32
+e7db5523c835b47eae3cfac6f3d0bd3647a12118 jdk8u66-b33
+0d7fcabf56edc9580555b847ffe0e3f88f09fbfb jdk8u66-b34
+5ceff8f21ebdee2f9ea382ca67d6a924ddb7483d jdk8u66-b35
+85045b1db475e768106a95bbf5beabda90f8542b jdk8u66-b36
 aaad025819b721f7f291048a07cd1c144319b68d jdk8u71-b00
 fb2756fb330047dbbff0fa89b79e1d8d96146868 jdk8u71-b01
 21306b94f23ef63cc3ac48a509d491187dadb0f6 jdk8u71-b02
@@ -547,8 +553,42 @@
 0e6608ec3e9faa29e3ff1bc7fdb166602f698988 jdk8u74-b00
 4b10a2b486a9a950302de55e2495ac59bddae61a jdk8u74-b01
 55934388691bbbd9c53299cc6f2bdceb6af8860c jdk8u74-b02
+ee6ec29fce4fa75ff846f7cbf61da162d8c5b605 jdk8u72-b31
+90b497af2ba5329448da3a46a185687ae17f7098 jdk8u75-b00
+374719365422fa4867bc68f4edb00403289cd862 jdk8u75-b01
+58a3f185c67cefee5ebf63fcc9c6da5e609c3705 jdk8u75-b02
+400115d04e6eac9af5a7ee7ab8b1c570e2a3803b jdk8u75-b03
+580f87c4d91aa8cc493dbbd84a1be9671fd733f3 jdk8u75-b04
+4fd1c0d25a9cb847d9a0f6fe2be011eed6910a7f jdk8u75-b05
+494f23cf6614142b0138fadccd2252506b2aa7f8 jdk8u75-b06
+f3faee5dcf8f8afab170307953bc1286ce752d8c jdk8u75-b07
+c5caf2d47df9c3d5192dbf86696fbc1aec39cc1f jdk8u75-b08
+81d6f6116b0abbd91375c73d72552491d8b6048f jdk8u75-b09
+ac1c8c22bc740107362d85c2d98884de79b41e67 jdk8u75-b10
+b18c3556d0da9b0fd2f7b0d732498cdee891de19 jdk8u75-b12
 ae2485fab956c636f6ce10a23812204c0ae17046 jdk8u77-b00
 37a348477fe89736549913f51ec8143a8e73f71c jdk8u77-b01
 47efac0d67984678edf626f407b3d3e54083c242 jdk8u77-b02
 d6b6666581f91588b9c66cadaaddadbe7266d78b icedtea-3.0.0pre10
 dd581e8047e6f15c811b345ed4eef0218ca9fe18 icedtea-3.0.0
+d05b69482d8390591cf8a1ebf9166ba46259bebd icedtea-3.0-branchpoint
+094308b2ca1c6d6dd76d9412799b9f3b4299acb5 jdk8u77-b03
+4cbd08688ff5a39f936edf16dd765d1efa13d030 jdk8u91-b00
+5fa11675dbe55f49663a45d1d5a6c1a2d3b2ec28 jdk8u91-b13
+8921667c26ba5a83132c81ad8014d95a99631332 jdk8u91-b14
+10ffafaf53404de7fd23784aa3ff6016d107b9c8 jdk8u76-b00
+0caab0d65a04d8cce71976a6bdc1ca0841bcbcf0 jdk8u76-b01
+78f0aa6199150e10f387989b9bd5997f72cdc4e1 jdk8u76-b02
+8969d6096fe123922bb3ac0c8f6f7b18c1c7668e jdk8u76-b03
+f8173fa5db9ba23e7cd935600f56a8a53157eb6e jdk8u76-b04
+a614462a11b25ebd1daa61c5c3678a695b7bb7df jdk8u76-b05
+05277263bb6532abb966fa0585248cb40c43a530 jdk8u76-b06
+2e5b270da256b6bf59a2920129ec6e5bdb45e632 jdk8u76-b07
+cdb6f3acadd3a6bd55c0710c7be178049970f0d2 jdk8u76-b08
+29ba8d3fba8655de6d853b0c3c98f27bb82a5167 jdk8u76-b09
+151cda213a4b0cd9a4b4d2e25da003210ab57751 jdk8u76-b10
+376602ef39e0f1f130c8e5b754cfe8e3c82cedba jdk8u76-b11
+b86071b48b55340a3e712e91b2ba203a55a79571 jdk8u76-b12
+db821ed6165c5080b09e829b4523dcf82d995a2f jdk8u92-b00
+12846c3fc5a151a33e9446eff6e6704110c00362 jdk8u92-b13
+f3a9ed2cc7219a2b9b0cfd11729bbd0ef798e7ee icedtea-3.1.0pre01
diff -r d05b69482d83 -r dbf29857221f src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java
--- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java	Sun Apr 10 01:08:15 2016 +0100
+++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java	Tue May 17 03:03:31 2016 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -250,7 +250,7 @@
         for (int i = 0; i < list.size(); i++) {
             Object key = getMemberKey(list.get(i));
             Map<ProgramElementDoc, String> memberLevelMap = memberNameMap.get(key);
-            if (level.equals(memberLevelMap.get(list.get(i))))
+            if (memberLevelMap != null && level.equals(memberLevelMap.get(list.get(i))))
                 memberLevelMap.remove(list.get(i));
         }
     }
diff -r d05b69482d83 -r dbf29857221f src/share/classes/com/sun/tools/javac/comp/Attr.java
--- a/src/share/classes/com/sun/tools/javac/comp/Attr.java	Sun Apr 10 01:08:15 2016 +0100
+++ b/src/share/classes/com/sun/tools/javac/comp/Attr.java	Tue May 17 03:03:31 2016 +0100
@@ -156,6 +156,8 @@
         unknownTypeInfo = new ResultInfo(TYP, Type.noType);
         unknownTypeExprInfo = new ResultInfo(Kinds.TYP | Kinds.VAL, Type.noType);
         recoveryInfo = new RecoveryInfo(deferredAttr.emptyDeferredAttrContext);
+
+        noCheckTree = make.at(-1).Skip();
     }
 
     /** Switch: relax some constraints for retrofit mode.
@@ -253,31 +255,34 @@
     Type check(final JCTree tree, final Type found, final int ownkind, final ResultInfo resultInfo) {
         InferenceContext inferenceContext = resultInfo.checkContext.inferenceContext();
         Type owntype;
-        if (!found.hasTag(ERROR) && !resultInfo.pt.hasTag(METHOD) && !resultInfo.pt.hasTag(FORALL)) {
-            if ((ownkind & ~resultInfo.pkind) != 0) {
-                log.error(tree.pos(), "unexpected.type",
+        boolean shouldCheck = !found.hasTag(ERROR) &&
+                !resultInfo.pt.hasTag(METHOD) &&
+                !resultInfo.pt.hasTag(FORALL);
+        if (shouldCheck && (ownkind & ~resultInfo.pkind) != 0) {
+            log.error(tree.pos(), "unexpected.type",
                         kindNames(resultInfo.pkind),
                         kindName(ownkind));
-                owntype = types.createErrorType(found);
-            } else if (allowPoly && inferenceContext.free(found)) {
-                //delay the check if there are inference variables in the found type
-                //this means we are dealing with a partially inferred poly expression
-                owntype = resultInfo.pt;
-                inferenceContext.addFreeTypeListener(List.of(found, resultInfo.pt), new FreeTypeListener() {
+            owntype = types.createErrorType(found);
+        } else if (allowPoly && inferenceContext.free(found)) {
+            //delay the check if there are inference variables in the found type
+            //this means we are dealing with a partially inferred poly expression
+            owntype = shouldCheck ? resultInfo.pt : found;
+            inferenceContext.addFreeTypeListener(List.of(found, resultInfo.pt), new FreeTypeListener() {
                     @Override
                     public void typesInferred(InferenceContext inferenceContext) {
                         ResultInfo pendingResult =
                                 resultInfo.dup(inferenceContext.asInstType(resultInfo.pt));
                         check(tree, inferenceContext.asInstType(found), ownkind, pendingResult);
                     }
-                });
-            } else {
-                owntype = resultInfo.check(tree, found);
-            }
+            });
         } else {
-            owntype = found;
+            owntype = shouldCheck ?
+            resultInfo.check(tree, found) :
+            found;
         }
-        tree.type = owntype;
+        if (tree != noCheckTree) {
+            tree.type = owntype;
+        }
         return owntype;
     }
 
@@ -550,6 +555,10 @@
      */
     Type result;
 
+    /** Synthetic tree to be used during 'fake' checks.
+     */
+    JCTree noCheckTree;
+
     /** Visitor method: attribute a tree, catching any completion failure
      *  exceptions. Return the tree's type.
      *
@@ -653,8 +662,8 @@
 
     /** Attribute the arguments in a method call, returning the method kind.
      */
-    int attribArgs(List<JCExpression> trees, Env<AttrContext> env, ListBuffer<Type> argtypes) {
-        int kind = VAL;
+    int attribArgs(int initialKind, List<JCExpression> trees, Env<AttrContext> env, ListBuffer<Type> argtypes) {
+        int kind = initialKind;
         for (JCExpression arg : trees) {
             Type argtype;
             if (allowPoly && deferredAttr.isDeferred(env, arg)) {
@@ -1730,7 +1739,7 @@
                 localEnv.info.isSelfCall = true;
 
                 // Attribute arguments, yielding list of argument types.
-                attribArgs(tree.args, localEnv, argtypesBuf);
+                int kind = attribArgs(MTH, tree.args, localEnv, argtypesBuf);
                 argtypes = argtypesBuf.toList();
                 typeargtypes = attribTypes(tree.typeargs, localEnv);
 
@@ -1795,7 +1804,7 @@
                     // ...and check that it is legal in the current context.
                     // (this will also set the tree's type)
                     Type mpt = newMethodTemplate(resultInfo.pt, argtypes, typeargtypes);
-                    checkId(tree.meth, site, sym, localEnv, new ResultInfo(MTH, mpt));
+                    checkId(tree.meth, site, sym, localEnv, new ResultInfo(kind, mpt));
                 }
                 // Otherwise, `site' is an error type and we do nothing
             }
@@ -1803,7 +1812,7 @@
         } else {
             // Otherwise, we are seeing a regular method call.
             // Attribute the arguments, yielding list of argument types, ...
-            int kind = attribArgs(tree.args, localEnv, argtypesBuf);
+            int kind = attribArgs(VAL, tree.args, localEnv, argtypesBuf);
             argtypes = argtypesBuf.toList();
             typeargtypes = attribAnyTypes(tree.typeargs, localEnv);
 
@@ -1985,7 +1994,7 @@
 
         // Attribute constructor arguments.
         ListBuffer<Type> argtypesBuf = new ListBuffer<>();
-        int pkind = attribArgs(tree.args, localEnv, argtypesBuf);
+        int pkind = attribArgs(VAL, tree.args, localEnv, argtypesBuf);
         List<Type> argtypes = argtypesBuf.toList();
         List<Type> typeargtypes = attribTypes(tree.typeargs, localEnv);
 
@@ -2043,7 +2052,7 @@
                     }
                 });
                 Type constructorType = tree.constructorType = types.createErrorType(clazztype);
-                constructorType = checkId(tree, site,
+                constructorType = checkId(noCheckTree, site,
                         constructor,
                         diamondEnv,
                         diamondResult);
@@ -2069,7 +2078,7 @@
                 tree.constructor = rs.resolveConstructor(
                     tree.pos(), rsEnv, clazztype, argtypes, typeargtypes);
                 if (cdef == null) { //do not check twice!
-                    tree.constructorType = checkId(tree,
+                    tree.constructorType = checkId(noCheckTree,
                             clazztype,
                             tree.constructor,
                             rsEnv,
@@ -2150,7 +2159,7 @@
                     tree.pos(), localEnv, clazztype, argtypes, typeargtypes);
                 Assert.check(sym.kind < AMBIGUOUS);
                 tree.constructor = sym;
-                tree.constructorType = checkId(tree,
+                tree.constructorType = checkId(noCheckTree,
                     clazztype,
                     tree.constructor,
                     localEnv,
@@ -2161,6 +2170,17 @@
                 owntype = clazztype;
         }
         result = check(tree, owntype, VAL, resultInfo);
+        InferenceContext inferenceContext = resultInfo.checkContext.inferenceContext();
+        if (tree.constructorType != null && inferenceContext.free(tree.constructorType)) {
+            //we need to wait for inference to finish and then replace inference vars in the constructor type
+            inferenceContext.addFreeTypeListener(List.of(tree.constructorType),
+                    new FreeTypeListener() {
+                        @Override
+                        public void typesInferred(InferenceContext instantiatedContext) {
+                            tree.constructorType = instantiatedContext.asInstType(tree.constructorType);
+                        }
+                    });
+        }
         chk.validate(tree.typeargs, localEnv);
     }
     //where
@@ -2388,6 +2408,7 @@
             preFlow(that);
             flow.analyzeLambda(env, that, make, isSpeculativeRound);
 
+            that.type = currentTarget; //avoids recovery at this stage
             checkLambdaCompatible(that, lambdaType, resultInfo.checkContext);
 
             if (!isSpeculativeRound) {
@@ -2826,7 +2847,7 @@
                         that.kind.isUnbound() ? argtypes.tail : argtypes, typeargtypes),
                         new FunctionalReturnContext(resultInfo.checkContext));
 
-            Type refType = checkId(that, lookupHelper.site, refSym, localEnv, checkInfo);
+            Type refType = checkId(noCheckTree, lookupHelper.site, refSym, localEnv, checkInfo);
 
             if (that.kind.isUnbound() &&
                     resultInfo.checkContext.inferenceContext().free(argtypes.head)) {
@@ -2848,6 +2869,8 @@
             //is a no-op (as this has been taken care during method applicability)
             boolean isSpeculativeRound =
                     resultInfo.checkContext.deferredAttrContext().mode == DeferredAttr.AttrMode.SPECULATIVE;
+
+            that.type = currentTarget; //avoids recovery at this stage
             checkReferenceCompatible(that, desc, refType, resultInfo.checkContext, isSpeculativeRound);
             if (!isSpeculativeRound) {
                 checkAccessibleTypes(that, localEnv, resultInfo.checkContext.inferenceContext(), desc, currentTarget);
@@ -3968,7 +3991,7 @@
                 all_multicatchTypes.append(ctype);
             }
         }
-        Type t = check(tree, types.lub(multicatchTypes.toList()), TYP, resultInfo);
+        Type t = check(noCheckTree, types.lub(multicatchTypes.toList()), TYP, resultInfo);
         if (t.hasTag(CLASS)) {
             List<Type> alternatives =
                 ((all_multicatchTypes == null) ? multicatchTypes : all_multicatchTypes).toList();
diff -r d05b69482d83 -r dbf29857221f src/share/classes/com/sun/tools/javac/comp/AttrContext.java
--- a/src/share/classes/com/sun/tools/javac/comp/AttrContext.java	Sun Apr 10 01:08:15 2016 +0100
+++ b/src/share/classes/com/sun/tools/javac/comp/AttrContext.java	Tue May 17 03:03:31 2016 +0100
@@ -25,6 +25,7 @@
 
 package com.sun.tools.javac.comp;
 
+import com.sun.tools.javac.tree.JCTree;
 import com.sun.tools.javac.util.*;
 import com.sun.tools.javac.code.*;
 
@@ -80,6 +81,13 @@
      */
     Type defaultSuperCallSite = null;
 
+    /** Tree that when non null, is to be preferentially used in diagnostics.
+     *  Usually Env<AttrContext>.tree is the tree to be referred to in messages,
+     *  but this may not be true during the window a method is looked up in enclosing
+     *  contexts (JDK-8145466)
+     */
+    JCTree preferredTreeForDiagnostics;
+
     /** Duplicate this context, replacing scope field and copying all others.
      */
     AttrContext dup(Scope scope) {
@@ -94,6 +102,7 @@
         info.returnResult = returnResult;
         info.defaultSuperCallSite = defaultSuperCallSite;
         info.isSerializable = isSerializable;
+        info.preferredTreeForDiagnostics = preferredTreeForDiagnostics;
         return info;
     }
 
diff -r d05b69482d83 -r dbf29857221f src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java
--- a/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java	Sun Apr 10 01:08:15 2016 +0100
+++ b/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java	Tue May 17 03:03:31 2016 +0100
@@ -877,11 +877,9 @@
          */
         private JCExpression expressionInvoke(VarSymbol rcvr) {
             JCExpression qualifier =
-                    tree.sym.isStatic() ?
-                        make.Type(tree.sym.owner.type) :
-                        (rcvr != null) ?
-                            makeReceiver(rcvr) :
-                            tree.getQualifierExpression();
+                    (rcvr != null) ?
+                        makeReceiver(rcvr) :
+                        tree.getQualifierExpression();
 
             //create the qualifier expression
             JCFieldAccess select = make.Select(qualifier, tree.sym.name);
diff -r d05b69482d83 -r dbf29857221f src/share/classes/com/sun/tools/javac/comp/Resolve.java
--- a/src/share/classes/com/sun/tools/javac/comp/Resolve.java	Sun Apr 10 01:08:15 2016 +0100
+++ b/src/share/classes/com/sun/tools/javac/comp/Resolve.java	Tue May 17 03:03:31 2016 +0100
@@ -717,7 +717,8 @@
                                     Warner warn) {
             //should we expand formals?
             boolean useVarargs = deferredAttrContext.phase.isVarargsRequired();
-            List<JCExpression> trees = TreeInfo.args(env.tree);
+            JCTree callTree = treeForDiagnostics(env);
+            List<JCExpression> trees = TreeInfo.args(callTree);
 
             //inference context used during this method check
             InferenceContext inferenceContext = deferredAttrContext.inferenceContext;
@@ -726,7 +727,7 @@
 
             if (varargsFormal == null &&
                     argtypes.size() != formals.size()) {
-                reportMC(env.tree, MethodCheckDiag.ARITY_MISMATCH, inferenceContext); // not enough args
+                reportMC(callTree, MethodCheckDiag.ARITY_MISMATCH, inferenceContext); // not enough args
             }
 
             while (argtypes.nonEmpty() && formals.head != varargsFormal) {
@@ -738,7 +739,7 @@
             }
 
             if (formals.head != varargsFormal) {
-                reportMC(env.tree, MethodCheckDiag.ARITY_MISMATCH, inferenceContext); // not enough args
+                reportMC(callTree, MethodCheckDiag.ARITY_MISMATCH, inferenceContext); // not enough args
             }
 
             if (useVarargs) {
@@ -754,6 +755,11 @@
             }
         }
 
+            // where
+            private JCTree treeForDiagnostics(Env<AttrContext> env) {
+                return env.info.preferredTreeForDiagnostics != null ? env.info.preferredTreeForDiagnostics : env.tree;
+            }
+
         /**
          * Does the actual argument conforms to the corresponding formal?
          */
@@ -1828,17 +1834,23 @@
         boolean staticOnly = false;
         while (env1.outer != null) {
             if (isStatic(env1)) staticOnly = true;
-            sym = findMethod(
-                env1, env1.enclClass.sym.type, name, argtypes, typeargtypes,
-                allowBoxing, useVarargs, false);
-            if (sym.exists()) {
-                if (staticOnly &&
-                    sym.kind == MTH &&
-                    sym.owner.kind == TYP &&
-                    (sym.flags() & STATIC) == 0) return new StaticError(sym);
-                else return sym;
-            } else if (sym.kind < bestSoFar.kind) {
-                bestSoFar = sym;
+            Assert.check(env1.info.preferredTreeForDiagnostics == null);
+            env1.info.preferredTreeForDiagnostics = env.tree;
+            try {
+                sym = findMethod(
+                    env1, env1.enclClass.sym.type, name, argtypes, typeargtypes,
+                    allowBoxing, useVarargs, false);
+                if (sym.exists()) {
+                    if (staticOnly &&
+                        sym.kind == MTH &&
+                        sym.owner.kind == TYP &&
+                        (sym.flags() & STATIC) == 0) return new StaticError(sym);
+                    else return sym;
+                } else if (sym.kind < bestSoFar.kind) {
+                    bestSoFar = sym;
+                }
+            } finally {
+                env1.info.preferredTreeForDiagnostics = null;
             }
             if ((env1.enclClass.sym.flags() & STATIC) != 0) staticOnly = true;
             env1 = env1.outer;
@@ -2466,7 +2478,9 @@
                 return spMethod;
             }
         };
-        polymorphicSignatureScope.enter(msym);
+        if (!mtype.isErroneous()) { // Cache only if kosher.
+            polymorphicSignatureScope.enter(msym);
+        }
         return msym;
     }
 
@@ -4214,7 +4228,11 @@
                         DiagnosticPosition preferedPos, DiagnosticSource preferredSource,
                         DiagnosticType preferredKind, JCDiagnostic d) {
                     JCDiagnostic cause = (JCDiagnostic)d.getArgs()[0];
-                    return diags.create(preferredKind, preferredSource, d.getDiagnosticPosition(),
+                    DiagnosticPosition pos = d.getDiagnosticPosition();
+                    if (pos == null) {
+                        pos = preferedPos;
+                    }
+                    return diags.create(preferredKind, preferredSource, pos,
                             "prob.found.req", cause);
                 }
             });
diff -r d05b69482d83 -r dbf29857221f src/share/classes/com/sun/tools/javac/jvm/Gen.java
--- a/src/share/classes/com/sun/tools/javac/jvm/Gen.java	Sun Apr 10 01:08:15 2016 +0100
+++ b/src/share/classes/com/sun/tools/javac/jvm/Gen.java	Tue May 17 03:03:31 2016 +0100
@@ -1793,6 +1793,11 @@
     public void visitReturn(JCReturn tree) {
         int limit = code.nextreg;
         final Env<GenContext> targetEnv;
+
+        /* Save and then restore the location of the return in case a finally
+         * is expanded (with unwind()) in the middle of our bytecodes.
+         */
+        int tmpPos = code.pendingStatPos;
         if (tree.expr != null) {
             Item r = genExpr(tree.expr, pt).load();
             if (hasFinally(env.enclMethod, env)) {
@@ -1800,17 +1805,10 @@
                 r.store();
             }
             targetEnv = unwind(env.enclMethod, env);
+            code.pendingStatPos = tmpPos;
             r.load();
             code.emitop0(ireturn + Code.truncate(Code.typecode(pt)));
         } else {
-            /*  If we have a statement like:
-             *
-             *  return;
-             *
-             *  we need to store the code.pendingStatPos value before generating
-             *  the finalizer.
-             */
-            int tmpPos = code.pendingStatPos;
             targetEnv = unwind(env.enclMethod, env);
             code.pendingStatPos = tmpPos;
             code.emitop0(return_);
diff -r d05b69482d83 -r dbf29857221f src/share/classes/com/sun/tools/javac/parser/JavacParser.java
--- a/src/share/classes/com/sun/tools/javac/parser/JavacParser.java	Sun Apr 10 01:08:15 2016 +0100
+++ b/src/share/classes/com/sun/tools/javac/parser/JavacParser.java	Tue May 17 03:03:31 2016 +0100
@@ -515,7 +515,7 @@
         if (mods != 0) {
             long lowestMod = mods & -mods;
             error(token.pos, "mod.not.allowed.here",
-                      Flags.asFlagSet(lowestMod));
+                    Flags.asFlagSet(lowestMod));
         }
     }
 
@@ -954,10 +954,7 @@
         t = odStack[0];
 
         if (t.hasTag(JCTree.Tag.PLUS)) {
-            StringBuilder buf = foldStrings(t);
-            if (buf != null) {
-                t = toP(F.at(startPos).Literal(TypeTag.CLASS, buf.toString()));
-            }
+            t = foldStrings(t);
         }
 
         odStackSupply.add(odStack);
@@ -981,37 +978,79 @@
         /** If tree is a concatenation of string literals, replace it
          *  by a single literal representing the concatenated string.
          */


More information about the distro-pkg-dev mailing list