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