From 274b3f4313225f127d391c95df1af02b8a8fe5ff Mon Sep 17 00:00:00 2001 From: Daniil Ovchinnikov Date: Fri, 26 Aug 2016 18:40:50 +0300 Subject: [PATCH] [groovy] follow up @Synchronized IDEA-CR-13312 --- .../plugins/groovy/transformations/impl/synch/impl.kt | 2 +- .../groovy/transformations/impl/synch/references.kt | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/impl/synch/impl.kt b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/impl/synch/impl.kt index bad4b8ae5dfb..0ec019906ca0 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/impl/synch/impl.kt +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/impl/synch/impl.kt @@ -45,7 +45,7 @@ fun getImplicitLockUsages(field: GrField): Sequence { } private fun getImplicitLockUsages(clazz: PsiClass, static: Boolean) = clazz.methods.asSequence().filter { method -> - !static.xor(method.isStatic()) + static == method.isStatic() }.mapNotNull { method -> AnnotationUtil.findAnnotation(method, ANNO_FQN) }.filter { anno -> diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/impl/synch/references.kt b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/impl/synch/references.kt index 5e1c8fdd3327..ac6af35a1315 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/impl/synch/references.kt +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/impl/synch/references.kt @@ -16,10 +16,10 @@ package org.jetbrains.plugins.groovy.transformations.impl.synch import com.intellij.psi.* +import com.intellij.psi.util.PsiTreeUtil import com.intellij.util.ProcessingContext import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.literals.GrLiteral import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrTypeDefinition -import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMethod class SynchronizedReferenceContributor : PsiReferenceContributor() { @@ -38,11 +38,8 @@ class SynchronizedReferenceProvider : PsiReferenceProvider() { class FieldReference(literal: GrLiteral) : PsiReferenceBase(literal) { - private val GrLiteral.annotatedMethod: GrMethod? - get() = parent?.parent?.parent?.parent?.parent as? GrMethod - private val GrLiteral.containingClass: GrTypeDefinition? - get() = annotatedMethod?.containingClass as? GrTypeDefinition + get() = PsiTreeUtil.getParentOfType(this, GrTypeDefinition::class.java) override fun getVariants(): Array = element.containingClass?.codeFields ?: emptyArray()