boolean (@NotNull UCallExpression node) { visitReferenceExpression(node); if (node instanceof UObjectLiteralExpression objectLiteralExpression) { visitClass(objectLiteralExpression.getDeclaration()); } if (node.getKind() == UastCallKind.CONSTRUCTOR_CALL) { PsiElement resolvedMethod = returnToPhysical(node.resolve()); RefMethod refConstructor = processNewLikeConstruct(resolvedMethod, node); if (refConstructor == null) { // No explicit constructor referenced. Should use default one. UReferenceExpression reference = node.getClassReference(); if (reference != null) { PsiElement constructorClass = reference.resolve(); if (constructorClass instanceof PsiClass psiClass) { processClassReference(psiClass, true, node); } } } } try { node.getTypeArguments().forEach(this::visitTypeRefs); } catch (UnsupportedOperationException e) { //TODO happens somewhere in kotlin plugin. Please assign those exception for Dmitry Batkovich LOG.error(e); } return false; }