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


Java PsiClassInitializer类代码示例

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


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

示例1: collectNodes

import com.intellij.psi.PsiClassInitializer; //导入依赖的package包/类
public void collectNodes(PsiClass psiClass) {
    for (PsiMethod psiMethod : psiClass.getMethods()) {
        elementsAddedByUser.put(getFqn(psiMethod), spManager.createSmartPsiElementPointer((PsiElement) psiMethod));
    }

    for (PsiField psiField : psiClass.getFields()) {
        elementsAddedByUser.put(getFqn(psiField), spManager.createSmartPsiElementPointer((PsiElement) psiField));
    }

    for (PsiClassInitializer psiClassInitializer : psiClass.getInitializers()) {
        elementsAddedByUser.put(getFqn(psiClassInitializer), spManager.createSmartPsiElementPointer((PsiElement) psiClassInitializer));
    }

    for (PsiClass innerClass : psiClass.getInnerClasses()) {
        elementsAddedByUser.put(getFqn(innerClass), spManager.createSmartPsiElementPointer((PsiElement) innerClass));
    }
}
 
开发者ID:Stefku,项目名称:intellij-reference-diagram,代码行数:18,代码来源:ReferenceDiagramDataModel.java

示例2: dispatch

import com.intellij.psi.PsiClassInitializer; //导入依赖的package包/类
public T dispatch(PsiElement psiElement) {
    if (psiElement instanceof PsiClass) {
        if (((PsiClass) psiElement).getContainingClass() == null) {
            return processClass((PsiClass) psiElement);
        } else {
            if (((PsiClass) psiElement).isEnum()) {
                return processEnum((PsiClass) psiElement);
            } else {
                if (((PsiClass) psiElement).hasModifierProperty("static")) {
                    return processStaticInnerClass((PsiClass) psiElement);
                } else {
                    return processInnerClass((PsiClass) psiElement);
                }
            }
        }
    } else if (psiElement instanceof PsiMethod) {
        return processMethod((PsiMethod) psiElement);
    } else if (psiElement instanceof PsiField) {
        return processField((PsiField) psiElement);
    } else if (psiElement instanceof PsiClassInitializer) {
        return processClassInitializer((PsiClassInitializer) psiElement);
    }
    throw new IllegalArgumentException("Type of PsiElement not supported: " + psiElement);
}
 
开发者ID:Stefku,项目名称:intellij-reference-diagram,代码行数:25,代码来源:PsiElementDispatcher.java

示例3: registerNestedClosures

import com.intellij.psi.PsiClassInitializer; //导入依赖的package包/类
private void registerNestedClosures(@NotNull DfaInstructionState instructionState, @NotNull PsiClass nestedClass)
{
	DfaMemoryState state = instructionState.getMemoryState();
	for(PsiMethod method : nestedClass.getMethods())
	{
		PsiCodeBlock body = method.getBody();
		if(body != null)
		{
			createClosureState(body, state);
		}
	}
	for(PsiClassInitializer initializer : nestedClass.getInitializers())
	{
		createClosureState(initializer.getBody(), state);
	}
	for(PsiField field : nestedClass.getFields())
	{
		createClosureState(field, state);
	}
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:21,代码来源:DataFlowRunner.java

示例4: isInitializedInInitializer

import com.intellij.psi.PsiClassInitializer; //导入依赖的package包/类
private boolean isInitializedInInitializer(@NotNull PsiField field, UninitializedReadCollector uninitializedReadsCollector) {
  final PsiClass aClass = field.getContainingClass();
  if (aClass == null) {
    return false;
  }
  final PsiClassInitializer[] initializers = aClass.getInitializers();
  for (final PsiClassInitializer initializer : initializers) {
    if (!initializer.hasModifierProperty(PsiModifier.STATIC)) {
      final PsiCodeBlock body = initializer.getBody();
      if (uninitializedReadsCollector.blockAssignsVariable(body, field)) {
        return true;
      }
    }
  }
  return false;
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:17,代码来源:InstanceVariableUninitializedUseInspection.java

示例5: getDeclarationRange

import com.intellij.psi.PsiClassInitializer; //导入依赖的package包/类
@Override
@NotNull
public TextRange getDeclarationRange(@NotNull final PsiElement container) {
  PsiClassInitializer initializer = (PsiClassInitializer)container;
  int startOffset = initializer.getModifierList().getTextRange().getStartOffset();
  int endOffset = initializer.getBody().getTextRange().getStartOffset();
  return new TextRange(startOffset, endOffset);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:9,代码来源:ClassInitializerDeclarationRangeHandler.java

示例6: calculateResult

import com.intellij.psi.PsiClassInitializer; //导入依赖的package包/类
@Override
public Result calculateResult(@NotNull Expression[] params, final ExpressionContext context) {
  PsiElement place = context.getPsiElementAtStartOffset();
  while(place != null){
    if (place instanceof PsiMethod){
      return new TextResult(((PsiMethod)place).getName());
    } else if (place instanceof PsiClassInitializer) {
      return ((PsiClassInitializer) place).hasModifierProperty(PsiModifier.STATIC) ?
             new TextResult(LangBundle.message("java.terms.static.initializer")) :
             new TextResult(LangBundle.message("java.terms.instance.initializer"));
    }
    place = place.getParent();
  }
  return null;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:16,代码来源:MethodNameMacro.java

示例7: visitClassInitializer

import com.intellij.psi.PsiClassInitializer; //导入依赖的package包/类
@Override
public void visitClassInitializer(PsiClassInitializer initializer) {
  if (initializer.hasModifierProperty(PsiModifier.STATIC)) {
    return;
  }
  final PsiClass aClass = initializer.getContainingClass();
  if (!TestUtils.isJUnitTestClass(aClass) && !TestUtils.isJUnit4TestClass(aClass, true)) {
    return;
  }
  if (MethodUtils.isTrivial(initializer)) {
    return;
  }
  registerClassInitializerError(initializer, Boolean.TRUE);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:15,代码来源:TestCaseWithConstructorInspection.java

示例8: visitClassInitializer

import com.intellij.psi.PsiClassInitializer; //导入依赖的package包/类
@Override
public void visitClassInitializer(
  @NotNull PsiClassInitializer initializer) {
  super.visitClassInitializer(initializer);
  final PsiCodeBlock body = initializer.getBody();
  if (!codeBlockIsEmpty(body)) {
    return;
  }
  registerClassInitializerError(initializer);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:11,代码来源:EmptyInitializerInspection.java

示例9: calculateInitializerComplexity

import com.intellij.psi.PsiClassInitializer; //导入依赖的package包/类
private int calculateInitializerComplexity(PsiClass aClass) {
  final CyclomaticComplexityVisitor visitor = new CyclomaticComplexityVisitor();
  int complexity = 0;
  final PsiClassInitializer[] initializers = aClass.getInitializers();
  for (final PsiClassInitializer initializer : initializers) {
    visitor.reset();
    initializer.accept(visitor);
    complexity += visitor.getComplexity();
  }
  return complexity;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:12,代码来源:ClassComplexityInspection.java

示例10: getRootPsiElementWithStack

import com.intellij.psi.PsiClassInitializer; //导入依赖的package包/类
private static PsiElement getRootPsiElementWithStack(PsiClass psiClass, PsiElement psiElement, List<PsiElement> stack) {
    stack.add(psiElement);
    PsiElement parent = psiElement.getParent();
    if (parent == null) {
        return null;
    }
    try {
        if (parent instanceof PsiMethod) {
            if (PsiUtils.classHasMethod(psiClass, (PsiMethod) parent)) {
                return parent;
            }
        } else if (parent instanceof PsiClassInitializer) {
            if (PsiUtils.classHasClassInitializer(psiClass, (PsiClassInitializer) parent)) {
                return parent;
            }
        } else if (parent instanceof PsiField) {
            if (PsiUtils.classHasField(psiClass, (PsiField) parent)) {
                return parent;
            }
        } else if (parent instanceof PsiClass) {
            if (psiClass.equals(((PsiClass) parent).getContainingClass())) {
                return parent;
            }
        } else if (parent instanceof PsiAnonymousClass) {
            if (((PsiAnonymousClass) parent).getContainingClass().equals(psiClass)) {
                return parent;
            }
        }
    } catch (Exception ex) {
        stack.add(parent);
        String preparedStack = prepareStack(stack);
        throw new IllegalStateException("Cannot get root element. Stack: " + preparedStack);
    }

    return getRootPsiElementWithStack(psiClass, parent, stack);
}
 
开发者ID:Stefku,项目名称:intellij-reference-diagram,代码行数:37,代码来源:PsiUtils.java

示例11: classHasClassInitializer

import com.intellij.psi.PsiClassInitializer; //导入依赖的package包/类
private static boolean classHasClassInitializer(PsiClass psiClass, PsiClassInitializer other) {
    for (PsiClassInitializer classInitializer : psiClass.getInitializers()) {
        if (classInitializer.equals(other)) {
            return true;
        }
    }
    return false;
}
 
开发者ID:Stefku,项目名称:intellij-reference-diagram,代码行数:9,代码来源:PsiUtils.java

示例12: getName

import com.intellij.psi.PsiClassInitializer; //导入依赖的package包/类
public static String getName(PsiClassInitializer psiClassInitializer) {
    if (psiClassInitializer.getModifierList().hasModifierProperty("static")) {
        return "[static init]";
    } else {
        return "[init]";
    }
}
 
开发者ID:Stefku,项目名称:intellij-reference-diagram,代码行数:8,代码来源:PsiUtils.java

示例13: visitClassInitializer

import com.intellij.psi.PsiClassInitializer; //导入依赖的package包/类
@Override
public void visitClassInitializer(PsiClassInitializer initializer) {
  super.visitClassInitializer(initializer);
  if (initializer.hasModifierProperty(PsiModifier.STATIC)) {
    return;
  }
  registerClassInitializerError(initializer);
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:9,代码来源:ClassInitializerInspection.java

示例14: calculateInitializerComplexity

import com.intellij.psi.PsiClassInitializer; //导入依赖的package包/类
private int calculateInitializerComplexity(PsiClass aClass) {
  final ComplexityVisitor visitor = new ComplexityVisitor();
  int complexity = 0;
  final PsiClassInitializer[] initializers = aClass.getInitializers();
  for (final PsiClassInitializer initializer : initializers) {
    visitor.reset();
    initializer.accept(visitor);
    complexity += visitor.getComplexity();
  }
  return complexity;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:12,代码来源:ClassComplexityInspection.java

示例15: visitClassInitializer

import com.intellij.psi.PsiClassInitializer; //导入依赖的package包/类
@Override
public void visitClassInitializer(PsiClassInitializer initializer)
{
	if(initializer.hasModifierProperty(PsiModifier.STATIC))
	{
		return;
	}

	final PsiClass containingClass = ClassUtils.getContainingClass(initializer);
	if(containingClass == null)
	{
		return;
	}
	for(Condition<PsiElement> addin : JavaExtensionPoints.CANT_BE_STATIC_EP_NAME.getExtensions())
	{
		if(addin.value(initializer))
		{
			return;
		}
	}
	final PsiElement scope = containingClass.getScope();
	if(!(scope instanceof PsiJavaFile) && !containingClass.hasModifierProperty(PsiModifier.STATIC))
	{
		return;
	}

	final MethodReferenceVisitor visitor = new MethodReferenceVisitor(initializer);
	initializer.accept(visitor);
	if(!visitor.areReferencesStaticallyAccessible())
	{
		return;
	}

	registerClassInitializerError(initializer);
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:36,代码来源:ClassInitializerMayBeStaticInspection.java


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