| /* |
| * @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); |
| } |
| } |