当前位置: 首页>>代码示例>>Java>>正文


Java JavaPsiFacade.findClass方法代码示例

本文整理汇总了Java中com.intellij.psi.JavaPsiFacade.findClass方法的典型用法代码示例。如果您正苦于以下问题:Java JavaPsiFacade.findClass方法的具体用法?Java JavaPsiFacade.findClass怎么用?Java JavaPsiFacade.findClass使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.intellij.psi.JavaPsiFacade的用法示例。


在下文中一共展示了JavaPsiFacade.findClass方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: computeChildren

import com.intellij.psi.JavaPsiFacade; //导入方法依赖的package包/类
@Override
protected MultiMap<PsiFile, T> computeChildren(@Nullable PsiFile psiFile) {
    MultiMap<PsiFile, T> children = new MultiMap<>();
    Project project = getProject();
    if (project != null) {
        JavaPsiFacade javaPsiFacade = JavaPsiFacade.getInstance(project);
        PsiClass serviceAnnotation = javaPsiFacade.findClass(getAnnotationQName(), GlobalSearchScope.allScope(project));
        if (serviceAnnotation != null) {
            AnnotatedElementsSearch.searchPsiClasses(serviceAnnotation, GlobalSearchScope.allScope(project)).forEach(psiClass -> {
                if (psiClass.isInterface() && isSatisfying(psiClass)) {
                    children.putValue(psiClass.getContainingFile(), createChild(psiClass));
                }
                return true;
            });
        }
    }
    return children;
}
 
开发者ID:seedstack,项目名称:intellij-plugin,代码行数:19,代码来源:AnnotatedInterfaceNode.java

示例2: computeChildren

import com.intellij.psi.JavaPsiFacade; //导入方法依赖的package包/类
@Override
protected MultiMap<PsiFile, ClassNode> computeChildren(@Nullable PsiFile psiFile) {
    MultiMap<PsiFile, ClassNode> children = new MultiMap<>();
    children.putValue(aggregateRoot.getContainingFile(), new AggregateRootNode(this, aggregateRoot));
    Project project = getProject();
    if (project != null) {
        JavaPsiFacade javaPsiFacade = JavaPsiFacade.getInstance(project);
        PsiClass entityInterface = javaPsiFacade.findClass(ENTITY_INTERFACE, GlobalSearchScope.allScope(project));
        PsiClass valueObjectInterface = javaPsiFacade.findClass(VO_INTERFACE, GlobalSearchScope.allScope(project));
        if (entityInterface != null && valueObjectInterface != null) {
            for (PsiClass psiClass : psiPackage.getClasses(GlobalSearchScope.allScope(project))) {
                if (psiClass.isInheritor(entityInterface, true) && !psiClass.equals(aggregateRoot)) {
                    children.putValue(psiClass.getContainingFile(), new EntityNode(this, psiClass));
                } else if (psiClass.isInheritor(valueObjectInterface, true)) {
                    children.putValue(psiClass.getContainingFile(), new ValueObjectNode(this, psiClass));
                }
            }
        }
    }
    return children;
}
 
开发者ID:seedstack,项目名称:intellij-plugin,代码行数:22,代码来源:AggregateNode.java

示例3: computeChildren

import com.intellij.psi.JavaPsiFacade; //导入方法依赖的package包/类
@Override
protected MultiMap computeChildren(@Nullable PsiFile psiFile) {
    MultiMap<PsiFile, AggregateNode> children = new MultiMap<>();
    Project project = getProject();
    if (project != null) {
        JavaPsiFacade javaPsiFacade = JavaPsiFacade.getInstance(project);
        PsiClass psiClass = javaPsiFacade.findClass(AGGREGATE_ROOT_INTERFACE, GlobalSearchScope.allScope(project));
        if (psiClass != null) {
            ClassInheritorsSearch.search(psiClass, GlobalSearchScope.allScope(project), true).forEach(candidate -> {
                String qualifiedName = candidate.getQualifiedName();
                if (qualifiedName != null && !qualifiedName.startsWith(BUSINESS_PACKAGE) && !isAbstract(candidate)) {
                    children.putValue(candidate.getContainingFile(), new AggregateNode(this, candidate));
                }
            });
        }

    }
    return children;
}
 
开发者ID:seedstack,项目名称:intellij-plugin,代码行数:20,代码来源:AggregatesNode.java

示例4: computeChildren

import com.intellij.psi.JavaPsiFacade; //导入方法依赖的package包/类
@Override
public MultiMap<PsiFile, ResourceNode> computeChildren(PsiFile psiFile) {
    Project project = getProject();
    MultiMap<PsiFile, ResourceNode> children = new MultiMap<>();
    if (project != null) {
        JavaPsiFacade javaPsiFacade = JavaPsiFacade.getInstance(project);
        PsiClass pathAnnotation = javaPsiFacade.findClass(PATH_ANNOTATION, GlobalSearchScope.allScope(project));
        if (pathAnnotation != null) {
            AnnotatedElementsSearch.searchPsiClasses(pathAnnotation, GlobalSearchScope.allScope(project)).forEach(psiClass -> {
                if (!psiClass.isInterface() && !NavigatorUtil.isAbstract(psiClass)) {
                    children.putValue(psiClass.getContainingFile(), new ResourceNode(ResourcesNode.this, pathAnnotation, psiClass));
                }
                return true;
            });
        }
    }
    return children;
}
 
开发者ID:seedstack,项目名称:intellij-plugin,代码行数:19,代码来源:ResourcesNode.java

示例5: isJarAttached

import com.intellij.psi.JavaPsiFacade; //导入方法依赖的package包/类
public static boolean isJarAttached(@NotNull Location location,
                                    final String fqn,
                                    final PsiDirectory[] directories) {
  final JavaPsiFacade facade = JavaPsiFacade.getInstance(location.getProject());
  boolean testngJarFound = false;
  final Module locationModule = location.getModule();
  if (locationModule != null) {
    testngJarFound = facade.findClass(fqn, GlobalSearchScope.moduleWithDependenciesAndLibrariesScope(locationModule, true)) != null;
  }
  else {
    for (PsiDirectory directory : directories) {
      final Module module = ModuleUtilCore.findModuleForFile(directory.getVirtualFile(), location.getProject());
      if (module != null) {
        if (facade.findClass(fqn, GlobalSearchScope.moduleWithDependenciesAndLibrariesScope(module, true)) != null) {
          testngJarFound = true;
          break;
        }
      }
    }
  }
  return testngJarFound;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:23,代码来源:LocationUtil.java

示例6: resolveImportReference

import com.intellij.psi.JavaPsiFacade; //导入方法依赖的package包/类
@Nullable
public PsiElement resolveImportReference(QualifiedName name, QualifiedNameResolveContext context, boolean withRoots) {
  String fqn = name.toString();
  final JavaPsiFacade psiFacade = JavaPsiFacade.getInstance(context.getProject());
  final PsiPackage aPackage = psiFacade.findPackage(fqn);
  if (aPackage != null) {
    return aPackage;
  }

  Module module = context.getModule();
  if (module != null) {
    final PsiClass aClass = psiFacade.findClass(fqn, module.getModuleWithDependenciesAndLibrariesScope(false));
    if (aClass != null) return aClass;
  }
  return null;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:PyJavaImportResolver.java

示例7: getContentType

import com.intellij.psi.JavaPsiFacade; //导入方法依赖的package包/类
@Override
public int getContentType() {
  if (myDeclarationClass != null) {
    final GlobalSearchScope scope = myDeclarationClass.getResolveScope();
    final JavaPsiFacade facade = JavaPsiFacade.getInstance(myDeclarationClass.getProject());
    final PsiClass view = facade.findClass(SdkConstants.CLASS_VIEW, scope);

    if (view != null && myDeclarationClass.isInheritor(view, true)) {
      final PsiClass viewGroup = facade.findClass(SdkConstants.CLASS_VIEWGROUP, scope);

      if (viewGroup != null) {
        return myDeclarationClass.isInheritor(viewGroup, true) ? CONTENT_TYPE_MIXED : CONTENT_TYPE_EMPTY;
      }
    }
  }
  return myParentDescriptor.getContentType();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:AndroidXmlTagDescriptor.java

示例8: getActivityClass

import com.intellij.psi.JavaPsiFacade; //导入方法依赖的package包/类
@Nullable
private static PsiClass getActivityClass(Location location, ConfigurationContext context) {
  final Module module = context.getModule();
  if (module == null) return null;
  location = JavaExecutionUtil.stepIntoSingleClass(location);
  if (location == null) {
    return null;
  }
  PsiElement element = location.getPsiElement();
  JavaPsiFacade facade = JavaPsiFacade.getInstance(element.getProject());
  GlobalSearchScope scope = module.getModuleWithDependenciesAndLibrariesScope(true);
  PsiClass activityClass = facade.findClass(AndroidUtils.ACTIVITY_BASE_CLASS_NAME, scope);
  if (activityClass == null) return null;

  PsiClass elementClass = PsiTreeUtil.getParentOfType(element, PsiClass.class, false);
  while (elementClass != null) {
    if (elementClass.isInheritor(activityClass, true)) {
      return elementClass;
    }
    elementClass = PsiTreeUtil.getParentOfType(elementClass, PsiClass.class);
  }
  return null;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:24,代码来源:AndroidConfigurationProducer.java

示例9: showDialog

import com.intellij.psi.JavaPsiFacade; //导入方法依赖的package包/类
@Override
protected String showDialog() {
  Project project = getProject();
  final JavaPsiFacade facade = JavaPsiFacade.getInstance(project);
  Module module = myModuleSelector.getModule();
  if (module == null) {
    Messages.showErrorDialog(project, ExecutionBundle.message("module.not.specified.error.text"), CommonBundle.getErrorTitle());
    return null;
  }
  GlobalSearchScope scope =
    myIncludeLibraryClasses ? module.getModuleWithDependenciesAndLibrariesScope(true) : module.getModuleWithDependenciesScope();
  PsiClass initialSelection = facade.findClass(getText(), scope);
  TreeClassChooser chooser = createTreeClassChooser(project, scope, initialSelection, new ClassFilter() {
    @Override
    public boolean isAccepted(PsiClass aClass) {
      if (aClass.isInterface()) return false;
      final PsiModifierList modifierList = aClass.getModifierList();
      return modifierList == null || !modifierList.hasModifierProperty(PsiModifier.ABSTRACT);
    }
  });
  if (chooser == null) return null;
  chooser.showDialog();
  PsiClass selClass = chooser.getSelected();
  return selClass != null ? selClass.getQualifiedName() : null;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:26,代码来源:AndroidClassBrowserBase.java

示例10: testFindingInternalResourceClasses

import com.intellij.psi.JavaPsiFacade; //导入方法依赖的package包/类
public void testFindingInternalResourceClasses() throws Exception {
  configureMockSdk();
  final JavaPsiFacade facade = JavaPsiFacade.getInstance(getProject());
  PsiClass activity = facade.findClass("android.app.Activity", GlobalSearchScope.allScope(getProject()));
  assertNotNull(activity);

  GlobalSearchScope scope = activity.getNavigationElement().getResolveScope();
  assertInstanceOf(scope, AndroidSdkResolveScopeProvider.MyJdkScope.class);

  assertNotNull(facade.findClass(AndroidPsiElementFinder.INTERNAL_R_CLASS_QNAME, scope));
  assertNotNull(facade.findClass(AndroidPsiElementFinder.INTERNAL_R_CLASS_QNAME + ".string", scope));

  PsiClass[] classes = facade.findClasses(AndroidPsiElementFinder.INTERNAL_R_CLASS_QNAME, scope);
  assertEquals(1, classes.length);
  classes = facade.findClasses(AndroidPsiElementFinder.INTERNAL_R_CLASS_QNAME + ".string", scope);
  assertEquals(1, classes.length);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:AndroidSdkSourcesBrowsingTest.java

示例11: supportSerializationProtocol

import com.intellij.psi.JavaPsiFacade; //导入方法依赖的package包/类
public static boolean supportSerializationProtocol(TestNGConfiguration config) {
  final Project project = config.getProject();
  final GlobalSearchScope scopeToDetermineTestngIn;
  if (config.getPersistantData().getScope() == TestSearchScope.WHOLE_PROJECT) {
    scopeToDetermineTestngIn = GlobalSearchScope.allScope(project);
  }
  else {
    final Module module = config.getConfigurationModule().getModule();
    scopeToDetermineTestngIn = module != null ? GlobalSearchScope.moduleWithDependenciesAndLibrariesScope(module) 
                                              : GlobalSearchScope.allScope(project);
  }

  final JavaPsiFacade facade = JavaPsiFacade.getInstance(project);
  final PsiClass aClass = facade.findClass(SerializedMessageSender.class.getName(), scopeToDetermineTestngIn);
  if (aClass == null) return false;

  final PsiClass[] starters = facade.findClasses(RemoteTestNG.class.getName(), scopeToDetermineTestngIn);
  for (PsiClass starter : starters) {
    if (starter.findFieldByName("m_serPort", false) == null) {
      LOG.info("Multiple TestNG versions found");
      return false;
    }
  }
  return Registry.is("testng.serialized.protocol.enabled") && !TestNGVersionChecker.isVersionIncompatible(project, scopeToDetermineTestngIn);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:26,代码来源:TestNGRunnableState.java

示例12: make

import com.intellij.psi.JavaPsiFacade; //导入方法依赖的package包/类
public SrcClass make( String fqn, ManModule module )
{
   JavaPsiFacade javaPsiFacade = JavaPsiFacade.getInstance( module.getIjProject() );
   PsiClass psiClass = javaPsiFacade.findClass( fqn, GlobalSearchScope.moduleScope( module.getIjModule() ) );
   if( psiClass == null )
   {
     psiClass = javaPsiFacade.findClass( fqn, GlobalSearchScope.allScope( module.getIjProject() ) );
   }
  return makeSrcClass( fqn, psiClass, module );
}
 
开发者ID:manifold-systems,项目名称:manifold-ij,代码行数:11,代码来源:StubBuilder.java

示例13: isFqnsOk

import com.intellij.psi.JavaPsiFacade; //导入方法依赖的package包/类
private static boolean isFqnsOk(Project project, List<String> fqns) {
  if (fqns.isEmpty()) return false;
  final JavaPsiFacade facade = JavaPsiFacade.getInstance(project);
  final GlobalSearchScope scope = GlobalSearchScope.allScope(project);
  for (String fqn : fqns) {
    if (facade.findClass(fqn, scope) != null) return false;
  }
  return true;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:10,代码来源:FindJarFix.java

示例14: createAction

import com.intellij.psi.JavaPsiFacade; //导入方法依赖的package包/类
PerformAction createAction(final String className, final IntroduceVariableBase testMe) {
  return (vroot, rootAfter) -> {
    final JavaPsiFacade psiManager = getJavaFacade();
    final PsiClass aClass = psiManager.findClass(className, GlobalSearchScope.allScope(myProject));
    assertTrue(className + " class not found", aClass != null);
    final PsiFile containingFile = aClass.getContainingFile();
    final VirtualFile virtualFile = containingFile.getVirtualFile();
    assertTrue(virtualFile != null);
    final Editor editor = createEditor(virtualFile);
    setupCursorAndSelection(editor);
    testMe.invoke(myProject, editor, containingFile, null);
    FileDocumentManager.getInstance().saveAllDocuments();
  };
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:15,代码来源:IntroduceVariableMultifileTest.java

示例15: getConverter

import com.intellij.psi.JavaPsiFacade; //导入方法依赖的package包/类
@Override
public Converter getConverter(@NotNull GenericDomValue domElement) {
  Project project = domElement.getManager().getProject();

  JavaPsiFacade psiFacade = JavaPsiFacade.getInstance(project);
  PsiClass psiClass = psiFacade.findClass(myType, GlobalSearchScope.allScope(project));
  if (psiClass != null) {
    GenericDomValueConvertersRegistry convertersRegistry = MavenDomConvertersRegistry.getInstance().getConvertersRegistry();
    return convertersRegistry.getConverter(domElement, psiFacade.getElementFactory().createType(psiClass));
  }

  return null;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:14,代码来源:MavenPluginCustomParameterValueConverter.java


注:本文中的com.intellij.psi.JavaPsiFacade.findClass方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。