本文整理汇总了Java中com.intellij.psi.PsiClass.getConstructors方法的典型用法代码示例。如果您正苦于以下问题:Java PsiClass.getConstructors方法的具体用法?Java PsiClass.getConstructors怎么用?Java PsiClass.getConstructors使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.intellij.psi.PsiClass
的用法示例。
在下文中一共展示了PsiClass.getConstructors方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: checkClass
import com.intellij.psi.PsiClass; //导入方法依赖的package包/类
@Override
public void checkClass(JavaContext context, PsiClass declaration) {
final JavaEvaluator evaluator = context.getEvaluator();
if (evaluator.isAbstract(declaration)) {
return;
}
if (!evaluator.isPublic(declaration)) {
context.report(ISSUE, declaration, context.getLocation(declaration),
"Non-abstract Scene class must be public");
return;
}
if (declaration.getContainingClass() != null && !evaluator.isStatic(declaration)) {
context.report(ISSUE, declaration, context.getLocation(declaration),
"Inner Scene class must be static");
return;
}
PsiMethod[] constructors = declaration.getConstructors();
// No constructor means it has default constructor
boolean hasNoParametersConstructor = constructors.length == 0;
if (!hasNoParametersConstructor) {
// Find no-parameter constructor
for (PsiMethod constructor : constructors) {
if (evaluator.isPublic(constructor)) {
PsiParameter[] parameters = constructor.getParameterList().getParameters();
if (parameters.length == 0) {
hasNoParametersConstructor = true;
break;
}
}
}
}
if (!hasNoParametersConstructor) {
context.report(ISSUE, declaration, context.getLocation(declaration),
"Scene class must have a no-parameter constructor");
}
}