当前位置: 首页>>代码示例>>Java>>正文


Java ClassReference类代码示例

本文整理汇总了Java中com.jetbrains.php.lang.psi.elements.ClassReference的典型用法代码示例。如果您正苦于以下问题:Java ClassReference类的具体用法?Java ClassReference怎么用?Java ClassReference使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ClassReference类属于com.jetbrains.php.lang.psi.elements包,在下文中一共展示了ClassReference类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: invokeAutoPopup

import com.jetbrains.php.lang.psi.elements.ClassReference; //导入依赖的package包/类
@Override
public boolean invokeAutoPopup(@NotNull PsiElement position, char typeChar) {
    MethodReference reference = PsiTreeUtil.getParentOfType(position, MethodReference.class);
    if (reference != null && reference.getName() != null && reference.getName().equals("t") && reference.getClassReference() instanceof ClassReference) {
        ClassReference classReference = (ClassReference) reference.getClassReference();
        if (classReference == null || classReference.getName() == null || !classReference.getName().equals("Yii")) {
            return false;
        }
        if (typeChar == '\'' || typeChar == '"') {
            if (position instanceof LeafPsiElement && (position.getText().equals("$category") || position.getText().equals("$message"))) {
                return true;
            }
            if (position.getNextSibling() instanceof ParameterList) {
                return true;
            }
        }
    }

    return false;
}
 
开发者ID:nvlad,项目名称:yii2support,代码行数:21,代码来源:CompletionContributor.java

示例2: buildVisitor

import com.jetbrains.php.lang.psi.elements.ClassReference; //导入依赖的package包/类
@NotNull
@Override
public PsiElementVisitor buildVisitor(@NotNull ProblemsHolder problemsHolder, boolean b) {
    return new PhpElementVisitor() {
        @Override
        public void visitPhpClassReference(ClassReference classReference) {
            if (classReference.getFQN() != null && LegacyClassesForIDEIndex.isLegacyClass(classReference.getProject(), classReference.getFQN())) {
                problemsHolder.registerProblem(classReference, "Legacy class usage", ProblemHighlightType.LIKE_DEPRECATED, new LegacyClassesForIdeQuickFix());
            }

            super.visitPhpClassReference(classReference);
        }

        @Override
        public void visitPhpClassConstantReference(ClassConstantReference constantReference) {
            super.visitPhpClassConstantReference(constantReference);
        }
    };
}
 
开发者ID:cedricziel,项目名称:idea-php-typo3-plugin,代码行数:20,代码来源:LegacyClassesForIDEInspection.java

示例3: applyFix

import com.jetbrains.php.lang.psi.elements.ClassReference; //导入依赖的package包/类
@Override
public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) {

    PsiElement psiElement = descriptor.getPsiElement();
    if (DumbService.isDumb(project)) {
        showIsInDumpModeMessage(project, psiElement);
        return;
    }

    if (psiElement instanceof ClassReference) {
        ClassReference classReference = (ClassReference) psiElement;
        String fqn = classReference.getFQN();
        if (fqn != null) {
            String replacementFQN = LegacyClassesForIDEIndex.findReplacementClass(project, fqn);
            if (replacementFQN != null) {
                try {
                    classReference.replace(PhpPsiElementFactory.createClassReference(project, replacementFQN));
                } catch (IncorrectOperationException e) {
                    showErrorMessage(project, "Could not replace class reference", psiElement);
                }
            }
        }
    }
}
 
开发者ID:cedricziel,项目名称:idea-php-typo3-plugin,代码行数:25,代码来源:LegacyClassesForIdeQuickFix.java

示例4: buildVisitor

import com.jetbrains.php.lang.psi.elements.ClassReference; //导入依赖的package包/类
@NotNull
@Override
public PsiElementVisitor buildVisitor(@NotNull ProblemsHolder problemsHolder, boolean b) {
    return new PhpElementVisitor() {
        @Override
        public void visitPhpElement(PhpPsiElement element) {

            if (!PlatformPatterns.psiElement(PhpElementTypes.CLASS_REFERENCE).accepts(element)) {
                return;
            }

            Set<String> constants = getDeprecatedClasses(element);
            ClassReference classReference = (ClassReference) element;
            if (constants.contains(classReference.getFQN())) {
                problemsHolder.registerProblem(element, "Class removed with TYPO3 9, consider using an alternative");
            }
        }
    };
}
 
开发者ID:cedricziel,项目名称:idea-php-typo3-plugin,代码行数:20,代码来源:ClassNameMatcherInspection.java

示例5: visitPhpClassReference

import com.jetbrains.php.lang.psi.elements.ClassReference; //导入依赖的package包/类
@Override
public void visitPhpClassReference(ClassReference reference) {
    if (!Settings.isEnabled(reference.getProject())) {
        return;
    }
    PsiElement referencedElement = reference.resolve();

    if(referencedElement instanceof PhpClass) {
        MagentoComponentManager magentoComponentManager = MagentoComponentManager.getInstance(referencedElement.getProject());
        if (magentoComponentManager.getComponentOfTypeForFile(reference.getContainingFile(), MagentoModule.class) == null) {
            return;
        }

        verifyPhpClass((PhpClass)referencedElement, reference);
    }
}
 
开发者ID:dkvashninbay,项目名称:magento2plugin,代码行数:17,代码来源:ObjectManagerInspection.java

示例6: newFqnMatches

import com.jetbrains.php.lang.psi.elements.ClassReference; //导入依赖的package包/类
public static Boolean newFqnMatches(PsiElement method, String fqn)
{
    try {
        ClassReference classReference = ((NewExpressionImpl) method).getClassReference();
        if (classReference == null) {
            return false;
        }

        String classFqn = classReference.getFQN();
        return classFqn != null && classFqn.equals(fqn);

    }
    catch (Exception e) {
        return false;
    }
}
 
开发者ID:whitefire,项目名称:eZ-completion,代码行数:17,代码来源:Util.java

示例7: visitElement

import com.jetbrains.php.lang.psi.elements.ClassReference; //导入依赖的package包/类
@Override
public void visitElement(PsiElement element) {

    if (!PlatformPatterns.psiElement(PhpClass.class).accepts(element)) {
        super.visitElement(element);
        return;
    }

    PhpClass phpClass = (PhpClass) element;

    String fqn = phpClass.getFQN();

    String superFqn = null;
    if (!phpClass.isInterface()) {
        superFqn = phpClass.getSuperFQN();
    } else {
        List<ClassReference> referenceElements = phpClass.getExtendsList().getReferenceElements();
        for (ClassReference cr : referenceElements) {
            superFqn = cr.getFQN();
        }
    }

    if (superFqn != null) {
        map.put(fqn, superFqn);
    }

    super.visitElement(element);
}
 
开发者ID:cedricziel,项目名称:idea-php-typo3-plugin,代码行数:29,代码来源:LegacyClassesForIDEIndex.java

示例8: buildVisitor

import com.jetbrains.php.lang.psi.elements.ClassReference; //导入依赖的package包/类
@NotNull
@Override
public PsiElementVisitor buildVisitor(
    @NotNull final ProblemsHolder problemsHolder,
    final boolean isOnTheFly
) {
    return new PhpElementVisitor() {
        @Override
        public void visitPhpMethod(final Method method) {
            final PhpReturnType  returnType                     = method.getReturnType();
            final ClassReference methodReturnTypeClassReference = (returnType != null) ? returnType.getClassReference() : null;

            if (FluentUtil.isUsingDirectly(methodReturnTypeClassReference)) {
                problemsHolder.registerProblem(methodReturnTypeClassReference, messageDirectInstantiation, ProblemHighlightType.WEAK_WARNING);
            }
        }

        @Override
        public void visitPhpFunction(final Function function) {
            final PhpReturnType functionReturnType = function.getReturnType();
            if ((functionReturnType != null) && FluentUtil.isUsingDirectly(functionReturnType.getClassReference())) {
                problemsHolder.registerProblem(functionReturnType, messageDirectInstantiation, ProblemHighlightType.WEAK_WARNING);
            }
        }

        @Override
        public void visitPhpParameter(final Parameter parameter) {
            if (FluentUtil.isUsingDirectly(parameter)) {
                problemsHolder.registerProblem(parameter, messageDirectInstantiation, ProblemHighlightType.WEAK_WARNING);
            }
        }

        @Override
        public void visitPhpDocType(final PhpDocType type) {
            if (FluentUtil.isUsingDirectly(type)) {
                problemsHolder.registerProblem(type, messageDirectInstantiation, ProblemHighlightType.WEAK_WARNING);
            }
        }
    };
}
 
开发者ID:rentalhost,项目名称:laravel-insight,代码行数:41,代码来源:UsingAsTypeInspection.java

示例9: visitMethodReference

import com.jetbrains.php.lang.psi.elements.ClassReference; //导入依赖的package包/类
private void visitMethodReference(MethodReference methodReference) {

            String methodName = methodReference.getName();
            if(!RENDER_METHODS.contains(methodName)) {
                return;
            }

            PsiElement classReference = methodReference.getFirstChild();
            if(!(classReference instanceof ClassReference)) {
                return;
            }

            if(!"View".equals(((ClassReference) classReference).getName())) {
                return;
            }

            PsiElement[] parameters = methodReference.getParameters();
            if(parameters.length == 0 || !(parameters[0] instanceof StringLiteralExpression)) {
                return;
            }

            String contents = ((StringLiteralExpression) parameters[0]).getContents();
            if(StringUtils.isBlank(contents)) {
                return;
            }

            views.add(Pair.create(contents, parameters[0]));
        }
 
开发者ID:Haehnchen,项目名称:idea-php-laravel-plugin,代码行数:29,代码来源:BladeTemplateUtil.java


注:本文中的com.jetbrains.php.lang.psi.elements.ClassReference类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。