EKey (@NotNull PsiMember psiMethod, @NotNull Direction direction) { PsiClass psiClass = psiMethod.getContainingClass(); if (psiClass != null) { String className = getJvmClassName(psiClass); String name = psiMethod.getName(); String sig; if (psiMethod instanceof PsiMethod) { sig = methodSignature((PsiMethod)psiMethod, psiClass); if (((PsiMethod)psiMethod).isConstructor()) { name = "<init>"; } } else if (psiMethod instanceof PsiField) { sig = descriptor(((PsiField)psiMethod).getType()); } else return null; if (className != null && sig != null && name != null) { return new EKey(new Member(className, name, sig), direction, true, false); } } return null; }