void (PsiClass psiClass, boolean defaultConstructorOnly, UExpression node) { if (psiClass != null) { RefClassImpl refClass = ObjectUtils.tryCast(refManager.getReference(psiClass.getNavigationElement()), RefClassImpl.class); if (refClass != null) { boolean hasConstructorsMarked = false; refClass.initializeIfNeeded(); if (defaultConstructorOnly) { WritableRefElement refDefaultConstructor = (WritableRefElement)refClass.getDefaultConstructor(); if (refDefaultConstructor != null) { refDefaultConstructor.addInReference(refFrom); refFrom.addOutReference(refDefaultConstructor); hasConstructorsMarked = true; } } else { for (RefMethod cons : refClass.getConstructors()) { if (cons instanceof RefImplicitConstructor) continue; ((WritableRefElement)cons).addInReference(refFrom); refFrom.addOutReference(cons); hasConstructorsMarked = true; } if (refClass.isEnum()) { for (RefField field : refClass.getFields()) { if (field.isEnumConstant()) { ((RefFieldImpl)field).markReferenced(refFrom, false, true, node); refFrom.addOutReference(field); } } } } if (!hasConstructorsMarked) { refFrom.addReference(refClass, psiClass, decl, false, true, node); } } } }