Package com.intellij.psi.impl.source.resolve.reference.impl.providers

Examples of com.intellij.psi.impl.source.resolve.reference.impl.providers.JavaClassReferenceProvider


      myFacade = facade;
    }

    @Override
    public PsiReferenceProvider getClassReferenceProvider() {
      JavaClassReferenceProvider provider = new JavaClassReferenceProvider();
      provider.setSoft(false);
      return provider;
    }
View Full Code Here


                                         final ConvertContext context) {
    final ExtendClass extendClass = getExtendsAnnotation(psiClassGenericDomValue);

    // 1. "normal" JAVA classes
    final GlobalSearchScope scope = getResolveScope(psiClassGenericDomValue);
    final JavaClassReferenceProvider classReferenceProvider =
        new JavaClassReferenceProvider() {
          @Override
          public GlobalSearchScope getScope(final Project project) {
            return scope;
          }
        };
    PsiClassConverter.createJavaClassReferenceProvider(psiClassGenericDomValue, extendClass, classReferenceProvider);
    PsiReference[] javaClassReferences = classReferenceProvider.getReferencesByElement(element);

    final boolean allowInterface = extendClass.allowInterface();
    @NonNls String[] referenceTypes = allowInterface ? new String[]{"class", "interface"} : new String[]{"class"};

    // 2. additional resolvers
View Full Code Here

        return super.getReferences();
      }

      if (args.length == 2 && "java".equals(args[0]) &&
          expressions.length == 2 && expressions[1] == this) {
        final JavaClassReferenceProvider provider = new JavaClassReferenceProvider();
        return provider.getReferencesByString(args[1], referenceElement, 0);
      }
      else if ((args.length == 2 && "component".equals(args[0]) &&
                expressions.length == 2 && expressions[1] == this) ||
               (args.length == 1 && expressions.length == 1 && expressions[0] == this)) {
        final ASTNode referenceNode = referenceElement.getNode();
        if (referenceNode != null) {
          return new PsiReference[]{new CfmlComponentReference(referenceNode)};
        }
      }
    }
    else if (functionCallEl != null && functionCallEl.isExpandPath()) {
      final PsiElement referenceElement = findChildByType(CfmlTokenTypes.STRING_TEXT);
      if (referenceElement == null) {
        return super.getReferences();
      }
      final ASTNode referenceNode = referenceElement.getNode();
      if (referenceNode != null) {
        return (new CfmlFileReferenceSet(this, 1)).getAllReferences();
      }
    }
    else if (functionCallEl != null && functionCallEl.isCreateFromJavaLoader()) {
      CfmlExpression[] expressions = functionCallEl.getArguments();
      if (expressions.length > 0 && expressions[0] == this) {
        PsiElement stringTextElement = findChildByType(CfmlTokenTypes.STRING_TEXT);
        if (stringTextElement != null) {
          // getting javaloader type
          PsiElement secondChild = functionCallEl.getFirstChild().getFirstChild();
          if (!(secondChild instanceof CfmlReferenceExpression)) {
            return super.getReferences();
          }
          PsiType type = ((CfmlReferenceExpression)secondChild).getPsiType();
          if (!(type instanceof CfmlJavaLoaderClassType)) {
            return super.getReferences();
          }
          final GlobalSearchScope ss = ((CfmlJavaLoaderClassType)type).getSearchScope();

          String possibleJavaClassName = stringTextElement.getText();
          final JavaClassReferenceProvider provider = new JavaClassReferenceProvider() {
            @Override
            public GlobalSearchScope getScope(Project project) {
              return ss;
            }
          };
          return provider.getReferencesByString(possibleJavaClassName, stringTextElement, 0);
        }
      }
    }
    else if (getParent() instanceof CfmlComponentConstructorCall || getParent() instanceof CfmlImport) {
      PsiElement stringTextElement = findChildByType(CfmlTokenTypes.STRING_TEXT);
View Full Code Here

    final String text = element.getText();
    TextRange range = findTypeNameRange(text);
    if (range == null) {
      return PsiReference.EMPTY_ARRAY;
    }
    final JavaClassReferenceProvider provider = new JavaClassReferenceProvider();
    return provider.getReferencesByString(range.substring(text), element, range.getStartOffset());
  }
View Full Code Here

TOP

Related Classes of com.intellij.psi.impl.source.resolve.reference.impl.providers.JavaClassReferenceProvider

Copyright © 2018 www.massapicom. 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.