Very similar and related to: https://bugs.openjdk.org/browse/JDK-8034066
This PR includes changes to ensure the indentation of `LineNumberTable` and
`LocalVariableTable` behave in the same way both for the `javap -verbose` and
`javap -l -c` case. Prior to this PR, for the `javap -l -c` case the
`LineNumberTable` and `LocalVariableTable` attributes are not indented with
regard to the `Code: ` header.
The only case, where no extra indentation is added is for `javap -l` without
`-c` -- As it does not make sense to indent if there is no `Code:` header to
indent relative to. I am not sure if there is a use case for `-l` without `-c`,
but would leave this functionality as is.
## Current behaviour of javap previously differed with and without -verbose in
the following way:
### Case: `javap -l -c EmptyLoop.class`
...
public void emptyLoop();
Code:
0: iconst_0
...
14: return
LineNumberTable:
line 3: 0
line 5: 14
...
### Case: `javap -verbose EmptyLoop.class`
...
public void emptyLoop();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
0: iconst_0
...
14: return
LineNumberTable:
line 3: 0
line 5: 14
...
## New behaviour:
### Case: `javap -l -c EmptyLoop.class`
...
public void emptyLoop();
Code:
0: iconst_0
...
14: return
LineNumberTable:
line 3: 0
line 5: 14
...
## Open Questions
### Add code header for only `-l` case?
Currently for `-l` without `-c` things look as follows:
...
public void emptyLoop();
LineNumberTable:
line 3: 0
line 5: 14
...
One could also imagine making the output:
...
public void emptyLoop();
Code:
LineNumberTable:
line 3: 0
line 5: 14
...
-------------
Commit messages:
- fix: Indentation of LineNumberTable and LocalVariableTable in javap output
Changes: https://git.openjdk.org/jdk/pull/22359/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=22359&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8035271
Stats: 179 lines in 3 files changed: 170 ins; 8 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/22359.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/22359/head:pull/22359
PR: https://git.openjdk.org/jdk/pull/22359