private void propagateMemberAccessRec()

in src/org/jetbrains/ether/dependencyView/Mappings.java [64:90]


    private void propagateMemberAccessRec(final Collection<StringCache.S> acc, final boolean isField, final boolean root, final StringCache.S name, final StringCache.S reflcass) {
        final ClassRepr repr = reprByName(reflcass);

        if (repr != null) {
            if (!root) {
                final Collection members = isField ? repr.fields : repr.methods;

                for (Object o : members) {
                    final ProtoMember m = (ProtoMember) o;

                    if (m.name.equals(name)) {
                        return;
                    }
                }

                acc.add(reflcass);
            }

            final Collection<StringCache.S> subclasses = classToSubclasses.foxyGet(reflcass);

            if (subclasses != null) {
                for (StringCache.S subclass : subclasses) {
                    propagateMemberAccessRec(acc, isField, false, name, subclass);
                }
            }
        }
    }