Mercurial > hg > openjdk > icedtea > jdk7 > langtools
changeset 1141:918fb57059ab
Merge
author | asaha |
---|---|
date | Fri, 04 Nov 2011 11:11:45 -0700 |
parents | 5905d153e9fc (current diff) ac81179d8969 (diff) |
children | 5f8938d59243 |
files | |
diffstat | 4 files changed, 17 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Mon Oct 31 12:38:21 2011 -0700 +++ b/.hgtags Fri Nov 04 11:11:45 2011 -0700 @@ -137,3 +137,4 @@ 5935f69f4e558d2bc88c20c55f3de54a457fd26b jdk7u1-b06 ef15185867cf89e606239f216ff34154ce50563b jdk7u1-b07 ee94565d9f57ee9885e3af44891877163b637cc3 jdk7u1-b08 +d37897312d318c18b0a855ce80f70c410865d105 jdk7u2-b11
--- a/src/share/classes/com/sun/tools/javac/comp/Resolve.java Mon Oct 31 12:38:21 2011 -0700 +++ b/src/share/classes/com/sun/tools/javac/comp/Resolve.java Fri Nov 04 11:11:45 2011 -0700 @@ -691,6 +691,7 @@ case ABSENT_MTH: return wrongMethod.setWrongSym(sym, ex.getDiagnostic()); case WRONG_MTH: + if (operator) return bestSoFar; wrongMethods.addCandidate(currentStep, wrongMethod.sym, wrongMethod.explanation); case WRONG_MTHS: return wrongMethods.addCandidate(currentStep, sym, ex.getDiagnostic()); @@ -1685,6 +1686,7 @@ */ Symbol resolveOperator(DiagnosticPosition pos, int optag, Env<AttrContext> env, List<Type> argtypes) { + startResolution(); Name name = treeinfo.operatorName(optag); Symbol sym = findMethod(env, syms.predefClass.type, name, argtypes, null, false, false, true);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/7102515/T7102515.java Fri Nov 04 11:11:45 2011 -0700 @@ -0,0 +1,11 @@ +/* + * @test /nodynamiccopyright/ + * @bug 7102515 + * @summary javac running very very long and not returning + * @compile/fail/ref=T7102515.out -XDrawDiagnostics T7102515.java + */ + +class T7102515 { + T7102515 badBinary = new T7102515() + new T7102515(); + Object badUnary = badBinary++; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/7102515/T7102515.out Fri Nov 04 11:11:45 2011 -0700 @@ -0,0 +1,3 @@ +T7102515.java:9:41: compiler.err.operator.cant.be.applied.1: +, T7102515, T7102515 +T7102515.java:10:32: compiler.err.operator.cant.be.applied: ++, T7102515, null +2 errors