ClassResolveInfo (@NotNull String className) { ClassResolveInfo cached = myCache.get(className); if (cached != null && cached.isValid()) { return cached; } if (DumbService.isDumb(myProject)) { return ClassResolveInfo.EMPTY; } PsiClass[] classes = findClassesPreferringMyScope(className); if (classes.length == 0) { final int dollarIndex = className.indexOf('$'); if (dollarIndex >= 0) { classes = findClassesPreferringMyScope(className.substring(0, dollarIndex)); } } ClassResolveInfo result = ClassResolveInfo.create(myProject, classes); myCache.put(className, result); return result; }