spring mvc jam rewrite
[fedora-idea.git] / openapi / src / com / intellij / patterns / PsiJavaPatterns.java
blobecdcf14877188943e30d52161bfa2438ccaed17d
1 /*
2 * Copyright (c) 2000-2005 by JetBrains s.r.o. All Rights Reserved.
3 * Use is subject to license terms.
4 */
5 package com.intellij.patterns;
7 import com.intellij.psi.*;
8 import com.intellij.psi.tree.IElementType;
9 import com.intellij.util.ProcessingContext;
10 import org.jetbrains.annotations.Nullable;
12 /**
13 * @author peter
15 public class PsiJavaPatterns extends StandardPatterns{
17 public static IElementTypePattern elementType() {
18 return PlatformPatterns.elementType();
21 public static VirtualFilePattern virtualFile() {
22 return PlatformPatterns.virtualFile();
25 public static PsiJavaElementPattern.Capture<PsiElement> psiElement() {
26 return new PsiJavaElementPattern.Capture<PsiElement>(PsiElement.class);
29 public static PsiJavaElementPattern.Capture<PsiElement> psiElement(IElementType type) {
30 return psiElement().withElementType(type);
33 public static <T extends PsiElement> PsiJavaElementPattern.Capture<T> psiElement(final Class<T> aClass) {
34 return new PsiJavaElementPattern.Capture<T>(aClass);
37 public static PsiJavaElementPattern.Capture<PsiLiteralExpression> literalExpression() {
38 return literalExpression(null);
41 public static PsiJavaElementPattern.Capture<PsiLiteralExpression> literalExpression(final ElementPattern value) {
42 return new PsiJavaElementPattern.Capture<PsiLiteralExpression>(new InitialPatternCondition<PsiLiteralExpression>(PsiLiteralExpression.class) {
43 public boolean accepts(@Nullable final Object o, final ProcessingContext context) {
44 return o instanceof PsiLiteralExpression
45 && (value == null || value.accepts(((PsiLiteralExpression)o).getValue(), context));
47 });
50 public static PsiMemberPattern.Capture psiMember() {
51 return new PsiMemberPattern.Capture();
54 public static PsiMethodPattern psiMethod() {
55 return new PsiMethodPattern();
58 public static PsiModifierListOwnerPattern.Capture<PsiParameter> psiParameter() {
59 return new PsiModifierListOwnerPattern.Capture<PsiParameter>(new InitialPatternCondition<PsiParameter>(PsiParameter.class) {
60 @Override
61 public boolean accepts(@Nullable Object o, ProcessingContext context) {
62 return o instanceof PsiParameter;
64 });
66 public static PsiModifierListOwnerPattern.Capture<PsiModifierListOwner> psiModifierListOwner() {
67 return new PsiModifierListOwnerPattern.Capture<PsiModifierListOwner>(new InitialPatternCondition<PsiModifierListOwner>(PsiModifierListOwner.class) {
68 @Override
69 public boolean accepts(@Nullable Object o, ProcessingContext context) {
70 return o instanceof PsiModifierListOwner;
72 });
75 public static PsiFieldPattern psiField() {
76 return new PsiFieldPattern();
79 public static PsiClassPattern psiClass() {
80 return new PsiClassPattern();
83 public static PsiAnnotationPattern psiAnnotation() {
84 return new PsiAnnotationPattern();
87 public static PsiNameValuePairPattern psiNameValuePair() {
88 return new PsiNameValuePairPattern();
91 public static PsiTypePattern psiType() {
92 return new PsiTypePattern();
95 public static PsiExpressionPattern.Capture<PsiExpression> psiExpression() {
96 return new PsiExpressionPattern.Capture<PsiExpression>(PsiExpression.class);
99 public static PsiBinaryExpressionPattern psiBinaryExpression() {
100 return new PsiBinaryExpressionPattern();
103 public static PsiTypeCastExpressionPattern psiTypeCastExpression() {
104 return new PsiTypeCastExpressionPattern();
107 public static PsiJavaElementPattern.Capture<PsiReferenceExpression> psiReferenceExpression() {
108 return psiElement(PsiReferenceExpression.class);
111 public static PsiStatementPattern.Capture<PsiExpressionStatement> psiExpressionStatement() {
112 return new PsiStatementPattern.Capture<PsiExpressionStatement>(PsiExpressionStatement.class);
115 public static PsiStatementPattern.Capture<PsiReturnStatement> psiReturnStatement() {
116 return new PsiStatementPattern.Capture<PsiReturnStatement>(PsiReturnStatement.class);