Because NativeJavaObject recreates its JavaMembers on deserialisation, and because JavaMembers itself can lookup function prototypes dynamically, there is the potential for it all to go very wrong by causing that part of an object graph to be deserialised before enough of the top level scope has been recreated for the prototype to actually be looked up.
I stumbled across this in my scopes refactoring, and I think the only way to resolve this properly is by serialising most of java members so that nothing is looked up dynamically in scopes.
Have I ever mentioned that I hate Java serialisation?
Because
NativeJavaObjectrecreates itsJavaMemberson deserialisation, and becauseJavaMembersitself can lookup function prototypes dynamically, there is the potential for it all to go very wrong by causing that part of an object graph to be deserialised before enough of the top level scope has been recreated for the prototype to actually be looked up.I stumbled across this in my scopes refactoring, and I think the only way to resolve this properly is by serialising most of java members so that nothing is looked up dynamically in scopes.
Have I ever mentioned that I hate Java serialisation?