File 0257-jinterface-make-OtpErlangExternalFun-transparent.patch of Package erlang
From 2c8e640f98c2176ee9e6e2d84b79741b07a44dcd Mon Sep 17 00:00:00 2001
From: ilya-klyuchnikov <ilya.klyuchnikov@gmail.com>
Date: Tue, 26 Jan 2021 21:16:13 +0000
Subject: [PATCH] jinterface: make OtpErlangExternalFun transparent
Not being able to access the internals of OtpErlangExternalFun is problematic.
The real use case: performing some analysis of cerl from inside java/scala - the construct `fun module:fun/arity` is represented as "itself", and when accessing cerl forms from jinterface - it's represented as OtpErlangExternalFun correspondingly. Unfortunately, - the internals are private, - which makes some forms of Erlang core not analysable through jinterface.
Also, - since all `module`, `function` and `arity` fields are final/immutable - it doesn't make much sense to hide/incapsulate them.
---
.../com/ericsson/otp/erlang/OtpErlangExternalFun.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangExternalFun.java b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangExternalFun.java
index 24fee305b1..6e402e3ee1 100644
--- a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangExternalFun.java
+++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangExternalFun.java
@@ -23,9 +23,9 @@ public class OtpErlangExternalFun extends OtpErlangObject {
// don't change this!
private static final long serialVersionUID = 6443965570641913886L;
- private final String module;
- private final String function;
- private final int arity;
+ public final String module;
+ public final String function;
+ public final int arity;
public OtpErlangExternalFun(final String module, final String function,
final int arity) {
--
2.26.2