本文整理汇总了Java中com.intellij.psi.PsiClassInitializer类的典型用法代码示例。如果您正苦于以下问题:Java PsiClassInitializer类的具体用法?Java PsiClassInitializer怎么用?Java PsiClassInitializer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
PsiClassInitializer类属于com.intellij.psi包,在下文中一共展示了PsiClassInitializer类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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
示例16: visitClassInitializer
import com.intellij.psi.PsiClassInitializer; //导入依赖的package包/类
@Override
public void visitClassInitializer(PsiClassInitializer initializer) {
mVisitor.report("PsiClassInitializer", initializer.getText(), initializer);
super.visitElement(initializer);
}
开发者ID:cch-robo,项目名称:Android_Lint_SRP_Practice_Example,代码行数:6,代码来源:PsiClassStructureDetector.java
示例17: value
import com.intellij.psi.PsiClassInitializer; //导入依赖的package包/类
@Override
public boolean value(PsiElement psiElement) {
return psiElement instanceof PsiClassInitializer && CuppaUtils.isCuppaClass(psiElement);
}
开发者ID:cuppa-framework,项目名称:cuppa-intellij-plugin,代码行数:5,代码来源:CuppaCantBeStaticExtension.java
示例18: isMatch
import com.intellij.psi.PsiClassInitializer; //导入依赖的package包/类
public final boolean isMatch(RangeEntry entry)
{
final boolean result = (entry.getEnd() instanceof PsiMethod ||
entry.getEnd() instanceof PsiClassInitializer ) &&
super.isMatch (entry ) &&
abstractAttr.isMatch (entry.getModifiers()) &&
overriddenAttr.isMatch (entry.getModifiers()) &&
overridingAttr.isMatch (entry.getModifiers()) &&
implementedAttr.isMatch (entry.getModifiers()) &&
implementingAttr.isMatch(entry.getModifiers()) &&
staticInitAttr.isMatch (entry.getModifiers()) &&
nativeAttr.isMatch (entry.getModifiers()) &&
syncAttr.isMatch (entry.getModifiers()) &&
returnTypeAttr.isMatch (entry.getType ()) &&
minParamsAttr.isMatch (entry.getEnd ()) &&
maxParamsAttr.isMatch (entry.getEnd ());
if (result == false)
return false;
boolean typeResult = false;
if (isConstructorMethodType()) {
typeResult |= (entry.getModifiers() & ModifierConstants.CONSTRUCTOR) == ModifierConstants.CONSTRUCTOR;
}
if (isGetterSetterMethodType() &&
entry.getEnd() instanceof PsiMethod)
{
/**
* determine if the method is a getter or setter according to this rule's specific
* definition.
*/
boolean isGetter = MethodUtil.isGetter((PsiMethod) entry.getEnd(),
getterSetterDefinition );
boolean isSetter = MethodUtil.isSetter((PsiMethod) entry.getEnd(),
getterSetterDefinition );
typeResult |= isGetter | isSetter;
}
if (isCanonicalMethodType()) {
typeResult |= (entry.getModifiers() & ModifierConstants.CANONICAL) == ModifierConstants.CANONICAL;
}
if (isOtherMethodType()) {
typeResult |= (entry.getModifiers() & ModifierConstants.OTHER_METHOD) == ModifierConstants.OTHER_METHOD;
}
typeResult ^= invertMethodType;
if (!constructorMethodType &&
!getterSetterMethodType &&
!canonicalMethodType &&
!otherMethodType )
{
typeResult = true; // true if no method type options are selected.
}
return result && typeResult;
}
开发者ID:DaveKriewall,项目名称:Rearranger,代码行数:52,代码来源:MethodAttributes.java
示例19: createPsi
import com.intellij.psi.PsiClassInitializer; //导入依赖的package包/类
@Override
public PsiClassInitializer createPsi(@NotNull final PsiClassInitializerStub stub) {
return getPsiFactory(stub).createClassInitializer(stub);
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:5,代码来源:JavaClassInitializerElementType.java
示例20: visitClassInitializer
import com.intellij.psi.PsiClassInitializer; //导入依赖的package包/类
@Override public void visitClassInitializer(final PsiClassInitializer clazzInit) {
result = true;
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:4,代码来源:JavaDocMatchingStrategy.java
注:本文中的com.intellij.psi.PsiClassInitializer类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论