public Symbol getModule(Name fullname) { return getModule(fullname, true);
public Symbol getModule(Name fullname, boolean fail) { Scope scope = ROOT_CLASS.members(); int i = 0; int j = fullname.pos((byte)'.', i); while (j < fullname.length()) { scope = scope.lookup(fullname.subName(i, j)).members(); i = j + 1; j = fullname.pos((byte)'.', i); } Symbol sym = scope.lookup(fullname.subName(i, fullname.length())); if (!sym.isModule()) { switch (sym.type()) { case OverloadedType(Symbol[] alts, Type[] alttypes): for (int k = 0; k < alts.length; k++) if ((sym = alts[k]).isModule()) break; } } if (fail) assert sym.isModule() : "no module '" + fullname + "'"; return sym;
    public Symbol getModule(Name fullname) {        return getModule(fullname, true);    }