void (GrNamedArgumentsOwner owner, PsiElement element) { if (owner == null) return; final GrNamedArgument[] args = owner.getNamedArguments(); for (GrNamedArgument arg : args) { final GrArgumentLabel label = arg.getLabel(); if (label == null) continue; String labelName = label.getName(); if (labelName == null) { final PsiElement nameElement = label.getNameElement(); if (nameElement instanceof GrExpression) { final PsiType argType = ((GrExpression)nameElement).getType(); if (argType != null && !TypesUtil.isAssignableByMethodCallConversion(TypesUtil.createType(CommonClassNames.JAVA_LANG_STRING, arg), argType, arg)) { registerError(nameElement, GroovyBundle.message("property.name.expected")); } } else if (!"*".equals(nameElement.getText())) { registerError(nameElement, GroovyBundle.message("property.name.expected")); } } else { var propertyReference = label.getConstructorPropertyReference(); final PsiElement resolved = propertyReference == null ? null : propertyReference.resolve(); if (resolved == null) { if (element instanceof PsiMember && !(element instanceof PsiClass)) { element = ((PsiMember)element).getContainingClass(); } if (element instanceof PsiClass) { registerAbsentIdentifierError((PsiClass)element, label); } } else if (resolved instanceof PsiModifierListOwner) { if (((PsiModifierListOwner)resolved).hasModifierProperty(PsiModifier.FINAL)) { registerError(label, GroovyBundle.message("inspection.message.property.0.is.final", labelName), LocalQuickFix.EMPTY_ARRAY, ProblemHighlightType.GENERIC_ERROR_OR_WARNING); } } } } }