本文整理汇总了Java中com.intellij.psi.util.PropertyUtil.findPropertyGetterWithType方法的典型用法代码示例。如果您正苦于以下问题:Java PropertyUtil.findPropertyGetterWithType方法的具体用法?Java PropertyUtil.findPropertyGetterWithType怎么用?Java PropertyUtil.findPropertyGetterWithType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.intellij.psi.util.PropertyUtil
的用法示例。
在下文中一共展示了PropertyUtil.findPropertyGetterWithType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getSecondaryElements
import com.intellij.psi.util.PropertyUtil; //导入方法依赖的package包/类
@Override
@NotNull
public PsiElement[] getSecondaryElements() {
PsiElement element = getPsiElement();
if (ApplicationManager.getApplication().isUnitTestMode()) return PsiElement.EMPTY_ARRAY;
if (element instanceof PsiField) {
final PsiField field = (PsiField)element;
PsiClass containingClass = field.getContainingClass();
if (containingClass != null) {
String fieldName = field.getName();
final String propertyName = JavaCodeStyleManager.getInstance(getProject()).variableNameToPropertyName(fieldName, VariableKind.FIELD);
Set<PsiMethod> accessors = new THashSet<PsiMethod>();
boolean isStatic = field.hasModifierProperty(PsiModifier.STATIC);
PsiMethod getter = PropertyUtil.findPropertyGetterWithType(propertyName, isStatic, field.getType(),
ContainerUtil.iterate(containingClass.getMethods()));
if (getter != null) accessors.add(getter);
PsiMethod setter = PropertyUtil.findPropertySetterWithType(propertyName, isStatic, field.getType(),
ContainerUtil.iterate(containingClass.getMethods()));
if (setter != null) accessors.add(setter);
accessors.addAll(PropertyUtil.getAccessors(containingClass, fieldName));
if (!accessors.isEmpty()) {
boolean containsPhysical = ContainerUtil.find(accessors, new Condition<PsiMethod>() {
@Override
public boolean value(PsiMethod psiMethod) {
return psiMethod.isPhysical();
}
}) != null;
final boolean doSearch = !containsPhysical ||
Messages.showOkCancelDialog(FindBundle.message("find.field.accessors.prompt", fieldName),
FindBundle.message("find.field.accessors.title"),
CommonBundle.getYesButtonText(),
CommonBundle.getNoButtonText(), Messages.getQuestionIcon()) ==
Messages.OK;
if (doSearch) {
final Set<PsiElement> elements = new THashSet<PsiElement>();
for (PsiMethod accessor : accessors) {
ContainerUtil.addAll(elements, SuperMethodWarningUtil.checkSuperMethods(accessor, ACTION_STRING));
}
return PsiUtilCore.toPsiElementArray(elements);
}
}
}
}
return super.getSecondaryElements();
}
示例2: getSecondaryElements
import com.intellij.psi.util.PropertyUtil; //导入方法依赖的package包/类
@Override
@NotNull
public PsiElement[] getSecondaryElements()
{
PsiElement element = getPsiElement();
if(ApplicationManager.getApplication().isUnitTestMode())
{
return PsiElement.EMPTY_ARRAY;
}
if(element instanceof PsiField)
{
final PsiField field = (PsiField) element;
PsiClass containingClass = field.getContainingClass();
if(containingClass != null)
{
String fieldName = field.getName();
final String propertyName = JavaCodeStyleManager.getInstance(getProject()).variableNameToPropertyName
(fieldName, VariableKind.FIELD);
Set<PsiMethod> accessors = new THashSet<PsiMethod>();
boolean isStatic = field.hasModifierProperty(PsiModifier.STATIC);
PsiMethod getter = PropertyUtil.findPropertyGetterWithType(propertyName, isStatic, field.getType(),
ContainerUtil.iterate(containingClass.getMethods()));
if(getter != null)
{
accessors.add(getter);
}
PsiMethod setter = PropertyUtil.findPropertySetterWithType(propertyName, isStatic, field.getType(),
ContainerUtil.iterate(containingClass.getMethods()));
if(setter != null)
{
accessors.add(setter);
}
accessors.addAll(PropertyUtil.getAccessors(containingClass, fieldName));
if(!accessors.isEmpty())
{
boolean containsPhysical = ContainerUtil.find(accessors, new Condition<PsiMethod>()
{
@Override
public boolean value(PsiMethod psiMethod)
{
return psiMethod.isPhysical();
}
}) != null;
final boolean doSearch = !containsPhysical || Messages.showOkCancelDialog(FindBundle.message("find" +
".field.accessors.prompt", fieldName), FindBundle.message("find.field.accessors.title"),
CommonBundle.getYesButtonText(), CommonBundle.getNoButtonText(),
Messages.getQuestionIcon()) == Messages.OK;
if(doSearch)
{
final Set<PsiElement> elements = new THashSet<PsiElement>();
for(PsiMethod accessor : accessors)
{
ContainerUtil.addAll(elements, SuperMethodWarningUtil.checkSuperMethods(accessor,
ACTION_STRING));
}
return PsiUtilCore.toPsiElementArray(elements);
}
}
}
}
return super.getSecondaryElements();
}