blob: 02a8ba1d50a2cce11c0dcfda7435811480e17435 [file] [log] [blame]
/*
* Copyright 2000-2012 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.intellij.psi;
import com.intellij.psi.javadoc.*;
@SuppressWarnings({"JavaDoc"})
public abstract class JavaElementVisitor extends PsiElementVisitor {
public void visitAnonymousClass(PsiAnonymousClass aClass) {
visitClass(aClass);
}
public void visitArrayAccessExpression(PsiArrayAccessExpression expression) {
visitExpression(expression);
}
public void visitArrayInitializerExpression(PsiArrayInitializerExpression expression) {
visitExpression(expression);
}
public void visitAssertStatement(PsiAssertStatement statement) {
visitStatement(statement);
}
public void visitAssignmentExpression(PsiAssignmentExpression expression) {
visitExpression(expression);
}
public void visitBinaryExpression(PsiBinaryExpression expression) {
visitPolyadicExpression(expression);
}
public void visitBlockStatement(PsiBlockStatement statement) {
visitStatement(statement);
}
public void visitBreakStatement(PsiBreakStatement statement) {
visitStatement(statement);
}
public void visitClass(PsiClass aClass) {
visitElement(aClass);
}
public void visitClassInitializer(PsiClassInitializer initializer) {
visitElement(initializer);
}
public void visitClassObjectAccessExpression(PsiClassObjectAccessExpression expression) {
visitExpression(expression);
}
public void visitCodeBlock(PsiCodeBlock block) {
visitElement(block);
}
public void visitConditionalExpression(PsiConditionalExpression expression) {
visitExpression(expression);
}
public void visitContinueStatement(PsiContinueStatement statement) {
visitStatement(statement);
}
public void visitDeclarationStatement(PsiDeclarationStatement statement) {
visitStatement(statement);
}
public void visitDocComment(PsiDocComment comment) {
visitComment(comment);
}
public void visitDocTag(PsiDocTag tag) {
visitElement(tag);
}
public void visitDocTagValue(PsiDocTagValue value) {
visitElement(value);
}
public void visitDoWhileStatement(PsiDoWhileStatement statement) {
visitStatement(statement);
}
public void visitEmptyStatement(PsiEmptyStatement statement) {
visitStatement(statement);
}
public void visitExpression(PsiExpression expression) {
visitElement(expression);
}
public void visitExpressionList(PsiExpressionList list) {
visitElement(list);
}
public void visitExpressionListStatement(PsiExpressionListStatement statement) {
visitStatement(statement);
}
public void visitExpressionStatement(PsiExpressionStatement statement) {
visitStatement(statement);
}
public void visitField(PsiField field) {
visitVariable(field);
}
public void visitForStatement(PsiForStatement statement) {
visitStatement(statement);
}
public void visitForeachStatement(PsiForeachStatement statement) {
visitStatement(statement);
}
public void visitIdentifier(PsiIdentifier identifier) {
visitJavaToken(identifier);
}
public void visitIfStatement(PsiIfStatement statement) {
visitStatement(statement);
}
public void visitImportList(PsiImportList list) {
visitElement(list);
}
public void visitImportStatement(PsiImportStatement statement) {
visitElement(statement);
}
public void visitImportStaticStatement(PsiImportStaticStatement statement) {
visitElement(statement);
}
public void visitInlineDocTag(PsiInlineDocTag tag) {
visitDocTag(tag);
}
public void visitInstanceOfExpression(PsiInstanceOfExpression expression) {
visitExpression(expression);
}
public void visitJavaToken(PsiJavaToken token){
visitElement(token);
}
public void visitKeyword(PsiKeyword keyword) {
visitJavaToken(keyword);
}
public void visitLabeledStatement(PsiLabeledStatement statement) {
visitStatement(statement);
}
public void visitLiteralExpression(PsiLiteralExpression expression) {
visitExpression(expression);
}
public void visitLocalVariable(PsiLocalVariable variable) {
visitVariable(variable);
}
public void visitMethod(PsiMethod method) {
visitElement(method);
}
public void visitMethodCallExpression(PsiMethodCallExpression expression) {
visitCallExpression(expression);
}
public void visitCallExpression(PsiCallExpression callExpression) {
visitExpression(callExpression);
}
public void visitModifierList(PsiModifierList list) {
visitElement(list);
}
public void visitNewExpression(PsiNewExpression expression) {
visitCallExpression(expression);
}
public void visitPackage(PsiPackage aPackage) {
visitElement(aPackage);
}
public void visitPackageStatement(PsiPackageStatement statement) {
visitElement(statement);
}
public void visitParameter(PsiParameter parameter) {
visitVariable(parameter);
}
public void visitParameterList(PsiParameterList list) {
visitElement(list);
}
public void visitParenthesizedExpression(PsiParenthesizedExpression expression) {
visitExpression(expression);
}
public void visitPostfixExpression(PsiPostfixExpression expression) {
visitExpression(expression);
}
public void visitPrefixExpression(PsiPrefixExpression expression) {
visitExpression(expression);
}
public void visitReferenceElement(PsiJavaCodeReferenceElement reference) {
visitElement(reference);
}
public void visitImportStaticReferenceElement(PsiImportStaticReferenceElement reference) {
visitElement(reference);
}
/**
* PsiReferenceExpression is PsiReferenceElement and PsiExpression at the same time.
* If we'd call both visitReferenceElement and visitExpression in default implementation
* of this method we can easily stuck with exponential algorithm if the derived visitor
* extends visitElement() and accepts children there.
* PsiRecursiveElement visitor works that around and implements this method accordingly.
* All other visitor must decide themselves what implementation (visitReferenceElement() or visitExpression() or none or LOG.error())
* is appropriate for them.
* @param expression
*/
public void visitReferenceExpression(PsiReferenceExpression expression) {}
public void visitMethodReferenceExpression(PsiMethodReferenceExpression expression) {
visitReferenceExpression(expression);
}
public void visitReferenceList(PsiReferenceList list) {
visitElement(list);
}
public void visitReferenceParameterList(PsiReferenceParameterList list) {
visitElement(list);
}
public void visitTypeParameterList(PsiTypeParameterList list) {
visitElement(list);
}
public void visitReturnStatement(PsiReturnStatement statement) {
visitStatement(statement);
}
public void visitStatement(PsiStatement statement) {
visitElement(statement);
}
public void visitSuperExpression(PsiSuperExpression expression) {
visitExpression(expression);
}
public void visitSwitchLabelStatement(PsiSwitchLabelStatement statement) {
visitStatement(statement);
}
public void visitSwitchStatement(PsiSwitchStatement statement) {
visitStatement(statement);
}
public void visitSynchronizedStatement(PsiSynchronizedStatement statement) {
visitStatement(statement);
}
public void visitThisExpression(PsiThisExpression expression) {
visitExpression(expression);
}
public void visitThrowStatement(PsiThrowStatement statement) {
visitStatement(statement);
}
public void visitTryStatement(PsiTryStatement statement) {
visitStatement(statement);
}
public void visitCatchSection(PsiCatchSection section) {
visitElement(section);
}
public void visitResourceList(PsiResourceList resourceList) {
visitElement(resourceList);
}
public void visitResourceVariable(PsiResourceVariable resourceVariable) {
visitLocalVariable(resourceVariable);
}
public void visitTypeElement(PsiTypeElement type) {
visitElement(type);
}
public void visitTypeCastExpression(PsiTypeCastExpression expression) {
visitExpression(expression);
}
public void visitVariable(PsiVariable variable) {
visitElement(variable);
}
public void visitWhileStatement(PsiWhileStatement statement) {
visitStatement(statement);
}
public void visitJavaFile(PsiJavaFile file){
visitFile(file);
}
public void visitImplicitVariable(ImplicitVariable variable) {
visitLocalVariable(variable);
}
public void visitDocToken(PsiDocToken token) {
visitElement(token);
}
public void visitTypeParameter(PsiTypeParameter classParameter) {
visitClass(classParameter);
}
public void visitAnnotation(PsiAnnotation annotation) {
visitElement(annotation);
}
public void visitAnnotationParameterList(PsiAnnotationParameterList list) {
visitElement(list);
}
public void visitAnnotationArrayInitializer(PsiArrayInitializerMemberValue initializer) {
visitElement(initializer);
}
public void visitNameValuePair(PsiNameValuePair pair) {
visitElement(pair);
}
public void visitAnnotationMethod(PsiAnnotationMethod method) {
visitMethod(method);
}
public void visitEnumConstant(PsiEnumConstant enumConstant) {
visitField(enumConstant);
}
public void visitEnumConstantInitializer(PsiEnumConstantInitializer enumConstantInitializer) {
visitAnonymousClass(enumConstantInitializer);
}
public void visitCodeFragment(JavaCodeFragment codeFragment) {
visitFile(codeFragment);
}
public void visitPolyadicExpression(PsiPolyadicExpression expression) {
visitExpression(expression);
}
public void visitLambdaExpression(PsiLambdaExpression expression) {
visitExpression(expression);
}
}