override fun getType()

in src/main/kotlin/com/pestphp/pest/types/HigherOrderExtendTypeProvider.kt [18:32]


    override fun getType(psiElement: PsiElement): PhpType? {
        if (DumbService.isDumb(psiElement.project)) return null

        val reference = psiElement as? MemberReference ?: return null

        if (reference !is FieldReference && reference !is MethodReference) return null

        val expectCall = getExpectCall(reference) ?: return null

        if (expectCall.parameters.isEmpty()) return null

        val firstParameterType = (expectCall.parameters[0] as? PhpTypedElement)?.type ?: return null

        return PhpType().add(firstParameterType).add(expectationType)
    }