本文整理汇总了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;未经允许,请勿转载。 |
请发表评论