Package com.intellij.psi

Examples of com.intellij.psi.PsiReference.resolve()


        functionClause.accept(new ErlangRecursiveVisitor() {
          @Override
          public void visitQVar(@NotNull ErlangQVar o) {
            if (!isForceSkipped(o) && !isMacros(o) && (inArgumentDefinition(o) && !inArgumentList(o) || inLeftPartOfAssignment(o))) {
              PsiReference reference = o.getReference();
              PsiElement resolve = reference != null ? reference.resolve() : null;
              if (resolve == null) {
                Query<PsiReference> search = ReferencesSearch.search(o, new LocalSearchScope(functionClause));
                for (PsiReference ref : search) {
                  PsiElement element = ref.getElement();
                  if (ErlangPsiImplUtil.fromTheSameCaseExpression(o, element)) {
View Full Code Here


                Query<PsiReference> search = ReferencesSearch.search(o, new LocalSearchScope(functionClause));
                for (PsiReference ref : search) {
                  PsiElement element = ref.getElement();
                  if (ErlangPsiImplUtil.fromTheSameCaseExpression(o, element)) {
                    PsiReference reference1 = element.getReference();
                    if (reference1 == null || reference1.resolve() == null) continue;
                  }
                  return;
                }
                problemsHolder.registerProblem(o, "Unused variable " + "'" + o.getText() + "'", ProblemHighlightType.LIKE_UNUSED_SYMBOL, new ErlangRenameVariableFix());
              }
View Full Code Here

    };
  }

  private static void process(@NotNull PsiElement o, @NotNull ProblemsHolder problemsHolder) {
    PsiReference ref = o.getReference();
    if (ref == null || ref.resolve() == null) {
      problemsHolder.registerProblem(o, "Unresolved record " + "'" + o.getText() + "'", new ErlangIntroduceRecordFix());
    }
  }
}
View Full Code Here

    if (file instanceof ErlangFile) {
      List<ErlangBehaviour> behaviours = ((ErlangFile) file).getBehaviours();
      for (ErlangBehaviour behaviour : behaviours) {
        ErlangModuleRef moduleRef = behaviour.getModuleRef();
        PsiReference reference = moduleRef != null ? moduleRef.getReference() : null;
        PsiElement resolve = reference != null ? reference.resolve() : null;
        PsiFile containingFile = resolve != null ? resolve.getContainingFile() : null;

        ErlangCallbackSpec callbackSpec = containingFile instanceof ErlangFile ? ((ErlangFile) containingFile).getCallbackByName(fullName) : null;
        ContainerUtil.addIfNotNull(callbackSpecs, callbackSpec);
      }
View Full Code Here

      }

      @Override
      public void visitFunctionCallExpression(@NotNull ErlangFunctionCallExpression o) {
        PsiReference reference = o.getReference();
        PsiElement element = reference != null ? reference.resolve() : null ;
        if (element instanceof ErlangFunction) {
          ref.set(calculateFunctionType((ErlangFunction) element));
        }
      }
View Full Code Here

      public void visitMacros(@NotNull ErlangMacros o) {
        ErlangMacrosName macrosName = o.getMacrosName();
        if (macrosName == null) return;
        if (ErlangPsiImplUtil.KNOWN_MACROS.contains(macrosName.getText())) return;
        PsiReference reference = o.getReference();
        if (reference != null && reference.resolve() == null) {
          holder.registerProblem(o, "Unresolved macros " + "'" + o.getText() + "'", new ErlangIntroduceMacroQuickFix());
        }
      }
    };
  }
View Full Code Here

  protected ErlangVisitor buildErlangVisitor(@NotNull final ProblemsHolder holder, @NotNull LocalInspectionToolSession session) {
    return new ErlangVisitor() {
      @Override
      public void visitExportFunction(@NotNull ErlangExportFunction o) {
        PsiReference reference = o.getReference();
        if (reference.resolve() == null) {
          String name = o.getQAtom().getText();
          int arity = ErlangPsiImplUtil.getArity(o.getInteger());
          if (arity >= 0) {
            holder.registerProblem(o, "Unresolved function " + "'" + o.getText() + "'",
              new ErlangCreateFunctionQuickFix(name, arity));
View Full Code Here

      @Override
      public void visitRecordField(@NotNull ErlangRecordField o) {
        ErlangRecordExpression recordExpression = PsiTreeUtil.getParentOfType(o, ErlangRecordExpression.class);
        if (recordExpression != null) {
          PsiReference reference = recordExpression.getReferenceInternal();
          if (reference != null && reference.resolve() == null) {
            return;
          }
        }

        PsiReference reference = o.getReference();
View Full Code Here

            return;
          }
        }

        PsiReference reference = o.getReference();
        if (reference == null || reference.resolve() == null) {
          ErlangQAtom atom = o.getFieldNameAtom();
          if (atom == null || atom.getMacros() != null) return;
          holder.registerProblem(atom, "Unresolved record field " + "'" + atom.getText() + "'", new ErlangIntroduceRecordFieldFix());
        }
      }
View Full Code Here

          || isForceSkipped(o) || inSpecification(o) || inDefine(o)
          || inCallback(o) || inRecordDefinition(o)) {
          return;
        }
        PsiReference reference = o.getReference();
        if (reference != null && reference.resolve() == null) {
          holder.registerProblem(o, "Variable " + "'" + o.getText() + "' is unbound", new ErlangIntroduceVariableQuickFix());
        }
      }
    };
  }
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.