> 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 > ...
Jonathan Lampérth has updated the pull request incrementally with one additional commit since the last revision: feat: add Code: header for LNT and LVT ------------- Changes: - all: https://git.openjdk.org/jdk/pull/22359/files - new: https://git.openjdk.org/jdk/pull/22359/files/35fbd3f8..68ec9aaa Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=22359&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=22359&range=00-01 Stats: 83 lines in 3 files changed: 22 ins; 49 del; 12 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