# HG changeset patch # User jjg # Date 1309460453 25200 # Node ID 983f0e987540302858b62b5af6e18533aa4baa2c # Parent 31a86b7e18cae261218b6b64aa76559d5103368e 7060926: Attr.PostAttrAnalyzer misses a case Reviewed-by: mcimadamore diff -r 31a86b7e18ca -r 983f0e987540 langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java Fri Jun 24 13:52:14 2011 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java Thu Jun 30 12:00:53 2011 -0700 @@ -3388,6 +3388,13 @@ } @Override + public void visitAssignop(JCAssignOp that) { + if (that.operator == null) + that.operator = new OperatorSymbol(names.empty, syms.unknownType, -1, syms.noSymbol); + super.visitAssignop(that); + } + + @Override public void visitBinary(JCBinary that) { if (that.operator == null) that.operator = new OperatorSymbol(names.empty, syms.unknownType, -1, syms.noSymbol); diff -r 31a86b7e18ca -r 983f0e987540 langtools/test/tools/javac/failover/FailOver15.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/failover/FailOver15.java Thu Jun 30 12:00:53 2011 -0700 @@ -0,0 +1,19 @@ +/* + * @test /nodynamiccopyright/ + * @bug 6970584 7060926 + * @summary Attr.PostAttrAnalyzer misses a case + * + * @compile/fail/ref=FailOver15.out -XDrawDiagnostics -XDshouldStopPolicy=FLOW -XDdev FailOver15.java + */ + +class Test { + void m() { + new UnknownClass() { + public String getString() { + String s = ""; + s += "more"; + return s; + } + } + } +} diff -r 31a86b7e18ca -r 983f0e987540 langtools/test/tools/javac/failover/FailOver15.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/failover/FailOver15.out Thu Jun 30 12:00:53 2011 -0700 @@ -0,0 +1,4 @@ +FailOver15.java:17:10: compiler.err.expected: ';' +FailOver15.java:11:13: compiler.err.cant.resolve.location: kindname.class, UnknownClass, , , (compiler.misc.location: kindname.class, Test, null) +2 errors +