From 36e8ea1fc4f0d5b91e7708f06aff4a703002d2ad Mon Sep 17 00:00:00 2001 From: Daniil Ovchinnikov Date: Mon, 7 Nov 2016 16:56:42 +0300 Subject: [PATCH] [groovy] extract findDeclaredDetachedValue() to utility file --- .../groovy/lang/psi/impl/grAnnotationUtil.kt | 30 +++++++++++++++++++ .../AutoCloneTransformationSupport.kt | 16 ++++------ 2 files changed, 35 insertions(+), 11 deletions(-) create mode 100644 plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/grAnnotationUtil.kt diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/grAnnotationUtil.kt b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/grAnnotationUtil.kt new file mode 100644 index 000000000000..61bb815acef8 --- /dev/null +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/grAnnotationUtil.kt @@ -0,0 +1,30 @@ +/* + * Copyright 2000-2016 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jetbrains.plugins.groovy.lang.psi.impl + +import com.intellij.codeInsight.AnnotationUtil +import com.intellij.psi.PsiAnnotation +import com.intellij.psi.PsiAnnotationMemberValue +import com.intellij.psi.PsiNameValuePair + +fun PsiAnnotation.findDeclaredDetachedValue(attributeName: String?): PsiAnnotationMemberValue? { + val styleAttribute = AnnotationUtil.findDeclaredAttribute(this, attributeName) + return when (styleAttribute) { + null -> null + is PsiNameValuePair.Detachable -> styleAttribute.detachedValue + else -> styleAttribute.value + } +} diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/impl/autoClone/AutoCloneTransformationSupport.kt b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/impl/autoClone/AutoCloneTransformationSupport.kt index 6c6990feb7a7..ef4f17cf0429 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/impl/autoClone/AutoCloneTransformationSupport.kt +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/impl/autoClone/AutoCloneTransformationSupport.kt @@ -15,11 +15,14 @@ */ package org.jetbrains.plugins.groovy.transformations.impl.autoClone -import com.intellij.codeInsight.AnnotationUtil -import com.intellij.psi.* +import com.intellij.psi.CommonClassNames +import com.intellij.psi.PsiEnumConstant +import com.intellij.psi.PsiModifier +import com.intellij.psi.PsiType import com.intellij.psi.impl.light.LightMethodBuilder import org.jetbrains.plugins.groovy.GroovyLanguage import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrReferenceExpression +import org.jetbrains.plugins.groovy.lang.psi.impl.findDeclaredDetachedValue import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil import org.jetbrains.plugins.groovy.transformations.AstTransformationSupport import org.jetbrains.plugins.groovy.transformations.TransformationContext @@ -82,13 +85,4 @@ class AutoCloneTransformationSupport : AstTransformationSupport { } } } - - private fun PsiAnnotation.findDeclaredDetachedValue(attributeName: String?): PsiAnnotationMemberValue? { - val styleAttribute = AnnotationUtil.findDeclaredAttribute(this, attributeName) - return when (styleAttribute) { - null -> null - is PsiNameValuePair.Detachable -> styleAttribute.detachedValue - else -> styleAttribute.value - } - } }