diff --git a/src/main/java/fr/adrienbrault/idea/symfony2plugin/doctrine/DoctrineUtil.java b/src/main/java/fr/adrienbrault/idea/symfony2plugin/doctrine/DoctrineUtil.java index 92bea9d85..9183b162a 100644 --- a/src/main/java/fr/adrienbrault/idea/symfony2plugin/doctrine/DoctrineUtil.java +++ b/src/main/java/fr/adrienbrault/idea/symfony2plugin/doctrine/DoctrineUtil.java @@ -18,12 +18,8 @@ import com.jetbrains.php.lang.psi.PhpPsiUtil; import com.jetbrains.php.lang.psi.elements.PhpAttribute; import com.jetbrains.php.lang.psi.elements.PhpClass; -import com.jetbrains.php.lang.psi.elements.PhpNamedElement; -import com.jetbrains.php.lang.psi.elements.PhpPsiElement; import com.jetbrains.php.refactoring.PhpNameUtil; import de.espend.idea.php.annotation.util.AnnotationUtil; -import fr.adrienbrault.idea.symfony2plugin.stubs.indexes.visitor.AnnotationElementWalkingVisitor; -import fr.adrienbrault.idea.symfony2plugin.stubs.indexes.visitor.AttributeElementWalkingVisitor; import fr.adrienbrault.idea.symfony2plugin.util.AnnotationBackportUtil; import fr.adrienbrault.idea.symfony2plugin.util.PhpElementsUtil; import fr.adrienbrault.idea.symfony2plugin.util.PhpPsiAttributesUtil; diff --git a/src/main/java/fr/adrienbrault/idea/symfony2plugin/stubs/indexes/visitor/AnnotationElementWalkingVisitor.java b/src/main/java/fr/adrienbrault/idea/symfony2plugin/stubs/indexes/visitor/AnnotationElementWalkingVisitor.java deleted file mode 100644 index b04aa6739..000000000 --- a/src/main/java/fr/adrienbrault/idea/symfony2plugin/stubs/indexes/visitor/AnnotationElementWalkingVisitor.java +++ /dev/null @@ -1,55 +0,0 @@ -package fr.adrienbrault.idea.symfony2plugin.stubs.indexes.visitor; - -import com.intellij.psi.PsiElement; -import com.intellij.psi.PsiRecursiveElementWalkingVisitor; -import com.intellij.util.Processor; -import com.jetbrains.php.lang.documentation.phpdoc.psi.tags.PhpDocTag; -import fr.adrienbrault.idea.symfony2plugin.util.AnnotationBackportUtil; -import org.jetbrains.annotations.NotNull; - -import java.util.Map; - -/** - * @author Daniel Espendiller - */ -public class AnnotationElementWalkingVisitor extends PsiRecursiveElementWalkingVisitor { - - @NotNull - private final Processor phpDocTagProcessor; - - @NotNull - private final String[] annotations; - - public AnnotationElementWalkingVisitor(@NotNull Processor phpDocTagProcessor, @NotNull String... annotations) { - this.phpDocTagProcessor = phpDocTagProcessor; - this.annotations = annotations; - } - - @Override - public void visitElement(PsiElement element) { - if ((element instanceof PhpDocTag)) { - visitPhpDocTag((PhpDocTag) element); - } - super.visitElement(element); - } - - private void visitPhpDocTag(@NotNull PhpDocTag phpDocTag) { - - // "@var" and user non related tags dont need an action - if(AnnotationBackportUtil.NON_ANNOTATION_TAGS.contains(phpDocTag.getName())) { - return; - } - - Map fileImports = AnnotationBackportUtil.getUseImportMap(phpDocTag); - if(fileImports.size() == 0) { - return; - } - - String annotationFqnName = AnnotationBackportUtil.getClassNameReference(phpDocTag, fileImports); - for (String annotation : annotations) { - if(annotation.equals(annotationFqnName)) { - this.phpDocTagProcessor.process(phpDocTag); - } - } - } -} diff --git a/src/main/java/fr/adrienbrault/idea/symfony2plugin/stubs/indexes/visitor/AttributeElementWalkingVisitor.java b/src/main/java/fr/adrienbrault/idea/symfony2plugin/stubs/indexes/visitor/AttributeElementWalkingVisitor.java deleted file mode 100644 index ede4e598a..000000000 --- a/src/main/java/fr/adrienbrault/idea/symfony2plugin/stubs/indexes/visitor/AttributeElementWalkingVisitor.java +++ /dev/null @@ -1,56 +0,0 @@ -package fr.adrienbrault.idea.symfony2plugin.stubs.indexes.visitor; - -import com.intellij.openapi.util.Pair; -import com.intellij.psi.PsiElement; -import com.intellij.psi.PsiRecursiveElementWalkingVisitor; -import com.intellij.util.Processor; -import com.jetbrains.php.lang.psi.elements.PhpAttribute; -import com.jetbrains.php.lang.psi.elements.PhpAttributesList; -import com.jetbrains.php.lang.psi.elements.PhpClass; -import fr.adrienbrault.idea.symfony2plugin.util.PhpElementsUtil; -import org.jetbrains.annotations.NotNull; - -/** - * Visit class attributes; filtered by instance - * - * @author Daniel Espendiller - */ -public class AttributeElementWalkingVisitor extends PsiRecursiveElementWalkingVisitor { - - @NotNull - private final Processor> phpDocTagProcessor; - - @NotNull - private final String[] annotations; - - public AttributeElementWalkingVisitor(@NotNull Processor> phpDocTagProcessor, @NotNull String... annotations) { - this.phpDocTagProcessor = phpDocTagProcessor; - this.annotations = annotations; - } - - @Override - public void visitElement(@NotNull PsiElement element) { - if ((element instanceof PhpAttributesList)) { - visitPhpAttributesList((PhpAttributesList) element); - } - - super.visitElement(element); - } - - private void visitPhpAttributesList(@NotNull PhpAttributesList phpAttributesList) { - PsiElement parent = phpAttributesList.getParent(); - - if (parent instanceof PhpClass) { - for (PhpAttribute attribute : phpAttributesList.getAttributes()) { - String fqn = attribute.getFQN(); - if (fqn == null) { - continue; - } - - if (PhpElementsUtil.isEqualClassName(fqn, annotations)) { - this.phpDocTagProcessor.process(Pair.create(attribute, (PhpClass) parent)); - } - } - } - } -}