Mon, 08 Apr 2013 15:53:08 +0100
8010404: Lambda debugging: redundant LineNumberTable entry for lambda capture
Summary: Ignore indy entries in LineNumberTable
Reviewed-by: jjg
duke@1 | 1 | /* |
duke@1 | 2 | * @test /nodynamiccopyright/ |
duke@1 | 3 | * @bug 4294065 4785453 |
duke@1 | 4 | * @summary Verify that invalid access modifiers on interface members don't cause crash. |
duke@1 | 5 | * @author maddox |
duke@1 | 6 | * |
jjg@611 | 7 | * @compile/fail/ref=InterfaceMemberClassModifiers.out -XDdiags=%b:%l:%_%m InterfaceMemberClassModifiers.java |
duke@1 | 8 | */ |
duke@1 | 9 | |
duke@1 | 10 | public interface InterfaceMemberClassModifiers { |
duke@1 | 11 | |
duke@1 | 12 | Object nullWriter = null; |
duke@1 | 13 | |
duke@1 | 14 | class SomeClass1 implements InterfaceMemberClassModifiers { // OK |
duke@1 | 15 | public Object getOut() { |
duke@1 | 16 | return nullWriter; |
duke@1 | 17 | } |
duke@1 | 18 | } |
duke@1 | 19 | |
duke@1 | 20 | public class SomeClass2 implements InterfaceMemberClassModifiers { // OK |
duke@1 | 21 | public Object getOut() { |
duke@1 | 22 | return nullWriter; |
duke@1 | 23 | } |
duke@1 | 24 | } |
duke@1 | 25 | |
duke@1 | 26 | // Compiler used to crash on these! (after reporting error) |
duke@1 | 27 | |
duke@1 | 28 | protected class SomeClass3 implements InterfaceMemberClassModifiers { // illegal |
duke@1 | 29 | public Object getOut() { |
duke@1 | 30 | return nullWriter; |
duke@1 | 31 | } |
duke@1 | 32 | } |
duke@1 | 33 | |
duke@1 | 34 | private class SomeClass4 implements InterfaceMemberClassModifiers { // illegal |
duke@1 | 35 | public Object getOut() { |
duke@1 | 36 | return nullWriter; |
duke@1 | 37 | } |
duke@1 | 38 | } |
duke@1 | 39 | |
duke@1 | 40 | } |