core/src/main/java/org/jruby/RubyClass.java
public boolean isReifiable() {
        // already reified is not reifiable
        if (reifiedClass != null) return false;

        final RubyClass realSuper;
        // root classes are not reifiable
        if (superClass == null || (realSuper = superClass.getRealClass()) == null) return false;

        Class reifiedSuper = realSuper.reifiedClass;

        // if super has been reified or is a native class
        if (reifiedSuper != null) {

            // super must be Object, BasicObject, or a reified user class
            return reifiedSuper == RubyObject.class ||
                    reifiedSuper == RubyBasicObject.class ||
                    Reified.class.isAssignableFrom(reifiedSuper);
        } else {
            // non-native, non-reified super; recurse
            return realSuper.isReifiable();
        }
    }
/**
     * Whether this class can be reified into a Java class. Currently only objects
     * that descend from Object (or descend from Ruby-based classes that descend
     * from Object) can be reified.
     *
     * @return true if the class can be reified, false otherwise
     */
Whether this class can be reified into a Java class. Currently only objects
that descend from Object (or descend from Ruby-based classes that descend
from Object) can be reified.

@return true if the class can be reified, false otherwise
Whether this class can be reified into a Java class . Currently only objects that descend from Object ( or descend from Ruby - based classes that descend from Object ) can be reified . @return true if the class can be reified false otherwise
public boolean isReifiable() {
        if (reifiedClass != null) return false;
        final RubyClass realSuper;
        if (superClass == null || (realSuper = superClass.getRealClass()) == null) return false;
        Class reifiedSuper = realSuper.reifiedClass;
        if (reifiedSuper != null) {
            return reifiedSuper == RubyObject.class ||
                    reifiedSuper == RubyBasicObject.class ||
                    Reified.class.isAssignableFrom(reifiedSuper);
        } else {
            return realSuper.isReifiable();
        }
    }
public boolean isReifiable ( ) { if ( reifiedClass != null ) return false ; final RubyClass realSuper ; if ( superClass == null || ( realSuper = superClass . getRealClass ( ) ) == null ) return false ; Class reifiedSuper = realSuper . reifiedClass ; if ( reifiedSuper != null ) { return reifiedSuper == RubyObject . class || reifiedSuper == RubyBasicObject . class || Reified . class . isAssignableFrom ( reifiedSuper ) ; } else { return realSuper . isReifiable ( ) ; } }
Whether this class can be reified into a Java class.
Whether this class can be reified into a Java class .
// already reified is not reifiable // root classes are not reifiable // if super has been reified or is a native class // super must be Object, BasicObject, or a reified user class // non-native, non-reified super; recurse