author | amurillo |
Mon, 11 Apr 2016 20:38:38 -0700 (2016-04-12) | |
changeset 37298 | 8df0cc9da41e |
parent 19131 | 519fa466d8ba |
permissions | -rw-r--r-- |
19131
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
1 |
/* |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
2 |
* @test /nodynamiccopyright/ |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
3 |
* @bug 8020689 |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
4 |
* @summary Making sure the LineNumberTable entry is correctly generated for the leading method invocation in the else section |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
5 |
* @compile T8020689.java |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
6 |
* @run main T8020689 |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
7 |
*/ |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
8 |
|
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
9 |
public class T8020689 { |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
10 |
|
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
11 |
public static void main(String... args) { |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
12 |
if (args.length > 0) { |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
13 |
a(); |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
14 |
} else { |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
15 |
b(); |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
16 |
} |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
17 |
} |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
18 |
|
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
19 |
static void a() { |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
20 |
} |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
21 |
|
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
22 |
static void b() { |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
23 |
assertLine(15); |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
24 |
} |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
25 |
|
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
26 |
public static void assertLine(int expectedline) { |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
27 |
Exception e = new Exception("expected line#: " + expectedline); |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
28 |
int myline = e.getStackTrace()[2].getLineNumber(); |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
29 |
if( myline != expectedline) { |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
30 |
throw new RuntimeException("Incorrect line number " + |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
31 |
"expected: " + expectedline + |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
32 |
", got: " + myline, e); |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
33 |
} |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
34 |
System.out.format("Got expected line number %d correct %n", myline); |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
35 |
} |
519fa466d8ba
8020689: Missing LineNumberTable entries in compiled class files
jlahoda
parents:
diff
changeset
|
36 |
} |