Examples of PsiRecursiveElementWalkingVisitor


Examples of com.intellij.psi.PsiRecursiveElementWalkingVisitor

                if(!AnnotationUtil.isValidForIndex(inputData)) {
                    return map;
                }

                psiFile.accept(new PsiRecursiveElementWalkingVisitor() {
                    @Override
                    public void visitElement(PsiElement element) {
                        if ((element instanceof PhpClass)) {
                            visitPhpClass((PhpClass) element);
                        }
View Full Code Here

Examples of com.intellij.psi.PsiRecursiveElementWalkingVisitor

    public PsiElementVisitor buildVisitor(final @NotNull ProblemsHolder holder, boolean isOnTheFly) {

        PsiFile psiFile = holder.getFile();

        if(psiFile instanceof PhpFile) {
            psiFile.acceptChildren(new PsiRecursiveElementWalkingVisitor() {
                @Override
                public void visitElement(PsiElement element) {
                    if(element instanceof PhpDocTag && AnnotationUtil.isAnnotationPhpDocTag((PhpDocTag) element)) {
                        visitAnnotationDocTag((PhpDocTag) element, holder);
                    }
View Full Code Here

Examples of com.intellij.psi.PsiRecursiveElementWalkingVisitor

      LOG.error(parent);
      return;
    }
    final TObjectIntHashMap<String> visited = new TObjectIntHashMap<String>();
    final LinkedList<Pair<PsiElement, PsiElement>> work = new LinkedList<Pair<PsiElement, PsiElement>>();
    (expression = (BnfExpression)expression.copy()).acceptChildren(new PsiRecursiveElementWalkingVisitor() {
      @Override
      public void visitElement(PsiElement element) {
        if (element instanceof BnfExternalExpression) {
          List<BnfExpression> list = ((BnfExternalExpression)element).getExpressionList();
          if (list.size() == 1) {
View Full Code Here

Examples of com.intellij.psi.PsiRecursiveElementWalkingVisitor

    if (value == null) {
      file.putUserData(USED_RULES_KEY, value = CachedValuesManager.getManager(file.getProject()).createCachedValue(new CachedValueProvider<Set<PsiElement>>() {
        @Override
        public Result<Set<PsiElement>> compute() {
          final THashSet<PsiElement> psiElements = new THashSet<PsiElement>();
          file.acceptChildren(new PsiRecursiveElementWalkingVisitor() {
            @Override
            public void visitElement(PsiElement element) {
              if (element instanceof BnfReferenceOrToken || element instanceof BnfStringLiteralExpression) {
                PsiReference reference = element.getReference();
                PsiElement target = reference != null? reference.resolve() : null;
View Full Code Here

Examples of com.intellij.psi.PsiRecursiveElementWalkingVisitor

  }

  public static List<String> collectExtraArguments(BnfRule rule, BnfExpression expression) {
    if (!ParserGeneratorUtil.Rule.isMeta(rule) && !ParserGeneratorUtil.Rule.isExternal(rule)) return Collections.emptyList();
    final SmartList<String> result = new SmartList<String>();
    expression.accept(new PsiRecursiveElementWalkingVisitor() {
      @Override
      public void visitElement(PsiElement element) {
        if (element instanceof BnfExternalExpression) {
          BnfExternalExpression expr = (BnfExternalExpression)element;
          List<BnfExpression> list = expr.getExpressionList();
View Full Code Here

Examples of com.intellij.psi.PsiRecursiveElementWalkingVisitor

      }
    }.process(element);
  }

  public static void visitRecursively(PsiElement element, final boolean skipAttrs, final BnfVisitor visitor) {
    element.acceptChildren(new PsiRecursiveElementWalkingVisitor() {
      @Override
      public void visitElement(PsiElement element) {
        if (skipAttrs && element instanceof BnfAttrs) return;
        element.accept(visitor);
        super.visitElement(element);
View Full Code Here

Examples of com.intellij.psi.PsiRecursiveElementWalkingVisitor

    checkFile(file, problemsHolder);
    return problemsHolder.getResultsArray();
  }

  private static void checkFile(PsiFile file, final ProblemsHolder problemsHolder) {
    file.accept(new PsiRecursiveElementWalkingVisitor() {
      @Override
      public void visitElement(PsiElement element) {
        if (element instanceof BnfChoice) {
          checkChoice((BnfChoice)element, problemsHolder);
        }
View Full Code Here

Examples of com.intellij.psi.PsiRecursiveElementWalkingVisitor

  }

  private static void checkFile(final PsiFile file, final ProblemsHolder problemsHolder) {
    if (!(file instanceof BnfFile)) return;
    final HashSet<String> tokens = new HashSet<String>(RuleGraphHelper.getTokenMap((BnfFile) file).values());
    file.accept(new PsiRecursiveElementWalkingVisitor() {
      @Override
      public void visitElement(PsiElement element) {
        if (element instanceof BnfRule) {
          // do not check external rules
          if (ParserGeneratorUtil.Rule.isExternal((BnfRule)element)) return;
View Full Code Here

Examples of com.intellij.psi.PsiRecursiveElementWalkingVisitor

    return problemsHolder.getResultsArray();
  }

  private static void checkFile(PsiFile file, final ProblemsHolder problemsHolder) {
    final THashSet<BnfExpression> set = new THashSet<BnfExpression>();
    file.accept(new PsiRecursiveElementWalkingVisitor() {
      @Override
      public void visitElement(PsiElement element) {
        if (element instanceof BnfChoice) {
          BnfChoice choice = (BnfChoice)element;
          checkChoice(choice, set);
View Full Code Here

Examples of com.intellij.psi.PsiRecursiveElementWalkingVisitor

            PsiFile twigFile = PsiManager.getInstance(parameter.getProject()).findFile(virtualFile);
            if(!(twigFile instanceof TwigFile)) {
                continue;
            }

            twigFile.acceptChildren(new PsiRecursiveElementWalkingVisitor() {
                @Override
                public void visitElement(PsiElement element) {
                    if(element instanceof TwigTagWithFileReference && element.getNode().getElementType() == TwigElementTypes.INCLUDE_TAG) {
                        PsiElement includeTag = PsiElementUtils.getChildrenOfType(element, TwigHelper.getTemplateFileReferenceTagPattern("include"));
                        if(includeTag != null) {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.