in src/main/kotlin/com/pestphp/pest/types/ThisFieldTypeProvider.kt [25:39]
override fun getType(psiElement: PsiElement): PhpType? {
if (DumbService.isDumb(psiElement.project)) return null
val fieldReference = psiElement as? FieldReference ?: return null
if (!fieldReference.classReference.isThisVariableInPest { check(it) }) return null
val fieldName = fieldReference.name ?: return null
return (psiElement.containingFile ?: return null).getAllBeforeThisAssignments()
.filter { (it.variable as? FieldReference)?.name == fieldName }
.mapNotNull { it.value }
.filterIsInstance<PhpTypedElement>()
.firstOrNull()?.type
}