Skip to content

Conversation

@ZZZank
Copy link
Contributor

@ZZZank ZZZank commented Jan 5, 2026

This PR is made for solving some cycle references between LiveConnect and the rest of Rhino, by splitting MemberBox into two classes:

  1. MemberBox, for usages in non-LiveConnect classes like FunctionObject and ScriptableObject. MemberBox uses Class<?> instead of TypeInfo for storing types, thus not requiring TypeInfo or TypeInfoFactory.

  2. ExecutableBox, for LiveConnect usage. Features like arg nullability detector, the ability to create getter/setter function, and serialization support is removed, because they didn't to be used in any aspect of LiveConnect

Features original MemberBox MemberBox ExecutableBox
wrap Java Member usage
Java Generics Support
Serialization
create and cache getter/setter BaseFunction
NullabilityDetector
Search accessible method after failure

@ZZZank ZZZank marked this pull request as ready for review January 5, 2026 15:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant