<headius>
enebo: I am starting to look at module stuff but I'm confused about something
<headius>
searchMethodCommon in RubyModule says it is overridden in IncludedModuleWrapper, which fits my memory... but it is not actually overridden
<headius>
so I am confused now because it doesn't seem like any of the method searching is overridden anywhere except the Java package module's special behavior
<headius>
I'm going to try poking at some simple overrides here to delegate lookup to the module, but I'm sure this stuff used to be overridden
<rapha>
what's the recommended java version for use with jruby? 11? 18?
<headius>
enebo: maybe I'm crazy but looking at the implementation of this in CRuby it seems like they just added logic to include new modules into existing hierarchies... so if I include M into Foo and M later includes N, they go back to Foo and add N
<headius>
it does not appear to alter searching, which makes me WAY happier because I had no idea how they would do super calls
<enebo[m]>
yeah I thought it just would add to each subclass to "fix" up the previous includers
<headius>
that will be much easier to add
<headius>
it's like 20 lines of code in MRI for each of include and prepend
<enebo[m]>
in that one highly tangled method
<enebo[m]>
which we made two methods
<headius>
no guts no glory
<enebo[m]>
A tiny part of me hopes this solves the refinement issue in sequel
<headius>
sweet, first attempt passes the test up to the prepend part
<headius>
I'll add the prepend logic and we may be good
<enebo[m]>
Well I got past a new point in the combined parser so I am running tests locally to see what breaks next (if anything)
<headius>
sweet
<enebo[m]>
Strangely I was hung up on string literals and things which used string_content so frustratingly almost nothing would parse in ripper
<headius>
it's always strings
<enebo[m]>
My weird thing I still don't get is they use NODE_CDECL for NODE_RIPPER and that can store an ID and two VALUEs
<enebo[m]>
they pass that thing around and it looks like it will just get consumed in higher productions to on_qwords_add(THAT NODE)
<enebo[m]>
| java.lang.ClassCastException: org.jruby.util.ByteList cannot be cast to org.jruby.runtime.builtin.IRubyObject
<enebo[m]>
so I am still hitting oddities but a lot of ripper is in fact working
<enebo[m]>
looks like regexps and patterns are not lining up somehow
<enebo[m]>
This entire process has been painful but the DSL MRI made for describing ripper I am nearly using
<enebo[m]>
I have tweaked some of it and I have a heinous text processing script to convert some C calls to Java ones but it means once done There will be a lot less effort to update ripper
<headius>
I think there's a bug in this module logic in MRI
<headius>
It has this Boolean to indicate whether it should do the include into a target hierarchy but it seems to set it false if it finds the module in any hierarchy and never resets it to true for the other hierarchies
<headius>
It seems like this logic would disable the include for all hierarchies after the first one that already had the module
<headius>
Maybe I'm reading this wrong
<rapha>
good evening all!
<rapha>
headius: enebo[m]: sorry if my questions should be too bold. does either one of you happen to know what the currently recommended java version (guessing either 11 or 17) is, for jruby?
<rapha>
already looked through the github issues but only found some issues from the time when support for 11 was getting merged