((flags & 0x0008) != 0 ? statics : locals).enterOrOverload(s);
if ((flags & 0x0002) == 0) ((flags & 0x0008) != 0 ? statics : locals).enterOrOverload(s);
    protected void parseMethod() {        int flags = in.nextChar();        Name name = (Name)pool.readPool(in.nextChar());        Type type = readType(in.nextChar());        if (CONSTR_N.equals(name)) {            Symbol s = TermSymbol.newConstructor(c, transFlags(flags));            // kick out protected, package visible or            // private constructors            if (((flags & 0x0004) != 0) ||                ((flags & 0x0002) != 0) ||                ((flags & 0x0007) == 0)) {                attrib.readAttributes(s, type, METH_ATTR);                return;            }            switch (type) {	    case MethodType(Symbol[] vparams, _):		if (c == defs.OBJECT_CLASS)		    type = Type.PolyType(Symbol.EMPTY_ARRAY, ctype);		else 		    type = Type.MethodType(vparams, ctype);		break;	    default:		throw new ApplicationError();	    }	    s.setInfo(type, phaseId);            attrib.readAttributes(s, type, METH_ATTR);            //System.out.println("-- enter " + s);            constr.enterOrOverload(s);        } else {	    Symbol s = new TermSymbol(		Position.NOPOS,	name,		((flags & 0x0008) != 0) ? c.module().moduleClass() : c,		transFlags(flags));	    s.setInfo(type, phaseId);	    attrib.readAttributes(s, type, METH_ATTR);	    ((flags & 0x0008) != 0 ? statics : locals).enterOrOverload(s);	}    }