diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/completion/PHPCompletionItem.java b/php/php.editor/src/org/netbeans/modules/php/editor/completion/PHPCompletionItem.java index 651cb6d1398c..c5e458e61cc7 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/completion/PHPCompletionItem.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/completion/PHPCompletionItem.java @@ -1452,11 +1452,14 @@ protected String getNameAndFunctionBodyForTemplate() { if (phpVersion != null && phpVersion.compareTo(PhpVersion.PHP_70) >= 0) { Collection returnTypes = getBaseFunctionElement().getReturnTypes(); + // check whether the method in question is the constructor. If it is, the return type should not be added. + boolean isConstructor = getBaseFunctionElement() instanceof MethodElement + && ((MethodElement) getBaseFunctionElement()).getName().equals(MethodElement.CONSTRUCTOR_NAME); // we can also write a union type in phpdoc e.g. @return int|float // check whether the union type is actual declared return type to avoid adding the union type for phpdoc - if (returnTypes.size() == 1 + if (!isConstructor && (returnTypes.size() == 1 || getBaseFunctionElement().isReturnUnionType() - || getBaseFunctionElement().isReturnIntersectionType()) { + || getBaseFunctionElement().isReturnIntersectionType())) { String returnType = getBaseFunctionElement().asString(PrintAs.ReturnTypes, typeNameResolver, phpVersion); if (StringUtils.hasText(returnType)) { boolean nullableType = CodeUtils.isNullableType(returnType); diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/elements/BaseFunctionElementSupport.java b/php/php.editor/src/org/netbeans/modules/php/editor/elements/BaseFunctionElementSupport.java index b2b6678bdafd..4f802e4cf3e4 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/elements/BaseFunctionElementSupport.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/elements/BaseFunctionElementSupport.java @@ -109,7 +109,7 @@ public final String asString(PrintAs as, BaseFunctionElement element, TypeNameRe Collection returns1 = getReturnTypes(); // we can also write the union type in phpdoc e.g. @return int|float // check whether the union type is the actual declared return type to avoid adding the union type for phpdoc - if (returns1.size() == 1 || isReturnUnionType() || isReturnIntersectionType()) { + if (!element.getName().equals(MethodElement.CONSTRUCTOR_NAME) && returns1.size() == 1 || isReturnUnionType() || isReturnIntersectionType()) { String returnType = asString(PrintAs.ReturnTypes, element, typeNameResolver, phpVersion); if (StringUtils.hasText(returnType)) { boolean isNullableType = CodeUtils.isNullableType(returnType);