public void accept(@NotNull PsiElementVisitor visitor) {
   if (visitor instanceof JavaElementVisitor) {
     ((JavaElementVisitor) visitor).visitReferenceList(this);
   } else {
     visitor.visitElement(this);
   }
 }
 public void accept(@NotNull PsiElementVisitor visitor) {
   if (visitor instanceof JavaElementVisitor) {
     ((JavaElementVisitor) visitor).visitSwitchStatement(this);
   } else {
     visitor.visitElement(this);
   }
 }
 public void accept(@NotNull PsiElementVisitor visitor) {
   if (visitor instanceof XmlElementVisitor) {
     ((XmlElementVisitor) visitor).visitXmlDocument(this);
   } else {
     visitor.visitElement(this);
   }
 }
 @Override
 public final void accept(@NotNull PsiElementVisitor visitor) {
   if (visitor instanceof JavaElementVisitor) {
     ((JavaElementVisitor) visitor).visitAnnotationArrayInitializer(this);
   } else {
     visitor.visitElement(this);
   }
 }
 @Override
 public void accept(@NotNull PsiElementVisitor visitor) {
   if (visitor instanceof JSElementVisitor) {
     ((JSElementVisitor) visitor).visitJSIncludeDirective(this);
   } else {
     visitor.visitElement(this);
   }
 }
 @Override
 public void accept(@NotNull PsiElementVisitor visitor) {
   if (visitor instanceof LuaElementVisitor) {
     ((LuaElementVisitor) visitor).visitUnaryExpression(this);
   } else {
     visitor.visitElement(this);
   }
 }
 @Override
 public void accept(@NotNull PsiElementVisitor visitor) {
   if (visitor instanceof JavaElementVisitor) {
     ((JavaElementVisitor) visitor).visitDocTagValue(this);
   } else {
     visitor.visitElement(this);
   }
 }
 @Override
 public void accept(@NotNull PsiElementVisitor visitor) {
   if (visitor instanceof LuaElementVisitor) {
     ((LuaElementVisitor) visitor).visitWhileStatement(this);
   } else {
     visitor.visitElement(this);
   }
 }
 @Override
 public void accept(@NotNull PsiElementVisitor visitor) {
   if (visitor instanceof NginxElementVisitor) {
     ((NginxElementVisitor) visitor).visitDirectiveValue(this);
   } else {
     visitor.visitElement(this);
   }
 }
 @Override
 public void accept(@NotNull final PsiElementVisitor visitor) {
   if (visitor instanceof JavaElementVisitor) {
     ((JavaElementVisitor) visitor).visitLambdaExpression(this);
   } else {
     visitor.visitElement(this);
   }
 }
 @Override
 public void accept(@NotNull PsiElementVisitor visitor) {
   if (visitor instanceof JavaElementVisitor) {
     ((JavaElementVisitor) visitor).visitRequiresStatement(this);
   } else {
     visitor.visitElement(this);
   }
 }
 @Override
 public final void accept(@NotNull PsiElementVisitor visitor) {
   if (visitor instanceof KtVisitor) {
     accept((KtVisitor) visitor, null);
   } else {
     visitor.visitElement(this);
   }
 }
 @Override
 public void accept(@NotNull PsiElementVisitor visitor) {
   if (visitor instanceof JavaElementVisitor) {
     ((JavaElementVisitor) visitor).visitAnnotationParameterList(this);
   } else {
     visitor.visitElement(this);
   }
 }
 @Override
 public void accept(@NotNull PsiElementVisitor visitor) {
   if (visitor instanceof JavaElementVisitor) {
     ((JavaElementVisitor) visitor).visitModuleReferenceElement(this);
   } else {
     visitor.visitElement(this);
   }
 }
 @Override
 public void accept(@NotNull PsiElementVisitor visitor) {
   if (visitor instanceof BashVisitor) {
     ((BashVisitor) visitor).visitCombinedWord(this);
   } else {
     visitor.visitElement(this);
   }
 }
 @Override
 public void accept(@NotNull PsiElementVisitor visitor) {
   if (visitor instanceof GosuElementVisitor) {
     ((GosuElementVisitor) visitor).visitDirectiveExpression(this);
   } else {
     visitor.visitElement(this);
   }
 }
Exemple #17
0
    @Override
    public void visitElement(PsiElement element) {
      super.visitElement(element);

      final EquivalenceDescriptorProvider descriptorProvider =
          EquivalenceDescriptorProvider.getInstance(element);

      if (descriptorProvider != null) {
        final EquivalenceDescriptor descriptor1 = descriptorProvider.buildDescriptor(element);
        final EquivalenceDescriptor descriptor2 =
            descriptorProvider.buildDescriptor(myGlobalVisitor.getElement());

        if (descriptor1 != null && descriptor2 != null) {
          final boolean result =
              DuplocatorUtil.match(
                  descriptor1,
                  descriptor2,
                  myGlobalVisitor,
                  Collections.<PsiElementRole>emptySet(),
                  null);
          myGlobalVisitor.setResult(result);
          return;
        }
      }

      if (isLiteral(element)) {
        visitLiteral(element);
        return;
      }

      if (canBePatternVariable(element)
          && myGlobalVisitor.getMatchContext().getPattern().isRealTypedVar(element)
          && !shouldIgnoreVarNode(element)) {

        PsiElement matchedElement = myGlobalVisitor.getElement();
        PsiElement newElement = SkippingHandler.skipNodeIfNeccessary(matchedElement);
        while (newElement != matchedElement) {
          matchedElement = newElement;
          newElement = SkippingHandler.skipNodeIfNeccessary(matchedElement);
        }

        myGlobalVisitor.setResult(myGlobalVisitor.handleTypedElement(element, matchedElement));
      } else if (element instanceof LeafElement) {
        myGlobalVisitor.setResult(element.getText().equals(myGlobalVisitor.getElement().getText()));
      } else if (element.getFirstChild() == null && element.getTextLength() == 0) {
        myGlobalVisitor.setResult(true);
      } else {
        PsiElement patternChild = element.getFirstChild();
        PsiElement matchedChild = myGlobalVisitor.getElement().getFirstChild();

        FilteringNodeIterator patternIterator = new SsrFilteringNodeIterator(patternChild);
        FilteringNodeIterator matchedIterator = new SsrFilteringNodeIterator(matchedChild);

        boolean matched = myGlobalVisitor.matchSequentially(patternIterator, matchedIterator);
        myGlobalVisitor.setResult(matched);
      }
    }
 @Override
 public void accept(@NotNull PsiElementVisitor visitor) {
   if (visitor instanceof BashVisitor) {
     BashVisitor v = (BashVisitor) visitor;
     if (isInternalCommand()) {
       v.visitInternalCommand(this);
     } else {
       v.visitGenericCommand(this);
     }
   } else {
     visitor.visitElement(this);
   }
 }
 @Override
 public void accept(@NotNull final PsiElementVisitor visitor) {
   visitor.visitFile(this);
 }
 @Override
 public void visitPlainTextFile(PsiPlainTextFile file) {
   super.visitPlainTextFile(file);
 }
 @Override
 public void accept(@NotNull PsiElementVisitor visitor) {
   visitor.visitElement(this);
 }
 @Override
 public void visitElement(PsiElement element) {
   super.visitElement(element);
 }
 public void accept(@NotNull PsiElementVisitor visitor) {
   if (visitor instanceof MultiMarkdownVisitor) visitor.visitElement(this);
   else super.accept(visitor);
 }