From 6666d248738af4c61050ffb6b39ecf6c19277775 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Fri, 10 Jun 2022 21:54:41 +0200 Subject: [PATCH] ensure Visitor* classes contain visitXXX method declarations in sorted order to avoid plugin writers fainting in desperation trying to find a method GitOrigin-RevId: 12b95cea3cf33870ece67ac727399495775a6884 --- .../com/intellij/psi/JavaElementVisitor.java | 359 +++++++++--------- .../com/intellij/psi/PsiElementVisitor.java | 38 +- 2 files changed, 198 insertions(+), 199 deletions(-) diff --git a/java/java-psi-api/src/com/intellij/psi/JavaElementVisitor.java b/java/java-psi-api/src/com/intellij/psi/JavaElementVisitor.java index 0141a92b226d..e8fb61781aad 100644 --- a/java/java-psi-api/src/com/intellij/psi/JavaElementVisitor.java +++ b/java/java-psi-api/src/com/intellij/psi/JavaElementVisitor.java @@ -4,6 +4,22 @@ package com.intellij.psi; import com.intellij.psi.javadoc.*; public abstract class JavaElementVisitor extends PsiElementVisitor { + public void visitAnnotation(PsiAnnotation annotation) { + visitElement(annotation); + } + + public void visitAnnotationArrayInitializer(PsiArrayInitializerMemberValue initializer) { + visitElement(initializer); + } + + public void visitAnnotationMethod(PsiAnnotationMethod method) { + visitMethod(method); + } + + public void visitAnnotationParameterList(PsiAnnotationParameterList list) { + visitElement(list); + } + public void visitAnonymousClass(PsiAnonymousClass aClass) { visitClass(aClass); } @@ -36,8 +52,16 @@ public abstract class JavaElementVisitor extends PsiElementVisitor { visitStatement(statement); } - public void visitYieldStatement(PsiYieldStatement statement) { - visitStatement(statement); + public void visitCallExpression(PsiCallExpression callExpression) { + visitExpression(callExpression); + } + + public void visitCaseLabelElementList(PsiCaseLabelElementList list) { + visitElement(list); + } + + public void visitCatchSection(PsiCatchSection section) { + visitElement(section); } public void visitClass(PsiClass aClass) { @@ -56,6 +80,10 @@ public abstract class JavaElementVisitor extends PsiElementVisitor { visitElement(block); } + public void visitCodeFragment(JavaCodeFragment codeFragment) { + visitFile(codeFragment); + } + public void visitConditionalExpression(PsiConditionalExpression expression) { visitExpression(expression); } @@ -68,6 +96,10 @@ public abstract class JavaElementVisitor extends PsiElementVisitor { visitStatement(statement); } + public void visitDefaultCaseLabelElement(PsiDefaultCaseLabelElement element) { + visitElement(element); + } + public void visitDocComment(PsiDocComment comment) { visitComment(comment); } @@ -80,6 +112,10 @@ public abstract class JavaElementVisitor extends PsiElementVisitor { visitElement(value); } + public void visitDocToken(PsiDocToken token) { + visitElement(token); + } + public void visitDoWhileStatement(PsiDoWhileStatement statement) { visitStatement(statement); } @@ -88,6 +124,14 @@ public abstract class JavaElementVisitor extends PsiElementVisitor { visitStatement(statement); } + public void visitEnumConstant(PsiEnumConstant enumConstant) { + visitField(enumConstant); + } + + public void visitEnumConstantInitializer(PsiEnumConstantInitializer enumConstantInitializer) { + visitAnonymousClass(enumConstantInitializer); + } + public void visitExpression(PsiExpression expression) { visitElement(expression); } @@ -108,12 +152,16 @@ public abstract class JavaElementVisitor extends PsiElementVisitor { visitVariable(field); } + public void visitForeachStatement(PsiForeachStatement statement) { + visitStatement(statement); + } + public void visitForStatement(PsiForStatement statement) { visitStatement(statement); } - public void visitForeachStatement(PsiForeachStatement statement) { - visitStatement(statement); + public void visitGuardedPattern(PsiGuardedPattern pattern) { + visitPattern(pattern); } public void visitIdentifier(PsiIdentifier identifier) { @@ -124,6 +172,10 @@ public abstract class JavaElementVisitor extends PsiElementVisitor { visitStatement(statement); } + public void visitImplicitVariable(ImplicitVariable variable) { + visitLocalVariable(variable); + } + public void visitImportList(PsiImportList list) { visitElement(list); } @@ -132,6 +184,10 @@ public abstract class JavaElementVisitor extends PsiElementVisitor { visitElement(statement); } + public void visitImportStaticReferenceElement(PsiImportStaticReferenceElement reference) { + visitElement(reference); + } + public void visitImportStaticStatement(PsiImportStaticStatement statement) { visitElement(statement); } @@ -144,6 +200,10 @@ public abstract class JavaElementVisitor extends PsiElementVisitor { visitExpression(expression); } + public void visitJavaFile(PsiJavaFile file){ + visitFile(file); + } + public void visitJavaToken(PsiJavaToken token){ visitElement(token); } @@ -156,6 +216,10 @@ public abstract class JavaElementVisitor extends PsiElementVisitor { visitStatement(statement); } + public void visitLambdaExpression(PsiLambdaExpression expression) { + visitExpression(expression); + } + public void visitLiteralExpression(PsiLiteralExpression expression) { visitExpression(expression); } @@ -172,14 +236,30 @@ public abstract class JavaElementVisitor extends PsiElementVisitor { visitCallExpression(expression); } - public void visitCallExpression(PsiCallExpression callExpression) { - visitExpression(callExpression); + public void visitMethodReferenceExpression(PsiMethodReferenceExpression expression) { + visitReferenceExpression(expression); } public void visitModifierList(PsiModifierList list) { visitElement(list); } + public void visitModule(PsiJavaModule module) { + visitElement(module); + } + + public void visitModuleReferenceElement(PsiJavaModuleReferenceElement refElement) { + visitElement(refElement); + } + + public void visitModuleStatement(PsiStatement statement) { + visitStatement(statement); + } + + public void visitNameValuePair(PsiNameValuePair pair) { + visitElement(pair); + } + public void visitNewExpression(PsiNewExpression expression) { visitCallExpression(expression); } @@ -188,6 +268,10 @@ public abstract class JavaElementVisitor extends PsiElementVisitor { visitElement(aPackage); } + public void visitPackageAccessibilityStatement(PsiPackageAccessibilityStatement statement) { + visitModuleStatement(statement); + } + public void visitPackageStatement(PsiPackageStatement statement) { visitElement(statement); } @@ -196,31 +280,30 @@ public abstract class JavaElementVisitor extends PsiElementVisitor { visitVariable(parameter); } - public void visitRecordComponent(PsiRecordComponent recordComponent) { - visitVariable(recordComponent); - } - - public void visitReceiverParameter(PsiReceiverParameter parameter) { - visitVariable(parameter); - } - public void visitParameterList(PsiParameterList list) { visitElement(list); } - - public void visitRecordHeader(PsiRecordHeader recordHeader) { - visitElement(recordHeader); - } - public void visitParenthesizedExpression(PsiParenthesizedExpression expression) { visitExpression(expression); } - public void visitUnaryExpression(PsiUnaryExpression expression) { - visitExpression(expression); + public void visitParenthesizedPattern(PsiParenthesizedPattern pattern) { + visitPattern(pattern); } + public void visitPattern(PsiPattern pattern) { + visitElement(pattern); + } + + public void visitPatternVariable(PsiPatternVariable variable) { + visitParameter(variable); + } + + public void visitPolyadicExpression(PsiPolyadicExpression expression) { + visitExpression(expression); + } + public void visitPostfixExpression(PsiPostfixExpression expression) { visitUnaryExpression(expression); } @@ -229,11 +312,23 @@ public abstract class JavaElementVisitor extends PsiElementVisitor { visitUnaryExpression(expression); } - public void visitReferenceElement(PsiJavaCodeReferenceElement reference) { - visitElement(reference); + public void visitProvidesStatement(PsiProvidesStatement statement) { + visitModuleStatement(statement); } - public void visitImportStaticReferenceElement(PsiImportStaticReferenceElement reference) { + public void visitReceiverParameter(PsiReceiverParameter parameter) { + visitVariable(parameter); + } + + public void visitRecordComponent(PsiRecordComponent recordComponent) { + visitVariable(recordComponent); + } + + public void visitRecordHeader(PsiRecordHeader recordHeader) { + visitElement(recordHeader); + } + + public void visitReferenceElement(PsiJavaCodeReferenceElement reference) { visitElement(reference); } @@ -248,10 +343,6 @@ public abstract class JavaElementVisitor extends PsiElementVisitor { */ public void visitReferenceExpression(PsiReferenceExpression expression) {} - public void visitMethodReferenceExpression(PsiMethodReferenceExpression expression) { - visitReferenceExpression(expression); - } - public void visitReferenceList(PsiReferenceList list) { visitElement(list); } @@ -260,14 +351,46 @@ public abstract class JavaElementVisitor extends PsiElementVisitor { visitElement(list); } - public void visitTypeParameterList(PsiTypeParameterList list) { - visitElement(list); + public void visitRequiresStatement(PsiRequiresStatement statement) { + visitModuleStatement(statement); + } + + public void visitResourceExpression(PsiResourceExpression expression) { + visitElement(expression); + } + + public void visitResourceList(PsiResourceList resourceList) { + visitElement(resourceList); + } + + public void visitResourceVariable(PsiResourceVariable variable) { + visitLocalVariable(variable); } public void visitReturnStatement(PsiReturnStatement statement) { visitStatement(statement); } + public void visitSnippetAttribute(PsiSnippetAttribute attribute) { + visitElement(attribute); + } + + public void visitSnippetAttributeList(PsiSnippetAttributeList attributeList) { + visitElement(attributeList); + } + + public void visitSnippetDocTagBody(PsiSnippetDocTagBody body) { + visitElement(body); + } + + public void visitSnippetDocTagValue(PsiSnippetDocTagValue value) { + visitElement(value); + } + + public void visitSnippetTag(PsiSnippetDocTag snippetDocTag) { + visitInlineDocTag(snippetDocTag); + } + public void visitStatement(PsiStatement statement) { visitElement(statement); } @@ -276,14 +399,18 @@ public abstract class JavaElementVisitor extends PsiElementVisitor { visitExpression(expression); } - public void visitSwitchLabelStatement(PsiSwitchLabelStatement statement) { - visitStatement(statement); + public void visitSwitchExpression(PsiSwitchExpression expression) { + visitExpression(expression); } public void visitSwitchLabeledRuleStatement(PsiSwitchLabeledRuleStatement statement) { visitStatement(statement); } + public void visitSwitchLabelStatement(PsiSwitchLabelStatement statement) { + visitStatement(statement); + } + public void visitSwitchStatement(PsiSwitchStatement statement) { visitStatement(statement); } @@ -304,30 +431,34 @@ public abstract class JavaElementVisitor extends PsiElementVisitor { visitStatement(statement); } - public void visitCatchSection(PsiCatchSection section) { - visitElement(section); - } - - public void visitResourceList(PsiResourceList resourceList) { - visitElement(resourceList); - } - - public void visitResourceVariable(PsiResourceVariable variable) { - visitLocalVariable(variable); - } - - public void visitResourceExpression(PsiResourceExpression expression) { - visitElement(expression); + public void visitTypeCastExpression(PsiTypeCastExpression expression) { + visitExpression(expression); } public void visitTypeElement(PsiTypeElement type) { visitElement(type); } - public void visitTypeCastExpression(PsiTypeCastExpression expression) { + public void visitTypeParameter(PsiTypeParameter classParameter) { + visitClass(classParameter); + } + + public void visitTypeParameterList(PsiTypeParameterList list) { + visitElement(list); + } + + public void visitTypeTestPattern(PsiTypeTestPattern pattern) { + visitPattern(pattern); + } + + public void visitUnaryExpression(PsiUnaryExpression expression) { visitExpression(expression); } + public void visitUsesStatement(PsiUsesStatement statement) { + visitModuleStatement(statement); + } + public void visitVariable(PsiVariable variable) { visitElement(variable); } @@ -336,139 +467,7 @@ public abstract class JavaElementVisitor extends PsiElementVisitor { 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); - } - - public void visitSwitchExpression(PsiSwitchExpression expression) { - visitExpression(expression); - } - - public void visitModule(PsiJavaModule module) { - visitElement(module); - } - - public void visitModuleReferenceElement(PsiJavaModuleReferenceElement refElement) { - visitElement(refElement); - } - - public void visitModuleStatement(PsiStatement statement) { + public void visitYieldStatement(PsiYieldStatement statement) { visitStatement(statement); } - - public void visitRequiresStatement(PsiRequiresStatement statement) { - visitModuleStatement(statement); - } - - public void visitPackageAccessibilityStatement(PsiPackageAccessibilityStatement statement) { - visitModuleStatement(statement); - } - - public void visitUsesStatement(PsiUsesStatement statement) { - visitModuleStatement(statement); - } - - public void visitProvidesStatement(PsiProvidesStatement statement) { - visitModuleStatement(statement); - } - - public void visitPattern(PsiPattern pattern) { - visitElement(pattern); - } - - public void visitTypeTestPattern(PsiTypeTestPattern pattern) { - visitPattern(pattern); - } - - public void visitParenthesizedPattern(PsiParenthesizedPattern pattern) { - visitPattern(pattern); - } - - public void visitGuardedPattern(PsiGuardedPattern pattern) { - visitPattern(pattern); - } - - public void visitDefaultCaseLabelElement(PsiDefaultCaseLabelElement element) { - visitElement(element); - } - - public void visitCaseLabelElementList(PsiCaseLabelElementList list) { - visitElement(list); - } - - public void visitPatternVariable(PsiPatternVariable variable) { - visitParameter(variable); - } - - public void visitSnippetTag(PsiSnippetDocTag snippetDocTag) { - visitInlineDocTag(snippetDocTag); - } - - public void visitSnippetDocTagValue(PsiSnippetDocTagValue value) { - visitElement(value); - } - - public void visitSnippetDocTagBody(PsiSnippetDocTagBody body) { - visitElement(body); - } - - public void visitSnippetAttribute(PsiSnippetAttribute attribute) { - visitElement(attribute); - } - - public void visitSnippetAttributeList(PsiSnippetAttributeList attributeList) { - visitElement(attributeList); - } } \ No newline at end of file diff --git a/platform/core-api/src/com/intellij/psi/PsiElementVisitor.java b/platform/core-api/src/com/intellij/psi/PsiElementVisitor.java index 4a342e1c5586..6cfec012a814 100644 --- a/platform/core-api/src/com/intellij/psi/PsiElementVisitor.java +++ b/platform/core-api/src/com/intellij/psi/PsiElementVisitor.java @@ -27,23 +27,31 @@ import org.jetbrains.annotations.NotNull; public abstract class PsiElementVisitor { public static final PsiElementVisitor EMPTY_VISITOR = new PsiElementVisitor() { }; + public void visitBinaryFile(@NotNull PsiBinaryFile file){ + visitFile(file); + } + + public void visitComment(@NotNull PsiComment comment) { + visitElement(comment); + } + + public void visitDirectory(@NotNull PsiDirectory dir) { + visitElement(dir); + } + public void visitElement(@NotNull PsiElement element) { ProgressIndicatorProvider.checkCanceled(); } + public void visitErrorElement(@NotNull PsiErrorElement element) { + visitElement(element); + } + public void visitFile(@NotNull PsiFile file) { visitElement(file); } - public void visitBinaryFile(@NotNull PsiBinaryFile file){ - visitFile(file); - } - - public void visitPlainTextFile(@NotNull PsiPlainTextFile file){ - visitFile(file); - } - - public void visitErrorElement(@NotNull PsiErrorElement element) { + public void visitOuterLanguageElement(@NotNull OuterLanguageElement element) { visitElement(element); } @@ -51,19 +59,11 @@ public abstract class PsiElementVisitor { visitElement(content); } - public void visitDirectory(@NotNull PsiDirectory dir) { - visitElement(dir); - } - - public void visitComment(@NotNull PsiComment comment) { - visitElement(comment); + public void visitPlainTextFile(@NotNull PsiPlainTextFile file){ + visitFile(file); } public void visitWhiteSpace(@NotNull PsiWhiteSpace space) { visitElement(space); } - - public void visitOuterLanguageElement(@NotNull OuterLanguageElement element) { - visitElement(element); - } }