if (!ifaceToClass.containsKey(ifaceSym)) { Symbol classSym;  Name ifaceName = ifaceSym.primaryConstructorClass().fullName(); classSym = global.definitions.getClass(className(ifaceName)); if (ifaceSym.isPrimaryConstructor()) classSym = classSym.constructor();  assert classSym != Symbol.NONE : ifaceSym;  ifaceToClass.put(ifaceSym, classSym); classToInterface.put(classSym, ifaceSym); }
assert ifaceToClass.containsKey(ifaceSym);
    protected Symbol getClassSym(Symbol ifaceSym) {        assert !hasClassSuffix(ifaceSym.name) : ifaceSym.name;        if (!needInterface(ifaceSym))            return ifaceSym;        else {            if (!ifaceToClass.containsKey(ifaceSym)) {                Symbol classSym;                Name ifaceName = ifaceSym.primaryConstructorClass().fullName();                classSym = global.definitions.getClass(className(ifaceName));                if (ifaceSym.isPrimaryConstructor())                    classSym = classSym.constructor();                assert classSym != Symbol.NONE : ifaceSym;                ifaceToClass.put(ifaceSym, classSym);                classToInterface.put(classSym, ifaceSym);            }            return (Symbol)ifaceToClass.get(ifaceSym);        }    }