1

I am de-compiling java code from class file. There is a java statement as:

localObject2 = this.current_result_set;jsr 56;jsr 63;return (ResultSet)localObject2;

giving an error as

'not a statement localObject2 = this.current_result_set;jsr 56;jsr 63;return (ResultSet)localObject2;'

What is 'JSR 56; jsr 63' in java?

Prafull
  • 63
  • 1
  • 11
  • 1
    It's not valid Java. Wherever you copied it from, it is a mistake. Perhaps it was a comment originally? – RealSkeptic Aug 14 '17 at 12:18
  • Decompiling can always have strange effects since normally the compiled code is not meant to be decompiled and some people go though some lengths to obfuscate their code as much as possible. If this is an open source library you best get the sources instead of decompiling. – Thomas Aug 14 '17 at 12:20
  • 1
    Btw, JSR means Java Specification Request and [JSR 56](https://www.jcp.org/en/jsr/detail?id=56) is JNLP (Webstart) while [JSR 63](https://www.jcp.org/en/jsr/detail?id=63) is JAXP. – Thomas Aug 14 '17 at 12:22
  • 2
    JSR in this context does NOT mean Java Specification Request but "jump to subroutine at branchoffset" - see my answer – Dave G Aug 14 '17 at 12:52
  • If this is decompiled bytecode it could also mean the "JSR" (Jump to Subroutine) instruction (https://stackoverflow.com/questions/21150154/what-java-compilers-use-the-jsr-instruction-and-what-for) – Thomas Kläger Aug 14 '17 at 12:52

1 Answers1

1

The information that was "decompiled" is incomplete. I am unclear as to the command used to decompile the class as it has certain flags that will influence the output.

That said, the jsr 56 and jsr 63, in this context, refer to the bytecode instruction 'jsr'. The 'jsr' instruction is "jump to subroutine at branchoffset (signed short constructed from unsigned bytes.

See this wikipedia entry for more information.

Dave G
  • 9,639
  • 36
  • 41