Package org.jruby
Class RubyClass.ConcreteJavaReifier
java.lang.Object
org.jruby.RubyClass.BaseReificator
org.jruby.RubyClass.MethodReificator
org.jruby.RubyClass.ConcreteJavaReifier
- All Implemented Interfaces:
RubyClass.Reificator
- Enclosing class:
- RubyClass
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringprotected static final String(package private) JavaConstructor[]Fields inherited from class org.jruby.RubyClass.BaseReificator
cw, javaName, javaPath, jcc, reifiedParent, RUBY_CLASS_FIELD, RUBY_FIELD, rubyName, rubyPath -
Constructor Summary
ConstructorsConstructorDescriptionConcreteJavaReifier(Class<?> reifiedParent, String javaName, String javaPath) -
Method Summary
Modifier and TypeMethodDescriptionvoidprivate voidprotected voidOverride to save more values from the array inRubyClass.MethodReificator.reifyClinit(SkinnyMethodAdapter)private MethodfindTarget(Class<?> clz, String javaMethodName, Class<?> returns, Class<?>[] params) protected voidGenerates an init barrier.protected voidgenerateSuperBridges(String javaMethodName, Class<?>[] methodSignature) protected Object[]protected booleanprotected voidLoads self (if local) or the rubyObject (if a java proxy) cast to a RubyBasicObject, as everything is a RBO and it has a nicer interfacebyte[]reify()protected voidprotected Collection<Class<?>[]>searchInheritedSignatures(String id, Signature arity) Methods inherited from class org.jruby.RubyClass.MethodReificator
defineInstanceMethod, defineInstanceMethods, reifyClinit, searchClassMethodsMethods inherited from class org.jruby.RubyClass.BaseReificator
allocAndInitialize, join, rubycall
-
Field Details
-
RUBY_OBJECT_FIELD
- See Also:
-
RUBY_PROXY_CLASS_FIELD
- See Also:
-
RUBY_CTOR_CACHE_FIELD
- See Also:
-
savedSuperCtors
JavaConstructor[] savedSuperCtors -
supers
-
-
Constructor Details
-
ConcreteJavaReifier
-
-
Method Details
-
customReify
public void customReify()- Overrides:
customReifyin classRubyClass.MethodReificator
-
loadRubyObject
Description copied from class:RubyClass.BaseReificatorLoads self (if local) or the rubyObject (if a java proxy) cast to a RubyBasicObject, as everything is a RBO and it has a nicer interface- Overrides:
loadRubyObjectin classRubyClass.BaseReificator
-
reify
public byte[] reify()- Specified by:
reifyin interfaceRubyClass.Reificator- Overrides:
reifyin classRubyClass.BaseReificator
-
isRubyObject
protected boolean isRubyObject()- Overrides:
isRubyObjectin classRubyClass.BaseReificator
-
getExtraClinitInfo
- Overrides:
getExtraClinitInfoin classRubyClass.MethodReificator
-
extraClinitLookup
Description copied from class:RubyClass.MethodReificatorOverride to save more values from the array inRubyClass.MethodReificator.reifyClinit(SkinnyMethodAdapter)- Overrides:
extraClinitLookupin classRubyClass.MethodReificator
-
generateSuperBridges
- Overrides:
generateSuperBridgesin classRubyClass.MethodReificator
-
findTarget
-
searchInheritedSignatures
- Overrides:
searchInheritedSignaturesin classRubyClass.MethodReificator
-
reifyConstructors
protected void reifyConstructors()- Overrides:
reifyConstructorsin classRubyClass.BaseReificator
-
generateObjectBarrier
Generates an init barrier. NOT Thread-safe, but hopefully nobody has threads in their constructor? This is used to ensure that self.to_java is valid if the super ctor calls an abstract method that is re-implemented by ruby- Overrides:
generateObjectBarrierin classRubyClass.MethodReificator
-
defineInterfaceMethods
private void defineInterfaceMethods()
-