/** * 通过类名找一个类 * * @return */ // FIXME: 2018/6/22 public PsiClass[] findClassByName() { return PsiShortNamesCache.getInstance(null).getClassesByName(null, null); }
@NotNull @Override public ResolveResult[] multiResolve(final boolean incompleteCode) { Project project = myElement.getProject(); final String enumLiteralJavaModelName = myElement.getText().replaceAll("\"", "").toUpperCase(); final PsiShortNamesCache psiShortNamesCache = PsiShortNamesCache.getInstance(project); final PsiField[] javaEnumLiteralFields = psiShortNamesCache.getFieldsByName( enumLiteralJavaModelName, GlobalSearchScope.allScope(project) ); final Set<PsiField> enumFields = stream(javaEnumLiteralFields) .filter(literal -> literal.getParent() != null) .filter(literal -> literal.getParent() instanceof ClsClassImpl) .filter(literal -> ((ClsClassImpl) literal.getParent()).isEnum()) .collect(Collectors.toSet()); return PsiElementResolveResult.createResults(enumFields); }
@NotNull @Override public String[] getNames(final Project project, final boolean includeNonProjectItems) { if (includeNonProjectItems || !CommonIdeaService.getInstance().isHybrisProject(project)) { return ArrayUtil.EMPTY_STRING_ARRAY; } final GlobalSearchScope scope = new OotbClassesSearchScope(project); final List<String> result = new ArrayList<>(); final Processor<String> processor = Processors.cancelableCollectProcessor(result); PsiShortNamesCache.getInstance(project).processAllClassNames( processor, scope, IdFilter.getProjectIdFilter(project, true) ); return ArrayUtil.toStringArray(result); }
@Nullable private static PsiClass findClassWithQuatifiedName(@NotNull Project project, String referenceName, String quatifiedName) { PsiClass[] classesByName = PsiShortNamesCache.getInstance(project).getClassesByName(referenceName, GlobalSearchScope.allScope(project)); PsiClass findedClass = null; for (PsiClass psiClass : classesByName) { if (Objects.equals(psiClass.getQualifiedName(), quatifiedName)) { findedClass = psiClass; break; } } return findedClass; } }
public static boolean checkGuavaExist(Project project, @NotNull PsiElement element) { Module moduleForPsiElement = ModuleUtilCore.findModuleForPsiElement(element); if(moduleForPsiElement==null){ return false; } PsiClass[] listss = PsiShortNamesCache.getInstance(project).getClassesByName("Lists", GlobalSearchScope.moduleRuntimeScope(moduleForPsiElement, false)); for (PsiClass psiClass : listss) { if (psiClass.getQualifiedName().equals("com.google.common.collect.Lists")) ; return true; } return false; }
@NotNull @Override public ResolveResult[] multiResolve(final boolean incompleteCode) { final Project project = myElement.getProject(); final String modelName = ((XmlAttributeValue) myElement).getValue(); final String javaModelName = modelName + JAVA_MODEL_SUFFIX; final String jaloModelName = modelName; final PsiClass[] javaModelClasses = PsiShortNamesCache.getInstance(project).getClassesByName( javaModelName, GlobalSearchScope.allScope(project) ); final PsiClass[] jaloModelClasses = PsiShortNamesCache.getInstance(project).getClassesByName( jaloModelName, GlobalSearchScope.projectScope(project) ); final PsiClass[] psiClasses = ArrayUtil.mergeArrays(javaModelClasses, jaloModelClasses); return PsiElementResolveResult.createResults(psiClasses); }