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


Java PsiClassImpl类代码示例

本文整理汇总了Java中com.intellij.psi.impl.source.PsiClassImpl的典型用法代码示例。如果您正苦于以下问题:Java PsiClassImpl类的具体用法?Java PsiClassImpl怎么用?Java PsiClassImpl使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: findEnclosingName

import com.intellij.psi.impl.source.PsiClassImpl; //导入依赖的package包/类
@Nullable
private static String findEnclosingName(final SourcePosition position) {
  PsiElement element = findElementAt(position);
  while (true) {
    element = PsiTreeUtil.getParentOfType(element, GrTypeDefinition.class, PsiClassImpl.class);
    if (element == null
        || (element instanceof GrTypeDefinition && !((GrTypeDefinition)element).isAnonymous())
        || (element instanceof PsiClassImpl && ((PsiClassImpl)element).getName() != null)
      ) {
      break;
    }
  }

  if (element != null) {
    return getClassNameForJvm((PsiClass)element);
  }

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

示例2: getOuterClassName

import com.intellij.psi.impl.source.PsiClassImpl; //导入依赖的package包/类
@Nullable
private static String getOuterClassName(final SourcePosition position) {
  AccessToken accessToken = ApplicationManager.getApplication().acquireReadActionLock();

  try {
    PsiElement element = findElementAt(position);
    if (element == null) return null;
    PsiElement sourceImage = PsiTreeUtil.getParentOfType(element, GrClosableBlock.class, GrTypeDefinition.class, PsiClassImpl.class);

    if (sourceImage instanceof PsiClass) {
      return getClassNameForJvm((PsiClass)sourceImage);
    }
    return null;
  }
  finally {
    accessToken.finish();
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:19,代码来源:SpringLoadedPositionManager.java

示例3: visitClass

import com.intellij.psi.impl.source.PsiClassImpl; //导入依赖的package包/类
@Override
public void visitClass(PsiClass aClass) {
    if (InspectionPsiUtil.isAbstactClass(aClass)) {
        return;
    }

    if (!(aClass instanceof PsiClassImpl)) {
        return;
    }

    Project project = aClass.getProject();
    PsiClass activityClass = InspectionPsiUtil.createPsiClass(QUALIFIED_NAME_OF_SUPER_CLASS, project);
    if (activityClass == null || !aClass.isInheritor(activityClass,
            true)) {
        return;
    }

    PsiMethod[] methods = aClass.getMethods();
    for (PsiMethod method : methods) {
        if (isTargetMethod(method)) {
            return;
        }
    }

    registerProblem(aClass);
}
 
开发者ID:shiraji,项目名称:create-intent-inspection,代码行数:27,代码来源:CreateIntentInspectionVisitor.java

示例4: visitClass

import com.intellij.psi.impl.source.PsiClassImpl; //导入依赖的package包/类
@Override
public void visitClass(PsiClass aClass) {
    if (InspectionPsiUtil.isAbstactClass(aClass)) {
        return;
    }

    if (!(aClass instanceof PsiClassImpl)) {
        return;
    }

    if (!isFragment(aClass)) {
        return;
    }

    PsiMethod[] methods = aClass.getMethods();

    for (PsiMethod method : methods) {
        if (isNewInstanceMethod(aClass, method)) {
            return;
        }
    }

    registerProblem(aClass);
}
 
开发者ID:shiraji,项目名称:new-instance-inspection,代码行数:25,代码来源:NewInstanceInspectionVisitor.java

示例5: TestIsImplicitUsageForClass

import com.intellij.psi.impl.source.PsiClassImpl; //导入依赖的package包/类
@Test
public void TestIsImplicitUsageForClass() throws Exception {
    ModuleHelper helper = mock(ModuleHelper.class);
    PsiClass c = mock(PsiClassImpl.class);
    PsiMethod method = mock(PsiMethod.class);
    PsiModifierList list = mock(PsiModifierList.class);
    PsiAnnotation annotation = mock(PsiAnnotation.class);
    when(annotation.getQualifiedName()).thenReturn(BeforeStep.class.getCanonicalName());
    when(list.getAnnotations()).thenReturn(new PsiAnnotation[]{annotation});
    when(method.getModifierList()).thenReturn(list);
    when(c.getMethods()).thenReturn(new PsiMethod[]{method});
    when(helper.isGaugeModule(c)).thenReturn(true);

    boolean isUsed = new ImplUsageProvider(null, helper).isImplicitUsage(c);

    assertTrue(isUsed);
}
 
开发者ID:getgauge,项目名称:Intellij-Plugin,代码行数:18,代码来源:ImplUsageProviderTest.java

示例6: getRootClassUnderOperation

import com.intellij.psi.impl.source.PsiClassImpl; //导入依赖的package包/类
@Nullable
private static PsiClassImpl getRootClassUnderOperation(PsiFile psiFile) {
    Optional<PsiClassImpl> javaClass = Stream.of(psiFile.getChildren())
            .filter(psiElement -> psiElement instanceof PsiClassImpl)
            .map(psiElement -> (PsiClassImpl) psiElement).findFirst();
    if (!javaClass.isPresent()) {
        return null;
    }
    PsiClassImpl psiJavaClass = javaClass.get();
    return psiJavaClass;
}
 
开发者ID:Ingwersaft,项目名称:ValueClassGenerator,代码行数:12,代码来源:GenerateValueClassHandler.java

示例7: createPsi

import com.intellij.psi.impl.source.PsiClassImpl; //导入依赖的package包/类
@Override
public PsiClass createPsi(@NotNull final ASTNode node) {
  if (node instanceof EnumConstantInitializerElement) {
    return new PsiEnumConstantInitializerImpl(node);
  }
  else if (node instanceof AnonymousClassElement) {
    return new PsiAnonymousClassImpl(node);
  }

  return new PsiClassImpl(node);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:12,代码来源:JavaClassElementType.java

示例8: isEnumValuesMethodUsed

import com.intellij.psi.impl.source.PsiClassImpl; //导入依赖的package包/类
private static boolean isEnumValuesMethodUsed(@NotNull Project project,
                                              @NotNull PsiFile containingFile,
                                              @NotNull PsiMember member,
                                              @NotNull ProgressIndicator progress,
                                              @NotNull GlobalUsageHelper helper) {
  final PsiClass containingClass = member.getContainingClass();
  if (!(containingClass instanceof PsiClassImpl)) return true;
  final PsiMethod valuesMethod = ((PsiClassImpl)containingClass).getValuesMethod();
  return valuesMethod == null || isMethodReferenced(project, containingFile, valuesMethod, progress, helper);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:11,代码来源:UnusedSymbolUtil.java

示例9: TestIsImplicitUsageForClassWithNoMethods

import com.intellij.psi.impl.source.PsiClassImpl; //导入依赖的package包/类
@Test
public void TestIsImplicitUsageForClassWithNoMethods() throws Exception {
    ModuleHelper helper = mock(ModuleHelper.class);
    PsiClass c = mock(PsiClassImpl.class);
    when(helper.isGaugeModule(c)).thenReturn(true);
    when(c.getMethods()).thenReturn(new PsiMethod[]{});

    boolean isUsed = new ImplUsageProvider(null, helper).isImplicitUsage(c);

    assertFalse(isUsed);
}
 
开发者ID:getgauge,项目名称:Intellij-Plugin,代码行数:12,代码来源:ImplUsageProviderTest.java

示例10: findEnclosingName

import com.intellij.psi.impl.source.PsiClassImpl; //导入依赖的package包/类
@Nullable
private static String findEnclosingName(final SourcePosition position) {
  PsiElement element = findElementAt(position);
  while (true) {
    element = PsiTreeUtil.getParentOfType(element, GrTypeDefinition.class, PsiClassImpl.class);
    if (element == null
        || (element instanceof GrTypeDefinition && !((GrTypeDefinition)element).isAnonymous())
        || (element instanceof PsiClassImpl && ((PsiClassImpl)element).getName() != null)
      ) {
      break;
    }
  }

  return null;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:16,代码来源:SpringLoadedPositionManager.java

示例11: createPsi

import com.intellij.psi.impl.source.PsiClassImpl; //导入依赖的package包/类
@Override
public PsiClass createPsi(@NotNull final ASTNode node)
{
	if(node instanceof EnumConstantInitializerElement)
	{
		return new PsiEnumConstantInitializerImpl(node);
	}
	else if(node instanceof AnonymousClassElement)
	{
		return new PsiAnonymousClassImpl(node);
	}

	return new PsiClassImpl(node);
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:15,代码来源:JavaClassElementType.java

示例12: isEnumValuesMethodUsed

import com.intellij.psi.impl.source.PsiClassImpl; //导入依赖的package包/类
private static boolean isEnumValuesMethodUsed(@NotNull Project project,
		@NotNull PsiFile containingFile,
		@NotNull PsiMember member,
		@NotNull ProgressIndicator progress,
		@NotNull GlobalUsageHelper helper)
{
	final PsiClass containingClass = member.getContainingClass();
	if(!(containingClass instanceof PsiClassImpl))
	{
		return true;
	}

	if(containingClass.isEnum())
	{
		PsiMethod[] methodsByName = containingClass.findMethodsByName(JavaEnumAugmentProvider.VALUES_METHOD_NAME,
				false);

		PsiMethod valuesMethod = null;
		for(PsiMethod psiMethod : methodsByName)
		{
			if(psiMethod.getParameterList().getParametersCount() == 0 && psiMethod.hasModifierProperty
					(PsiModifier.STATIC))
			{
				valuesMethod = psiMethod;
				break;
			}
		}
		return valuesMethod == null || isMethodReferenced(project, containingFile, valuesMethod, progress, helper);
	}
	else
	{
		return true;
	}
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:35,代码来源:UnusedSymbolUtil.java

示例13: doExecute

import com.intellij.psi.impl.source.PsiClassImpl; //导入依赖的package包/类
@Override
protected void doExecute(Editor editor, @Nullable Caret caret, DataContext dataContext) {
    System.out.println("doExecute called: editor = [" + editor + "], caret = [" + caret + "], " +
            "dataContext = [" + dataContext + "]");
    super.doExecute(editor, caret, dataContext);

    Project project = (Project) dataContext.getData(DataKeys.PROJECT.getName());
    if (project == null) return;

    PsiFile rootPsiFile = PsiUtilBase.getPsiFileInEditor(editor, project);
    if (rootPsiFile == null) return;

    PsiClass sourceClassName = Stream.of(rootPsiFile.getChildren())
            .peek(psiElement -> System.out.println(psiElement.getClass()))
            .filter(psiElement -> psiElement instanceof PsiClass)
            .peek(System.out::println)
            .map(psiElement -> (PsiClass) psiElement)
            .collect(Collectors.toList()).get(0);
    SourceClass sourceClass = new SourceClass(sourceClassName.getName());

    List<Variable> extractedVariables = Stream.of(rootPsiFile.getChildren())
            .filter(psiElement -> psiElement instanceof PsiClassImpl)
            .map(PsiElement::getChildren)
            .flatMap(Arrays::stream)
            .filter(psiElement -> psiElement instanceof PsiVariable)
            .map(psiElement -> (PsiVariable) psiElement)
            .map(psiVariable -> new Variable(
                    new Type(psiVariable.getType().getCanonicalText()),
                    new Variable.Name(psiVariable.getName())))
            .peek(System.out::println)
            .collect(Collectors.toList());
    if (extractedVariables.isEmpty()) return;

    PsiClassImpl sourceJavaPsiClass = getRootClassUnderOperation(rootPsiFile);
    if (sourceJavaPsiClass == null) return;

    GeneratedValueWriter writeActionRunner = new GeneratedValueWriter(
            sourceJavaPsiClass, project, extractedVariables, sourceClass, rootPsiFile
    );
    WriteCommandAction.runWriteCommandAction(project, writeActionRunner);
}
 
开发者ID:Ingwersaft,项目名称:ValueClassGenerator,代码行数:42,代码来源:GenerateValueClassHandler.java

示例14: getPsiClass

import com.intellij.psi.impl.source.PsiClassImpl; //导入依赖的package包/类
public PsiClassImpl getPsiClass() {
    return psiClass;
}
 
开发者ID:zhengjunbase,项目名称:codehelper.generator,代码行数:4,代码来源:OnePojoInfo.java

示例15: setPsiClass

import com.intellij.psi.impl.source.PsiClassImpl; //导入依赖的package包/类
public void setPsiClass(PsiClassImpl psiClass) {
    this.psiClass = psiClass;
}
 
开发者ID:zhengjunbase,项目名称:codehelper.generator,代码行数:4,代码来源:OnePojoInfo.java


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