| /* | |
| * @test /nodynamiccopyright/ | |
| * @bug 8020689 | |
| * @summary Making sure the LineNumberTable entry is correctly generated for the leading method invocation in the else section | |
| * @compile T8020689.java | |
| * @run main T8020689 | |
| */ | |
| public class T8020689 { | |
| public static void main(String... args) { | |
| if (args.length > 0) { | |
| a(); | |
| } else { | |
| b(); | |
| } | |
| } | |
| static void a() { | |
| } | |
| static void b() { | |
| assertLine(15); | |
| } | |
| public static void assertLine(int expectedline) { | |
| Exception e = new Exception("expected line#: " + expectedline); | |
| int myline = e.getStackTrace()[2].getLineNumber(); | |
| if( myline != expectedline) { | |
| throw new RuntimeException("Incorrect line number " + | |
| "expected: " + expectedline + | |
| ", got: " + myline, e); | |
| } | |
| System.out.format("Got expected line number %d correct %n", myline); | |
| } | |
| } |