public final List methods()

in core/src/main/java/com/jetbrains/sa/jdi/ReferenceTypeImpl.java [304:325]


    public final List<MethodImpl> methods() throws ClassNotPreparedException {
        List<MethodImpl> methods = (methodsCache != null)? methodsCache.get() : null;
        if (methods == null) {
            checkPrepared();
            if (saKlass instanceof ArrayKlass) {
                methods = Collections.emptyList();
            } else {
                // Get a list of the SA Method types
                List saMethods = ((InstanceKlass)saKlass).getImmediateMethods();

                // Create a list of our MethodImpl types
                int len = saMethods.size();
                methods = new ArrayList<MethodImpl>(len);
                for (Object saMethod : saMethods) {
                    methods.add(MethodImpl.createMethodImpl(this, (sun.jvm.hotspot.oops.Method) saMethod));
                }
            }
            methods = Collections.unmodifiableList(methods);
            methodsCache = new SoftReference<List<MethodImpl>>(methods);
        }
        return methods;
    }