if (!isClassMember(sym.owner())) { assert isClassMember(sym.owner().owner()): Debug.show(tree, sym); sym.setOwner(sym.owner().owner()); }
    void liftSymbol(Tree tree) {	switch (tree) {	case ClassDef(_, _, _, _, _, _):	    ((ClassDef) tree).mods |= LIFTED;	    Symbol sym = tree.symbol();            sym.flags |= LIFTED;	    assert sym.isLocal() : sym;	    Symbol constr = sym.primaryConstructor();	    liftSymbol(		sym, get(free.ftvs, constr).toArray(),		ftvsParams(constr), fvsParams(constr));	    break;	case DefDef(_, _, _, _, _, _):	    ((DefDef) tree).mods |= LIFTED;	    Symbol sym = tree.symbol();            sym.flags |= LIFTED | PRIVATE;	    assert sym.isLocal() : sym;	    liftSymbol(		sym, get(free.ftvs, sym).toArray(),		ftvsParams(sym), fvsParams(sym));            break;        case ValDef(_, _, _, _):        case LabelDef(_, _, _):            Symbol sym = tree.symbol();	    assert sym.isLocal() : sym;            break;	}    }