proxy creates Java 1.5 bytecode

Description

proxy generates classes and sets the bytecode version to Java 1.5 (other bytecode generation all uses Java 1.8 since Clojure 1.10).

https://github.com/clojure/clojure/blob/cbb3fdf787a00d3c1443794b97ed7fe4bef8e888/src/clj/clojure/core_proxy.clj#L134-L136

We missed updating this in earlier JVM version updates (see similar code in gen-class, Compiler, etc).

Proposed: Use V1_8 to match all other class writer versions. Need to set the proper ClassWriter options, so use the (now standardized) Compiler.classWriter() function to construct the ClassWriter.

Patch: clj-2597.patch

Screened by: Fogus

Environment

None

Activity

Show:
Michael Fogus
January 5, 2021, 4:17 PM

Viewed, reasoned about, applied, and tested patch.

Alex Miller
January 6, 2021, 7:04 PM

Released in 1.10.2-rc2

Fixed

Assignee

Unassigned

Reporter

Alex Miller

Labels

Approval

Ok

Patch

Code

Fix versions

Affects versions

Priority

Major