@@ -11,6 +11,7 @@ import com.intellij.openapi.project.Project
1111import com.intellij.psi.PsiDocumentManager
1212import com.intellij.psi.util.PsiTreeUtil
1313import com.jetbrains.php.lang.psi.elements.Method
14+ import com.jetbrains.php.lang.psi.elements.PhpPropertyHook
1415
1516
1617class EditorListener : EditorMouseListener {
@@ -22,7 +23,7 @@ class EditorListener : EditorMouseListener {
2223 val offset = editor.logicalPositionToOffset(event.logicalPosition)
2324 val element = psiFile?.findElementAt(offset) ? : return
2425
25- val method = PsiTreeUtil .getParentOfType(element, Method ::class .java) ? : return
26+ val method = PsiTreeUtil .getParentOfType(element, Method ::class .java, PhpPropertyHook :: class .java ) ? : return
2627
2728 highlightElement(project, psiDocumentManager, method)
2829 }
@@ -36,10 +37,16 @@ class EditorListener : EditorMouseListener {
3637 val opcodesEditor = editorProvider.getOrCreateEditor(EditorProvider .opcodesEditorId)
3738
3839 val psiFile = psiDocumentManager.getPsiFile(opcodesEditor.document) as ? PHPOpFile ? : return
39-
4040 val blocks = PsiTreeUtil .findChildrenOfType(psiFile, PHPOpBlock ::class .java)
4141
42- val selectedBlock = blocks.firstOrNull { it.blockName.methodName?.name == method.name } ? : return
42+ val selectedBlock = when {
43+ method is PhpPropertyHook -> blocks.firstOrNull {
44+ val propertyHook = it.blockName.propertyHookName ? : return @firstOrNull false
45+ " ${propertyHook.propertyName.name} ::${propertyHook.name} " == method.name
46+ } ? : return
47+
48+ else -> blocks.firstOrNull { it.blockName.methodName?.name == method.name } ? : return
49+ }
4350
4451
4552 opcodesEditor.foldingModel.apply {
0 commit comments