'javap -v' on protocol class reveals no source file

Description

Through "javap -v" I can find source filename information in Clojure-generated datatype class files but not in protocol ones.

Approach: In gen-interface, if the *source-path* indicates this is not a REPL-generated interface, invoke the proper ASM method to set the source file. Per JVM expectations, this is the actual file name, not the file path.

Patch: CLJ-1645-protocol-class-has-no-source-file-information-w-repl.patch

Screened by: Alex Miller

Environment

Mac OS X Yosemite.

java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

Attachments

2

Activity

Show:

Fabio Tudone June 22, 2015 at 10:27 PM

Signed.

Fabio Tudone June 22, 2015 at 10:24 PM

Sure, with pleasure. Please also consider that the original patch is not mine though, but Yanxiang Lou's.

Alex Miller June 22, 2015 at 10:18 PM

Fabio, this looks good and I would like to move it forward, but I just realized we don't have a signed Contributor Agreement from you. If you could do so, that would be great - the information and electronic form can be found at http://clojure.org/contributing .

Fabio Tudone June 22, 2015 at 10:02 PM

Right, re-attaching.

Alex Miller June 22, 2015 at 9:57 PM

My last comment formatted my "earmuff stars" around source-path and you included that in the patch, which doesn't compile. Should be source-path, not source-path in the condition.

Completed

Details

Assignee

Reporter

Approval

Ok

Patch

Code and Test

Priority

Affects versions

Fix versions

Created January 16, 2015 at 4:40 PM
Updated July 18, 2015 at 12:41 AM
Resolved July 18, 2015 at 12:41 AM