-
-
Notifications
You must be signed in to change notification settings - Fork 942
Description
Unable to use inherited, protected method with jdk9.
Environment
Failing Setup:
-
jruby 9.1.14.0 (2.3.3) 2017-11-08 2176f24 Java HotSpot(TM) 64-Bit Server VM 9.0.1+11 on 9.0.1+11 +jit [linux-x86_64]
-
Linux tux-PC-2163 4.10.0-38-generic Add quick support for using jruby on MSYS | MinGW #42~16.04.1-Ubuntu SMP Tue Oct 10 16:32:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Passing Setup
-
jruby 9.1.14.0 (2.3.3) 2017-11-08 2176f24 OpenJDK 64-Bit Server VM 25.151-b12 on 1.8.0_151-8u151-b12-0ubuntu0.16.04.2-b12 +jit [linux-x86_64]
-
Linux tux-PC-2163 4.10.0-38-generic Add quick support for using jruby on MSYS | MinGW #42~16.04.1-Ubuntu SMP Tue Oct 10 16:32:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Expected Behavior
- Runs sketch as expected
see link https://github.com/monkstone/rbprocessing
Actual Behavior
- Fails with
TypeErrormessage
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by jnr.posix.JavaLibCHelper$ReflectiveAccess to method sun.nio.ch.SelChImpl.getFD()
WARNING: Please consider reporting this to the maintainers of jnr.posix.JavaLibCHelper$ReflectiveAccess
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
TypeError: illegal access on 'runSketch': class org.jruby.javasupport.JavaMethod cannot access a member of class processing.core.PApplet with modifiers "protected"
initialize at /home/tux/rbprocessing/lib/rbprocessing/app.rb:10
<main> at test.rb:18
The runSketch method
The runSketch method is provided by processing.org, primarily for the benefit of processing.py, that uses jython to create a python wrapper around processing. In JRubyArt and propane I have created a ruby wrapper around processing using jruby. Is there a way I can still access this method with jdk9?
Behaviour since confirmed with simpler java test case, that is also included in repo.