Scope.Entry e = parser.statics.lookupEntry(alias.name); if (e != Scope.Entry.NONE) parser.statics.unlink(e); parser.statics.enter(alias);
parser.statics.enterNoHide(alias);
    public void readAttribute(Symbol sym, Type type, int attr, int attrLen) {        switch (attr) {        // class attributes            case SCALA_ATTR:                new UnPickle(sym, in.nextBytes(attrLen), Name.fromString(in.path));                return;            case INNERCLASSES_ATTR:                int n = in.nextChar();                //System.out.println(sym + " has " + n + " innerclass entries");                for (int i = 0; i < n; i++) {                    Name name = (Name)pool.readPool(in.nextChar());                    if (name == null) {                    	in.nextChar();                    	in.nextChar();                    	in.nextChar();                    	continue;                    }                    Symbol inner = parser.global.definitions.getClass(name);                    name = (Name)pool.readPool(in.nextChar());                    if (name == null) {                    	in.nextChar();                    	in.nextChar();                    	continue;                    }                    Symbol outer = parser.global.definitions.getModule(name, false);                    name = (Name)pool.readPool(in.nextChar());                    int flags = in.nextChar();                    if ((name == null) ||                        ((flags & 0x0009) == 0) ||                        ((flags & 0x0001) == 0) ||                        !outer.isModule() ||                        (outer != sym.module()))                    	continue;                	AliasTypeSymbol alias =						new AliasTypeSymbol(Position.NOPOS, name.toTypeName(), outer, 0);					alias.setInfo(parser.make.classType(inner));					alias.allConstructors()						.setInfo(new Type.MethodType(Symbol.EMPTY_ARRAY, inner.info()));					Scope.Entry e = parser.statics.lookupEntry(alias.name); // Why is this ?????? 	    			if (e != Scope.Entry.NONE) 						parser.statics.unlink(e);	    			parser.statics.enter(alias);                }                //in.skip(attrLen);                return;        // method attributes            case CODE_ATTR:                in.skip(attrLen);                return;            case EXCEPTIONS_ATTR:                //int nexceptions = in.nextChar();                //Type[] thrown = new Type[nexceptions];                //for (int j = 0; j < nexceptions; j++)                //    thrown[j] = make.classType(reader.readClassName(in.nextChar()));                //((MethodType)def.type).thrown = thrown;                in.skip(attrLen);                return;            case LINE_NUM_TABLE_ATTR:                in.skip(attrLen);                return;            case LOCAL_VAR_TABLE_ATTR:                in.skip(attrLen);                return;        // general attributes            case SYNTHETIC_ATTR:                sym.flags |= Modifiers.SYNTHETIC;                return;            case BRIDGE_ATTR:                sym.flags |= Modifiers.BRIDGE;                return;            case DEPRECATED_ATTR:                sym.flags |= Modifiers.DEPRECATED;                return;            case CONSTANT_VALUE_ATTR:            	Object constVal = pool.readPool(in.nextChar());            	//System.out.println(sym.owner() + "." + sym + ": " + constVal + " of type " + constantType(type, constVal));            	sym.setInfo(parser.make.constantType(type, constVal));                return;            case META_ATTR:                //System.out.println("parsing meta data for " + sym);                String meta = pool.readPool(in.nextChar()).toString().trim();                sym.setInfo(                    new MetaParser(meta, tvars, sym, type).parse());                return;       		case JACO_ATTR:       		    // this attribute is present in all PiCo generated classfiles       		    int mods = in.nextChar();     			mods |= (in.nextChar() << 16);     			boolean algebraicClass = (mods & 0x00100000) != 0;     			boolean caseClass = (mods & 0x00200000) != 0;     			if (caseClass)     			    sym.flags |= Modifiers.CASE | Modifiers.JAVA;				in.skip(attrLen - 4);                return;            default:                in.skip(attrLen);                return;        }    }