mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
JavaElementVisitor: notnull
GitOrigin-RevId: e4b356ce28796e2631b0a631b5108e0348b77baf
This commit is contained in:
committed by
intellij-monorepo-bot
parent
5250628ec6
commit
3f2a2eaf34
+11
-11
@@ -158,7 +158,7 @@ public class JavaSmartStepIntoHandler extends JvmSmartStepIntoHandler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitAnonymousClass(PsiAnonymousClass aClass) {
|
||||
public void visitAnonymousClass(@NotNull PsiAnonymousClass aClass) {
|
||||
PsiExpressionList argumentList = aClass.getArgumentList();
|
||||
if (argumentList != null) {
|
||||
argumentList.accept(this);
|
||||
@@ -169,7 +169,7 @@ public class JavaSmartStepIntoHandler extends JvmSmartStepIntoHandler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitLambdaExpression(PsiLambdaExpression expression) {
|
||||
public void visitLambdaExpression(@NotNull PsiLambdaExpression expression) {
|
||||
boolean inLambda = myInsideLambda;
|
||||
myInsideLambda = true;
|
||||
super.visitLambdaExpression(expression);
|
||||
@@ -183,7 +183,7 @@ public class JavaSmartStepIntoHandler extends JvmSmartStepIntoHandler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodReferenceExpression(PsiMethodReferenceExpression expression) {
|
||||
public void visitMethodReferenceExpression(@NotNull PsiMethodReferenceExpression expression) {
|
||||
PsiElement element = expression.resolve();
|
||||
if (element instanceof PsiMethod) {
|
||||
PsiElement navMethod = element.getNavigationElement();
|
||||
@@ -194,33 +194,33 @@ public class JavaSmartStepIntoHandler extends JvmSmartStepIntoHandler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitField(PsiField field) {
|
||||
public void visitField(@NotNull PsiField field) {
|
||||
if (checkTextRange(field, false)) {
|
||||
super.visitField(field);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethod(PsiMethod method) {
|
||||
public void visitMethod(@NotNull PsiMethod method) {
|
||||
if (checkTextRange(method, false)) {
|
||||
super.visitMethod(method);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitStatement(PsiStatement statement) {
|
||||
public void visitStatement(@NotNull PsiStatement statement) {
|
||||
if (checkTextRange(statement, true)) {
|
||||
super.visitStatement(statement);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitIfStatement(PsiIfStatement statement) {
|
||||
public void visitIfStatement(@NotNull PsiIfStatement statement) {
|
||||
visitConditional(statement.getCondition(), statement.getThenBranch(), statement.getElseBranch());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitConditionalExpression(PsiConditionalExpression expression) {
|
||||
public void visitConditionalExpression(@NotNull PsiConditionalExpression expression) {
|
||||
visitConditional(expression.getCondition(), expression.getThenExpression(), expression.getElseExpression());
|
||||
}
|
||||
|
||||
@@ -253,7 +253,7 @@ public class JavaSmartStepIntoHandler extends JvmSmartStepIntoHandler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitExpression(PsiExpression expression) {
|
||||
public void visitExpression(@NotNull PsiExpression expression) {
|
||||
checkTextRange(expression, true);
|
||||
super.visitExpression(expression);
|
||||
}
|
||||
@@ -270,7 +270,7 @@ public class JavaSmartStepIntoHandler extends JvmSmartStepIntoHandler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitExpressionList(PsiExpressionList expressionList) {
|
||||
public void visitExpressionList(@NotNull PsiExpressionList expressionList) {
|
||||
visitArguments(expressionList, myContextStack.peekFirst());
|
||||
}
|
||||
|
||||
@@ -298,7 +298,7 @@ public class JavaSmartStepIntoHandler extends JvmSmartStepIntoHandler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitCallExpression(final PsiCallExpression expression) {
|
||||
public void visitCallExpression(final @NotNull PsiCallExpression expression) {
|
||||
int pos = -1;
|
||||
if (myContextStack.isEmpty()) { // always move the outmost item in the group to the top
|
||||
pos = targets.size();
|
||||
|
||||
@@ -410,7 +410,7 @@ public final class JVMNameUtil {
|
||||
try {
|
||||
parent.accept(new JavaRecursiveElementVisitor() {
|
||||
@Override
|
||||
public void visitAnonymousClass(PsiAnonymousClass cls) {
|
||||
public void visitAnonymousClass(@NotNull PsiAnonymousClass cls) {
|
||||
classIndex.set(classIndex.get() + 1);
|
||||
if (aClass.equals(cls)) {
|
||||
throw new ProcessCanceledException();
|
||||
|
||||
@@ -468,7 +468,7 @@ public class JavaStackFrame extends XStackFrame implements JVMStackFrameInfoProv
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodCallExpression(final PsiMethodCallExpression expression) {
|
||||
public void visitMethodCallExpression(final @NotNull PsiMethodCallExpression expression) {
|
||||
if (myCollectExpressions) {
|
||||
final PsiMethod psiMethod = expression.resolveMethod();
|
||||
if (psiMethod != null && !DebuggerUtils.hasSideEffectsOrReferencesMissingVars(expression, myVisibleLocals)) {
|
||||
@@ -479,7 +479,7 @@ public class JavaStackFrame extends XStackFrame implements JVMStackFrameInfoProv
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReferenceExpression(final PsiReferenceExpression reference) {
|
||||
public void visitReferenceExpression(final @NotNull PsiReferenceExpression reference) {
|
||||
if (myLineRange.intersects(reference.getTextRange())) {
|
||||
final PsiElement psiElement = reference.resolve();
|
||||
if (psiElement instanceof PsiVariable) {
|
||||
@@ -528,7 +528,7 @@ public class JavaStackFrame extends XStackFrame implements JVMStackFrameInfoProv
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitArrayAccessExpression(final PsiArrayAccessExpression expression) {
|
||||
public void visitArrayAccessExpression(final @NotNull PsiArrayAccessExpression expression) {
|
||||
if (myCollectExpressions && !DebuggerUtils.hasSideEffectsOrReferencesMissingVars(expression, myVisibleLocals)) {
|
||||
myExpressions.add(new TextWithImportsImpl(expression));
|
||||
}
|
||||
@@ -536,13 +536,13 @@ public class JavaStackFrame extends XStackFrame implements JVMStackFrameInfoProv
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitParameter(final PsiParameter parameter) {
|
||||
public void visitParameter(final @NotNull PsiParameter parameter) {
|
||||
processVariable(parameter);
|
||||
super.visitParameter(parameter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitLocalVariable(final PsiLocalVariable variable) {
|
||||
public void visitLocalVariable(final @NotNull PsiLocalVariable variable) {
|
||||
processVariable(variable);
|
||||
super.visitLocalVariable(variable);
|
||||
}
|
||||
@@ -554,7 +554,7 @@ public class JavaStackFrame extends XStackFrame implements JVMStackFrameInfoProv
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitClass(final PsiClass aClass) {
|
||||
public void visitClass(final @NotNull PsiClass aClass) {
|
||||
// Do not step in to local and anonymous classes...
|
||||
}
|
||||
}
|
||||
@@ -682,7 +682,7 @@ public class JavaStackFrame extends XStackFrame implements JVMStackFrameInfoProv
|
||||
private static TextRange adjustRange(final PsiElement element, final TextRange originalRange) {
|
||||
final Ref<TextRange> rangeRef = new Ref<>(originalRange);
|
||||
element.accept(new JavaRecursiveElementVisitor() {
|
||||
@Override public void visitExpressionStatement(final PsiExpressionStatement statement) {
|
||||
@Override public void visitExpressionStatement(final @NotNull PsiExpressionStatement statement) {
|
||||
final TextRange stRange = statement.getTextRange();
|
||||
if (originalRange.intersects(stRange)) {
|
||||
final TextRange currentRange = rangeRef.get();
|
||||
|
||||
@@ -590,7 +590,7 @@ public class PositionManagerImpl implements PositionManager, MultiRequestPositio
|
||||
myMethodSignature = methodSignature;
|
||||
}
|
||||
|
||||
@Override public void visitClass(PsiClass aClass) {
|
||||
@Override public void visitClass(@NotNull PsiClass aClass) {
|
||||
if (myCompiledMethod == null) {
|
||||
if (getClassReferences(aClass, SourcePosition.createFromElement(aClass)).anyMatch(referenceType -> referenceType.name().equals(myClassName))) {
|
||||
myCompiledClass = aClass;
|
||||
@@ -600,7 +600,7 @@ public class PositionManagerImpl implements PositionManager, MultiRequestPositio
|
||||
}
|
||||
}
|
||||
|
||||
@Override public void visitMethod(PsiMethod method) {
|
||||
@Override public void visitMethod(@NotNull PsiMethod method) {
|
||||
if (myCompiledMethod == null) {
|
||||
try {
|
||||
String methodName = JVMNameUtil.getJVMMethodName(method);
|
||||
|
||||
+1
-1
@@ -99,7 +99,7 @@ public class CodeFragmentFactoryContextWrapper extends CodeFragmentFactory {
|
||||
JavaPsiFacade.getElementFactory(project).createCodeBlockFromText("{" + text + "}", context);
|
||||
codeFragment.accept(new JavaRecursiveElementVisitor() {
|
||||
@Override
|
||||
public void visitLocalVariable(PsiLocalVariable variable) {
|
||||
public void visitLocalVariable(@NotNull PsiLocalVariable variable) {
|
||||
final String name = variable.getName();
|
||||
variable.putUserData(LABEL_VARIABLE_VALUE_KEY, markupVariables.getSecond().get(name));
|
||||
}
|
||||
|
||||
+46
-46
@@ -84,7 +84,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitCodeFragment(JavaCodeFragment codeFragment) {
|
||||
public void visitCodeFragment(@NotNull JavaCodeFragment codeFragment) {
|
||||
myVisitedFragments.add(codeFragment);
|
||||
ArrayList<Evaluator> evaluators = new ArrayList<>();
|
||||
|
||||
@@ -113,7 +113,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitAssignmentExpression(PsiAssignmentExpression expression) {
|
||||
public void visitAssignmentExpression(@NotNull PsiAssignmentExpression expression) {
|
||||
final PsiExpression rExpression = expression.getRExpression();
|
||||
if(rExpression == null) {
|
||||
throwExpressionInvalid(expression);
|
||||
@@ -190,7 +190,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitTryStatement(PsiTryStatement statement) {
|
||||
public void visitTryStatement(@NotNull PsiTryStatement statement) {
|
||||
if (statement.getResourceList() != null) {
|
||||
throw new EvaluateRuntimeException(new UnsupportedExpressionException("Try with resources is not yet supported"));
|
||||
}
|
||||
@@ -223,7 +223,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitThrowStatement(PsiThrowStatement statement) {
|
||||
public void visitThrowStatement(@NotNull PsiThrowStatement statement) {
|
||||
Evaluator accept = accept(statement.getException());
|
||||
if (accept != null) {
|
||||
myResult = new ThrowEvaluator(accept);
|
||||
@@ -231,22 +231,22 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReturnStatement(PsiReturnStatement statement) {
|
||||
public void visitReturnStatement(@NotNull PsiReturnStatement statement) {
|
||||
myResult = new ReturnEvaluator(accept(statement.getReturnValue()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitYieldStatement(PsiYieldStatement statement) {
|
||||
public void visitYieldStatement(@NotNull PsiYieldStatement statement) {
|
||||
myResult = new SwitchEvaluator.YieldEvaluator(accept(statement.getExpression()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSynchronizedStatement(PsiSynchronizedStatement statement) {
|
||||
public void visitSynchronizedStatement(@NotNull PsiSynchronizedStatement statement) {
|
||||
throw new EvaluateRuntimeException(new UnsupportedExpressionException("Synchronized is not yet supported"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitStatement(PsiStatement statement) {
|
||||
public void visitStatement(@NotNull PsiStatement statement) {
|
||||
LOG.error(JavaDebuggerBundle.message("evaluation.error.statement.not.supported", statement.getText()));
|
||||
throwEvaluateException(JavaDebuggerBundle.message("evaluation.error.statement.not.supported", statement.getText()));
|
||||
}
|
||||
@@ -270,7 +270,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitCodeBlock(PsiCodeBlock block) {
|
||||
public void visitCodeBlock(@NotNull PsiCodeBlock block) {
|
||||
CodeFragmentEvaluator oldFragmentEvaluator = setNewCodeFragmentEvaluator();
|
||||
try {
|
||||
myResult = new BlockStatementEvaluator(visitStatements(block.getStatements()));
|
||||
@@ -281,12 +281,12 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitBlockStatement(PsiBlockStatement statement) {
|
||||
public void visitBlockStatement(@NotNull PsiBlockStatement statement) {
|
||||
visitCodeBlock(statement.getCodeBlock());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitLabeledStatement(PsiLabeledStatement labeledStatement) {
|
||||
public void visitLabeledStatement(@NotNull PsiLabeledStatement labeledStatement) {
|
||||
PsiStatement statement = labeledStatement.getStatement();
|
||||
if (statement != null) {
|
||||
statement.accept(this);
|
||||
@@ -302,7 +302,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitDoWhileStatement(PsiDoWhileStatement statement) {
|
||||
public void visitDoWhileStatement(@NotNull PsiDoWhileStatement statement) {
|
||||
Evaluator bodyEvaluator = accept(statement.getBody());
|
||||
Evaluator conditionEvaluator = accept(statement.getCondition());
|
||||
if (conditionEvaluator != null) {
|
||||
@@ -311,7 +311,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitWhileStatement(PsiWhileStatement statement) {
|
||||
public void visitWhileStatement(@NotNull PsiWhileStatement statement) {
|
||||
CodeFragmentEvaluator oldFragmentEvaluator = setNewCodeFragmentEvaluator();
|
||||
try {
|
||||
Evaluator bodyEvaluator = accept(statement.getBody());
|
||||
@@ -326,7 +326,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitForStatement(PsiForStatement statement) {
|
||||
public void visitForStatement(@NotNull PsiForStatement statement) {
|
||||
CodeFragmentEvaluator oldFragmentEvaluator = setNewCodeFragmentEvaluator();
|
||||
try {
|
||||
Evaluator initializerEvaluator = accept(statement.getInitialization());
|
||||
@@ -346,7 +346,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitForeachStatement(PsiForeachStatement statement) {
|
||||
public void visitForeachStatement(@NotNull PsiForeachStatement statement) {
|
||||
CodeFragmentEvaluator oldFragmentEvaluator = setNewCodeFragmentEvaluator();
|
||||
try {
|
||||
PsiParameter parameter = statement.getIterationParameter();
|
||||
@@ -375,7 +375,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitIfStatement(PsiIfStatement statement) {
|
||||
public void visitIfStatement(@NotNull PsiIfStatement statement) {
|
||||
CodeFragmentEvaluator oldFragmentEvaluator = setNewCodeFragmentEvaluator();
|
||||
try {
|
||||
PsiStatement thenBranch = statement.getThenBranch();
|
||||
@@ -412,12 +412,12 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSwitchStatement(PsiSwitchStatement statement) {
|
||||
public void visitSwitchStatement(@NotNull PsiSwitchStatement statement) {
|
||||
visitSwitchBlock(statement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSwitchExpression(PsiSwitchExpression expression) {
|
||||
public void visitSwitchExpression(@NotNull PsiSwitchExpression expression) {
|
||||
visitSwitchBlock(expression);
|
||||
}
|
||||
|
||||
@@ -487,51 +487,51 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSwitchLabelStatement(PsiSwitchLabelStatement statement) {
|
||||
public void visitSwitchLabelStatement(@NotNull PsiSwitchLabelStatement statement) {
|
||||
visitSwitchLabelStatementBase(statement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSwitchLabeledRuleStatement(PsiSwitchLabeledRuleStatement statement) {
|
||||
public void visitSwitchLabeledRuleStatement(@NotNull PsiSwitchLabeledRuleStatement statement) {
|
||||
visitSwitchLabelStatementBase(statement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitBreakStatement(PsiBreakStatement statement) {
|
||||
public void visitBreakStatement(@NotNull PsiBreakStatement statement) {
|
||||
PsiIdentifier labelIdentifier = statement.getLabelIdentifier();
|
||||
myResult = BreakContinueStatementEvaluator.createBreakEvaluator(labelIdentifier != null ? labelIdentifier.getText() : null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitContinueStatement(PsiContinueStatement statement) {
|
||||
public void visitContinueStatement(@NotNull PsiContinueStatement statement) {
|
||||
PsiIdentifier labelIdentifier = statement.getLabelIdentifier();
|
||||
myResult = BreakContinueStatementEvaluator.createContinueEvaluator(labelIdentifier != null ? labelIdentifier.getText() : null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitExpressionListStatement(PsiExpressionListStatement statement) {
|
||||
public void visitExpressionListStatement(@NotNull PsiExpressionListStatement statement) {
|
||||
myResult = new ExpressionListEvaluator(ContainerUtil.mapNotNull(statement.getExpressionList().getExpressions(), this::accept));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitEmptyStatement(PsiEmptyStatement statement) {
|
||||
public void visitEmptyStatement(@NotNull PsiEmptyStatement statement) {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitExpressionStatement(PsiExpressionStatement statement) {
|
||||
public void visitExpressionStatement(@NotNull PsiExpressionStatement statement) {
|
||||
statement.getExpression().accept(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitExpression(PsiExpression expression) {
|
||||
public void visitExpression(@NotNull PsiExpression expression) {
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("visitExpression " + expression);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitPolyadicExpression(PsiPolyadicExpression wideExpression) {
|
||||
public void visitPolyadicExpression(@NotNull PsiPolyadicExpression wideExpression) {
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("visitPolyadicExpression " + wideExpression);
|
||||
}
|
||||
@@ -716,7 +716,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitDeclarationStatement(PsiDeclarationStatement statement) {
|
||||
public void visitDeclarationStatement(@NotNull PsiDeclarationStatement statement) {
|
||||
List<Evaluator> evaluators = new ArrayList<>();
|
||||
|
||||
PsiElement[] declaredElements = statement.getDeclaredElements();
|
||||
@@ -784,7 +784,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitConditionalExpression(PsiConditionalExpression expression) {
|
||||
public void visitConditionalExpression(@NotNull PsiConditionalExpression expression) {
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("visitConditionalExpression " + expression);
|
||||
}
|
||||
@@ -818,7 +818,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("visitReferenceExpression " + expression);
|
||||
}
|
||||
@@ -978,7 +978,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSuperExpression(PsiSuperExpression expression) {
|
||||
public void visitSuperExpression(@NotNull PsiSuperExpression expression) {
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("visitSuperExpression " + expression);
|
||||
}
|
||||
@@ -986,7 +986,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitThisExpression(PsiThisExpression expression) {
|
||||
public void visitThisExpression(@NotNull PsiThisExpression expression) {
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("visitThisExpression " + expression);
|
||||
}
|
||||
@@ -1024,7 +1024,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitInstanceOfExpression(PsiInstanceOfExpression expression) {
|
||||
public void visitInstanceOfExpression(@NotNull PsiInstanceOfExpression expression) {
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("visitInstanceOfExpression " + expression);
|
||||
}
|
||||
@@ -1060,7 +1060,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitParenthesizedExpression(PsiParenthesizedExpression expression) {
|
||||
public void visitParenthesizedExpression(@NotNull PsiParenthesizedExpression expression) {
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("visitParenthesizedExpression " + expression);
|
||||
}
|
||||
@@ -1071,7 +1071,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitPostfixExpression(PsiPostfixExpression expression) {
|
||||
public void visitPostfixExpression(@NotNull PsiPostfixExpression expression) {
|
||||
if(expression.getType() == null) {
|
||||
throwEvaluateException(JavaDebuggerBundle.message("evaluation.error.unknown.expression.type", expression.getText()));
|
||||
}
|
||||
@@ -1098,7 +1098,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitPrefixExpression(final PsiPrefixExpression expression) {
|
||||
public void visitPrefixExpression(final @NotNull PsiPrefixExpression expression) {
|
||||
final PsiType expressionType = expression.getType();
|
||||
if(expressionType == null) {
|
||||
throwEvaluateException(JavaDebuggerBundle.message("evaluation.error.unknown.expression.type", expression.getText()));
|
||||
@@ -1147,7 +1147,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodCallExpression(PsiMethodCallExpression expression) {
|
||||
public void visitMethodCallExpression(@NotNull PsiMethodCallExpression expression) {
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("visitMethodCallExpression " + expression);
|
||||
}
|
||||
@@ -1250,7 +1250,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitLiteralExpression(PsiLiteralExpression expression) {
|
||||
public void visitLiteralExpression(@NotNull PsiLiteralExpression expression) {
|
||||
final HighlightInfo parsingError = HighlightUtil.checkLiteralExpressionParsingError(expression, PsiUtil.getLanguageLevel(expression), null);
|
||||
if (parsingError != null) {
|
||||
throwEvaluateException(parsingError.getDescription());
|
||||
@@ -1267,7 +1267,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitArrayAccessExpression(PsiArrayAccessExpression expression) {
|
||||
public void visitArrayAccessExpression(@NotNull PsiArrayAccessExpression expression) {
|
||||
final PsiExpression indexExpression = expression.getIndexExpression();
|
||||
if(indexExpression == null) {
|
||||
throwExpressionInvalid(expression);
|
||||
@@ -1308,7 +1308,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitTypeCastExpression(PsiTypeCastExpression expression) {
|
||||
public void visitTypeCastExpression(@NotNull PsiTypeCastExpression expression) {
|
||||
PsiExpression operandExpr = expression.getOperand();
|
||||
if (operandExpr == null) {
|
||||
throwExpressionInvalid(expression);
|
||||
@@ -1365,7 +1365,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
|
||||
|
||||
@Override
|
||||
public void visitClassObjectAccessExpression(PsiClassObjectAccessExpression expression) {
|
||||
public void visitClassObjectAccessExpression(@NotNull PsiClassObjectAccessExpression expression) {
|
||||
PsiType type = expression.getOperand().getType();
|
||||
|
||||
if (type instanceof PsiPrimitiveType) {
|
||||
@@ -1378,13 +1378,13 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitLambdaExpression(PsiLambdaExpression expression) {
|
||||
public void visitLambdaExpression(@NotNull PsiLambdaExpression expression) {
|
||||
throw new EvaluateRuntimeException(new UnsupportedExpressionException(
|
||||
JavaDebuggerBundle.message("evaluation.error.lambda.evaluation.not.supported")));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodReferenceExpression(PsiMethodReferenceExpression expression) {
|
||||
public void visitMethodReferenceExpression(@NotNull PsiMethodReferenceExpression expression) {
|
||||
PsiElement qualifier = expression.getQualifier();
|
||||
PsiType interfaceType = expression.getFunctionalInterfaceType();
|
||||
if (!Registry.is("debugger.compiling.evaluator.method.refs") && interfaceType != null && qualifier != null) {
|
||||
@@ -1464,7 +1464,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitNewExpression(final PsiNewExpression expression) {
|
||||
public void visitNewExpression(final @NotNull PsiNewExpression expression) {
|
||||
PsiType expressionPsiType = expression.getType();
|
||||
if (expressionPsiType instanceof PsiArrayType) {
|
||||
Evaluator dimensionEvaluator = null;
|
||||
@@ -1592,7 +1592,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitArrayInitializerExpression(PsiArrayInitializerExpression expression) {
|
||||
public void visitArrayInitializerExpression(@NotNull PsiArrayInitializerExpression expression) {
|
||||
PsiExpression[] initializers = expression.getInitializers();
|
||||
Evaluator[] evaluators = new Evaluator[initializers.length];
|
||||
final PsiType type = expression.getType();
|
||||
@@ -1618,7 +1618,7 @@ public final class EvaluatorBuilderImpl implements EvaluatorBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitAssertStatement(PsiAssertStatement statement) {
|
||||
public void visitAssertStatement(@NotNull PsiAssertStatement statement) {
|
||||
PsiExpression condition = statement.getAssertCondition();
|
||||
if (condition == null) {
|
||||
throwEvaluateException("Assert condition expected in: " + statement.getText());
|
||||
|
||||
@@ -992,7 +992,7 @@ public abstract class DebuggerUtilsEx extends DebuggerUtils {
|
||||
final List<PsiLambdaExpression> lambdas = new SmartList<>();
|
||||
final PsiElementVisitor lambdaCollector = new JavaRecursiveElementVisitor() {
|
||||
@Override
|
||||
public void visitLambdaExpression(PsiLambdaExpression expression) {
|
||||
public void visitLambdaExpression(@NotNull PsiLambdaExpression expression) {
|
||||
super.visitLambdaExpression(expression);
|
||||
if (!onlyOnTheLine || getFirstElementOnTheLine(expression, document, line) != null) {
|
||||
lambdas.add(expression);
|
||||
|
||||
@@ -396,7 +396,7 @@ public final class LocalVariablesUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitLocalVariable(PsiLocalVariable variable) {
|
||||
public void visitLocalVariable(@NotNull PsiLocalVariable variable) {
|
||||
super.visitLocalVariable(variable);
|
||||
if (!myReached) {
|
||||
appendName(variable);
|
||||
@@ -404,7 +404,7 @@ public final class LocalVariablesUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSynchronizedStatement(PsiSynchronizedStatement statement) {
|
||||
public void visitSynchronizedStatement(@NotNull PsiSynchronizedStatement statement) {
|
||||
if (shouldVisit(statement)) {
|
||||
myIndexStack.push(myCurrentSlotIndex);
|
||||
try {
|
||||
@@ -429,7 +429,7 @@ public final class LocalVariablesUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitCodeBlock(PsiCodeBlock block) {
|
||||
public void visitCodeBlock(@NotNull PsiCodeBlock block) {
|
||||
if (shouldVisit(block)) {
|
||||
myIndexStack.push(myCurrentSlotIndex);
|
||||
try {
|
||||
@@ -442,7 +442,7 @@ public final class LocalVariablesUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitForStatement(PsiForStatement statement) {
|
||||
public void visitForStatement(@NotNull PsiForStatement statement) {
|
||||
if (shouldVisit(statement)) {
|
||||
myIndexStack.push(myCurrentSlotIndex);
|
||||
try {
|
||||
@@ -455,7 +455,7 @@ public final class LocalVariablesUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitForeachStatement(PsiForeachStatement statement) {
|
||||
public void visitForeachStatement(@NotNull PsiForeachStatement statement) {
|
||||
if (shouldVisit(statement)) {
|
||||
myIndexStack.push(myCurrentSlotIndex);
|
||||
try {
|
||||
@@ -478,7 +478,7 @@ public final class LocalVariablesUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitCatchSection(PsiCatchSection section) {
|
||||
public void visitCatchSection(@NotNull PsiCatchSection section) {
|
||||
if (shouldVisit(section)) {
|
||||
myIndexStack.push(myCurrentSlotIndex);
|
||||
try {
|
||||
@@ -492,7 +492,7 @@ public final class LocalVariablesUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitResourceList(PsiResourceList resourceList) {
|
||||
public void visitResourceList(@NotNull PsiResourceList resourceList) {
|
||||
if (shouldVisit(resourceList)) {
|
||||
myIndexStack.push(myCurrentSlotIndex);
|
||||
try {
|
||||
@@ -505,7 +505,7 @@ public final class LocalVariablesUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitClass(PsiClass aClass) {
|
||||
public void visitClass(@NotNull PsiClass aClass) {
|
||||
// skip local and anonymous classes
|
||||
}
|
||||
}
|
||||
|
||||
@@ -491,12 +491,12 @@ public abstract class DebuggerUtils {
|
||||
final Ref<Boolean> rv = new Ref<>(Boolean.FALSE);
|
||||
element.accept(new JavaRecursiveElementWalkingVisitor() {
|
||||
@Override
|
||||
public void visitPostfixExpression(final PsiPostfixExpression expression) {
|
||||
public void visitPostfixExpression(final @NotNull PsiPostfixExpression expression) {
|
||||
rv.set(Boolean.TRUE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReferenceExpression(final PsiReferenceExpression expression) {
|
||||
public void visitReferenceExpression(final @NotNull PsiReferenceExpression expression) {
|
||||
final PsiElement psiElement = expression.resolve();
|
||||
if (psiElement instanceof PsiLocalVariable) {
|
||||
if (visibleLocalVariables != null) {
|
||||
@@ -518,7 +518,7 @@ public abstract class DebuggerUtils {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitPrefixExpression(final PsiPrefixExpression expression) {
|
||||
public void visitPrefixExpression(final @NotNull PsiPrefixExpression expression) {
|
||||
final IElementType op = expression.getOperationTokenType();
|
||||
if (JavaTokenType.PLUSPLUS.equals(op) || JavaTokenType.MINUSMINUS.equals(op)) {
|
||||
rv.set(Boolean.TRUE);
|
||||
@@ -529,12 +529,12 @@ public abstract class DebuggerUtils {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitAssignmentExpression(final PsiAssignmentExpression expression) {
|
||||
public void visitAssignmentExpression(final @NotNull PsiAssignmentExpression expression) {
|
||||
rv.set(Boolean.TRUE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitCallExpression(final PsiCallExpression callExpression) {
|
||||
public void visitCallExpression(final @NotNull PsiCallExpression callExpression) {
|
||||
rv.set(Boolean.TRUE);
|
||||
//final PsiMethod method = callExpression.resolveMethod();
|
||||
//if (method == null || !isSimpleGetter(method)) {
|
||||
|
||||
@@ -277,7 +277,7 @@ public final class JavaModuleInsight extends ModuleInsight {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitRequiresStatement(PsiRequiresStatement statement) {
|
||||
public void visitRequiresStatement(@NotNull PsiRequiresStatement statement) {
|
||||
super.visitRequiresStatement(statement);
|
||||
String referenceText = statement.getModuleName();
|
||||
if (referenceText != null) {
|
||||
@@ -286,7 +286,7 @@ public final class JavaModuleInsight extends ModuleInsight {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitPackageAccessibilityStatement(PsiPackageAccessibilityStatement statement) {
|
||||
public void visitPackageAccessibilityStatement(@NotNull PsiPackageAccessibilityStatement statement) {
|
||||
super.visitPackageAccessibilityStatement(statement);
|
||||
if (statement.getRole() == PsiPackageAccessibilityStatement.Role.EXPORTS) {
|
||||
PsiJavaCodeReferenceElement reference = statement.getPackageReference();
|
||||
|
||||
+3
-3
@@ -48,19 +48,19 @@ public abstract class AbstractBaseJavaLocalInspectionTool extends LocalInspectio
|
||||
public PsiElementVisitor buildVisitor(@NotNull final ProblemsHolder holder, final boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitMethod(PsiMethod method) {
|
||||
public void visitMethod(@NotNull PsiMethod method) {
|
||||
super.visitMethod(method);
|
||||
addDescriptors(checkMethod(method, holder.getManager(), isOnTheFly));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitClass(PsiClass aClass) {
|
||||
public void visitClass(@NotNull PsiClass aClass) {
|
||||
super.visitClass(aClass);
|
||||
addDescriptors(checkClass(aClass, holder.getManager(), isOnTheFly));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitField(PsiField field) {
|
||||
public void visitField(@NotNull PsiField field) {
|
||||
super.visitField(field);
|
||||
addDescriptors(checkField(field, holder.getManager(), isOnTheFly));
|
||||
}
|
||||
|
||||
+1
-1
@@ -160,7 +160,7 @@ public class JavaTextBlockIndentPass extends TextEditorHighlightingPass {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitLiteralExpression(PsiLiteralExpression expression) {
|
||||
public void visitLiteralExpression(@NotNull PsiLiteralExpression expression) {
|
||||
TextBlockModel model = TextBlockModel.create(expression);
|
||||
if (model == null) return;
|
||||
TextRange contentRange = getContentRange(model.myRange);
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ public class SuppressWarningsFoldingBuilder extends FoldingBuilderEx {
|
||||
final List<FoldingDescriptor> result = new ArrayList<>();
|
||||
root.accept(new JavaRecursiveElementWalkingVisitor(){
|
||||
@Override
|
||||
public void visitAnnotation(PsiAnnotation annotation) {
|
||||
public void visitAnnotation(@NotNull PsiAnnotation annotation) {
|
||||
if (Comparing.strEqual(annotation.getQualifiedName(), SuppressWarnings.class.getName())) {
|
||||
result.add(new FoldingDescriptor(annotation.getNode(), annotation.getTextRange(), null, placeholderText(annotation),
|
||||
JavaCodeFoldingSettings.getInstance().isCollapseSuppressWarnings(), Collections.emptySet()));
|
||||
|
||||
+1
-1
@@ -854,7 +854,7 @@ public final class HighlightClassUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReferenceElement(PsiJavaCodeReferenceElement reference) {
|
||||
public void visitReferenceElement(@NotNull PsiJavaCodeReferenceElement reference) {
|
||||
super.visitReferenceElement(reference);
|
||||
PsiElement resolve = reference.resolve();
|
||||
if (resolve instanceof PsiClass) {
|
||||
|
||||
+1
-1
@@ -787,7 +787,7 @@ public final class HighlightControlFlowUtil {
|
||||
Ref<Boolean> stopped = new Ref<>(false);
|
||||
codeBlock.accept(new JavaRecursiveElementWalkingVisitor() {
|
||||
@Override
|
||||
public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
if (expression.isReferenceTo(variable) &&
|
||||
PsiUtil.isAccessedForWriting(expression) &&
|
||||
ControlFlowUtil.isVariableAssignedInLoop(expression, variable)) {
|
||||
|
||||
+3
-3
@@ -2249,7 +2249,7 @@ public final class HighlightUtil {
|
||||
private boolean hasYield;
|
||||
|
||||
@Override
|
||||
public void visitYieldStatement(PsiYieldStatement statement) {
|
||||
public void visitYieldStatement(@NotNull PsiYieldStatement statement) {
|
||||
if (statement.findEnclosingExpression() == switchExpression) {
|
||||
hasYield = true;
|
||||
stopWalking();
|
||||
@@ -2258,11 +2258,11 @@ public final class HighlightUtil {
|
||||
|
||||
// do not go inside to save time: declarations cannot contain yield that points to outer switch expression
|
||||
@Override
|
||||
public void visitDeclarationStatement(PsiDeclarationStatement statement) {}
|
||||
public void visitDeclarationStatement(@NotNull PsiDeclarationStatement statement) {}
|
||||
|
||||
// do not go inside to save time: expressions cannot contain yield that points to outer switch expression
|
||||
@Override
|
||||
public void visitExpression(PsiExpression expression) {}
|
||||
public void visitExpression(@NotNull PsiExpression expression) {}
|
||||
}
|
||||
YieldFinder finder = new YieldFinder();
|
||||
scope.accept(finder);
|
||||
|
||||
+74
-74
@@ -283,7 +283,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitAnnotation(PsiAnnotation annotation) {
|
||||
public void visitAnnotation(@NotNull PsiAnnotation annotation) {
|
||||
super.visitAnnotation(annotation);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(checkFeature(annotation, HighlightingFeature.ANNOTATIONS));
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(AnnotationsHighlightUtil.checkApplicability(annotation, myLanguageLevel, myFile));
|
||||
@@ -304,7 +304,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitAnnotationArrayInitializer(PsiArrayInitializerMemberValue initializer) {
|
||||
public void visitAnnotationArrayInitializer(@NotNull PsiArrayInitializerMemberValue initializer) {
|
||||
PsiMethod method = null;
|
||||
|
||||
PsiElement parent = initializer.getParent();
|
||||
@@ -331,7 +331,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitAnnotationMethod(PsiAnnotationMethod method) {
|
||||
public void visitAnnotationMethod(@NotNull PsiAnnotationMethod method) {
|
||||
PsiType returnType = method.getReturnType();
|
||||
PsiAnnotationMemberValue value = method.getDefaultValue();
|
||||
if (returnType != null && value != null) {
|
||||
@@ -356,7 +356,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitArrayInitializerExpression(PsiArrayInitializerExpression expression) {
|
||||
public void visitArrayInitializerExpression(@NotNull PsiArrayInitializerExpression expression) {
|
||||
super.visitArrayInitializerExpression(expression);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkArrayInitializerApplicable(expression));
|
||||
if (!(expression.getParent() instanceof PsiNewExpression)) {
|
||||
@@ -365,20 +365,20 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitAssignmentExpression(PsiAssignmentExpression assignment) {
|
||||
public void visitAssignmentExpression(@NotNull PsiAssignmentExpression assignment) {
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkAssignmentCompatibleTypes(assignment));
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkAssignmentOperatorApplicable(assignment));
|
||||
if (!myHolder.hasErrorResults()) visitExpression(assignment);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitPolyadicExpression(PsiPolyadicExpression expression) {
|
||||
public void visitPolyadicExpression(@NotNull PsiPolyadicExpression expression) {
|
||||
super.visitPolyadicExpression(expression);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkPolyadicOperatorApplicable(expression));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitLambdaExpression(PsiLambdaExpression expression) {
|
||||
public void visitLambdaExpression(@NotNull PsiLambdaExpression expression) {
|
||||
myHolder.add(checkFeature(expression, HighlightingFeature.LAMBDA_EXPRESSIONS));
|
||||
PsiElement parent = PsiUtil.skipParenthesizedExprUp(expression.getParent());
|
||||
if (toReportFunctionalExpressionProblemOnParent(parent)) return;
|
||||
@@ -460,13 +460,13 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitBreakStatement(PsiBreakStatement statement) {
|
||||
public void visitBreakStatement(@NotNull PsiBreakStatement statement) {
|
||||
super.visitBreakStatement(statement);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkBreakTarget(statement, myLanguageLevel));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitYieldStatement(PsiYieldStatement statement) {
|
||||
public void visitYieldStatement(@NotNull PsiYieldStatement statement) {
|
||||
super.visitYieldStatement(statement);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkYieldOutsideSwitchExpression(statement));
|
||||
if (!myHolder.hasErrorResults()) {
|
||||
@@ -478,7 +478,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitExpressionStatement(PsiExpressionStatement statement) {
|
||||
public void visitExpressionStatement(@NotNull PsiExpressionStatement statement) {
|
||||
super.visitExpressionStatement(statement);
|
||||
PsiElement parent = statement.getParent();
|
||||
if (parent instanceof PsiSwitchLabeledRuleStatement) {
|
||||
@@ -490,7 +490,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitClass(PsiClass aClass) {
|
||||
public void visitClass(@NotNull PsiClass aClass) {
|
||||
super.visitClass(aClass);
|
||||
if (aClass instanceof PsiSyntheticClass) return;
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(GenericsHighlightUtil.checkInterfaceMultipleInheritance(aClass));
|
||||
@@ -507,7 +507,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitClassInitializer(PsiClassInitializer initializer) {
|
||||
public void visitClassInitializer(@NotNull PsiClassInitializer initializer) {
|
||||
super.visitClassInitializer(initializer);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightClassUtil.checkIllegalInstanceMemberInRecord(initializer));
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightControlFlowUtil.checkInitializerCompleteNormally(initializer));
|
||||
@@ -518,7 +518,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitClassObjectAccessExpression(PsiClassObjectAccessExpression expression) {
|
||||
public void visitClassObjectAccessExpression(@NotNull PsiClassObjectAccessExpression expression) {
|
||||
super.visitClassObjectAccessExpression(expression);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(GenericsHighlightUtil.checkClassObjectAccessExpression(expression));
|
||||
}
|
||||
@@ -532,13 +532,13 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitContinueStatement(PsiContinueStatement statement) {
|
||||
public void visitContinueStatement(@NotNull PsiContinueStatement statement) {
|
||||
super.visitContinueStatement(statement);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkContinueTarget(statement, myLanguageLevel));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitJavaToken(PsiJavaToken token) {
|
||||
public void visitJavaToken(@NotNull PsiJavaToken token) {
|
||||
super.visitJavaToken(token);
|
||||
|
||||
IElementType type = token.getTokenType();
|
||||
@@ -569,12 +569,12 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitDocComment(PsiDocComment comment) {
|
||||
public void visitDocComment(@NotNull PsiDocComment comment) {
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkUnclosedComment(comment));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitEnumConstant(PsiEnumConstant enumConstant) {
|
||||
public void visitEnumConstant(@NotNull PsiEnumConstant enumConstant) {
|
||||
super.visitEnumConstant(enumConstant);
|
||||
if (!myHolder.hasErrorResults()) GenericsHighlightUtil.checkEnumConstantForConstructorProblems(enumConstant, myHolder, myJavaSdkVersion);
|
||||
if (!myHolder.hasErrorResults()) registerConstructorCall(enumConstant);
|
||||
@@ -582,7 +582,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitEnumConstantInitializer(PsiEnumConstantInitializer enumConstantInitializer) {
|
||||
public void visitEnumConstantInitializer(@NotNull PsiEnumConstantInitializer enumConstantInitializer) {
|
||||
super.visitEnumConstantInitializer(enumConstantInitializer);
|
||||
if (!myHolder.hasErrorResults()) {
|
||||
TextRange textRange = HighlightNamesUtil.getClassDeclarationTextRange(enumConstantInitializer);
|
||||
@@ -591,7 +591,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitExpression(PsiExpression expression) {
|
||||
public void visitExpression(@NotNull PsiExpression expression) {
|
||||
ProgressManager.checkCanceled(); // visitLiteralExpression is invoked very often in array initializers
|
||||
super.visitExpression(expression);
|
||||
|
||||
@@ -637,7 +637,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitExpressionList(PsiExpressionList list) {
|
||||
public void visitExpressionList(@NotNull PsiExpressionList list) {
|
||||
super.visitExpressionList(list);
|
||||
PsiElement parent = list.getParent();
|
||||
if (parent instanceof PsiMethodCallExpression) {
|
||||
@@ -665,24 +665,24 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitField(PsiField field) {
|
||||
public void visitField(@NotNull PsiField field) {
|
||||
super.visitField(field);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightClassUtil.checkIllegalInstanceMemberInRecord(field));
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightControlFlowUtil.checkFinalFieldInitialized(field));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitForStatement(PsiForStatement statement) {
|
||||
public void visitForStatement(@NotNull PsiForStatement statement) {
|
||||
myHolder.add(HighlightUtil.checkForStatement(statement));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitForeachStatement(PsiForeachStatement statement) {
|
||||
public void visitForeachStatement(@NotNull PsiForeachStatement statement) {
|
||||
myHolder.add(checkFeature(statement, HighlightingFeature.FOR_EACH));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitImportStaticStatement(PsiImportStaticStatement statement) {
|
||||
public void visitImportStaticStatement(@NotNull PsiImportStaticStatement statement) {
|
||||
myHolder.add(checkFeature(statement, HighlightingFeature.STATIC_IMPORTS));
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(ImportsHighlightUtil.checkStaticOnDemandImportResolvesToClass(statement));
|
||||
if (!myHolder.hasErrorResults()) {
|
||||
@@ -701,7 +701,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitIdentifier(PsiIdentifier identifier) {
|
||||
public void visitIdentifier(@NotNull PsiIdentifier identifier) {
|
||||
PsiElement parent = identifier.getParent();
|
||||
if (parent instanceof PsiVariable) {
|
||||
PsiVariable variable = (PsiVariable)parent;
|
||||
@@ -752,7 +752,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitImportStatement(PsiImportStatement statement) {
|
||||
public void visitImportStatement(@NotNull PsiImportStatement statement) {
|
||||
if (!myHolder.hasErrorResults()) {
|
||||
myHolder.add(HighlightUtil.checkSingleImportClassConflict(statement, mySingleImportedClasses,myFile));
|
||||
}
|
||||
@@ -821,7 +821,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitInstanceOfExpression(PsiInstanceOfExpression expression) {
|
||||
public void visitInstanceOfExpression(@NotNull PsiInstanceOfExpression expression) {
|
||||
super.visitInstanceOfExpression(expression);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkInstanceOfApplicable(expression));
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(GenericsHighlightUtil.checkInstanceOfGenericType(myLanguageLevel, expression));
|
||||
@@ -831,7 +831,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitKeyword(PsiKeyword keyword) {
|
||||
public void visitKeyword(@NotNull PsiKeyword keyword) {
|
||||
super.visitKeyword(keyword);
|
||||
PsiElement parent = keyword.getParent();
|
||||
String text = keyword.getText();
|
||||
@@ -851,14 +851,14 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitLabeledStatement(PsiLabeledStatement statement) {
|
||||
public void visitLabeledStatement(@NotNull PsiLabeledStatement statement) {
|
||||
super.visitLabeledStatement(statement);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkLabelWithoutStatement(statement));
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkLabelAlreadyInUse(statement));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitLiteralExpression(PsiLiteralExpression expression) {
|
||||
public void visitLiteralExpression(@NotNull PsiLiteralExpression expression) {
|
||||
super.visitLiteralExpression(expression);
|
||||
|
||||
if (!myHolder.hasErrorResults() && expression.getParent() instanceof PsiCaseLabelElementList && expression.textMatches(PsiKeyword.NULL)) {
|
||||
@@ -892,7 +892,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethod(PsiMethod method) {
|
||||
public void visitMethod(@NotNull PsiMethod method) {
|
||||
super.visitMethod(method);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightControlFlowUtil.checkUnreachableStatement(method.getBody()));
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightMethodUtil.checkConstructorHandleSuperClassExceptions(method));
|
||||
@@ -917,7 +917,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodCallExpression(PsiMethodCallExpression expression) {
|
||||
public void visitMethodCallExpression(@NotNull PsiMethodCallExpression expression) {
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(GenericsHighlightUtil.checkEnumSuperConstructorCall(expression));
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightClassUtil.checkSuperQualifierType(myFile.getProject(), expression));
|
||||
if (!myHolder.hasErrorResults()) {
|
||||
@@ -937,7 +937,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitModifierList(PsiModifierList list) {
|
||||
public void visitModifierList(@NotNull PsiModifierList list) {
|
||||
super.visitModifierList(list);
|
||||
PsiElement parent = list.getParent();
|
||||
if (parent instanceof PsiMethod) {
|
||||
@@ -992,7 +992,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitNameValuePair(PsiNameValuePair pair) {
|
||||
public void visitNameValuePair(@NotNull PsiNameValuePair pair) {
|
||||
myHolder.add(AnnotationsHighlightUtil.checkNameValuePair(pair, myRefCountHolder));
|
||||
if (!myHolder.hasErrorResults()) {
|
||||
PsiIdentifier nameId = pair.getNameIdentifier();
|
||||
@@ -1004,7 +1004,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitNewExpression(PsiNewExpression expression) {
|
||||
public void visitNewExpression(@NotNull PsiNewExpression expression) {
|
||||
PsiType type = expression.getType();
|
||||
PsiClass aClass = PsiUtil.resolveClassInType(type);
|
||||
myHolder.add(HighlightUtil.checkUnhandledExceptions(expression));
|
||||
@@ -1031,7 +1031,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitPackageStatement(PsiPackageStatement statement) {
|
||||
public void visitPackageStatement(@NotNull PsiPackageStatement statement) {
|
||||
super.visitPackageStatement(statement);
|
||||
myHolder.add(AnnotationsHighlightUtil.checkPackageAnnotationContainingFile(statement, myFile));
|
||||
if (myLanguageLevel.isAtLeast(LanguageLevel.JDK_1_9)) {
|
||||
@@ -1040,7 +1040,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitRecordComponent(PsiRecordComponent recordComponent) {
|
||||
public void visitRecordComponent(@NotNull PsiRecordComponent recordComponent) {
|
||||
super.visitRecordComponent(recordComponent);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkRecordComponentVarArg(recordComponent));
|
||||
if (!myHolder.hasErrorResults()) {
|
||||
@@ -1052,7 +1052,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitParameter(PsiParameter parameter) {
|
||||
public void visitParameter(@NotNull PsiParameter parameter) {
|
||||
super.visitParameter(parameter);
|
||||
|
||||
PsiElement parent = parameter.getParent();
|
||||
@@ -1074,13 +1074,13 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitParameterList(PsiParameterList list) {
|
||||
public void visitParameterList(@NotNull PsiParameterList list) {
|
||||
super.visitParameterList(list);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkAnnotationMethodParameters(list));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitUnaryExpression(PsiUnaryExpression expression) {
|
||||
public void visitUnaryExpression(@NotNull PsiUnaryExpression expression) {
|
||||
super.visitUnaryExpression(expression);
|
||||
if (!myHolder.hasErrorResults()) {
|
||||
myHolder.add(HighlightUtil.checkUnaryOperatorApplicable(expression.getOperationSign(), expression.getOperand()));
|
||||
@@ -1098,7 +1098,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReferenceElement(PsiJavaCodeReferenceElement ref) {
|
||||
public void visitReferenceElement(@NotNull PsiJavaCodeReferenceElement ref) {
|
||||
JavaResolveResult result = doVisitReferenceElement(ref);
|
||||
if (result != null) {
|
||||
PsiElement resolved = result.getElement();
|
||||
@@ -1267,7 +1267,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
JavaResolveResult resultForIncompleteCode = doVisitReferenceElement(expression);
|
||||
|
||||
if (!myHolder.hasErrorResults()) {
|
||||
@@ -1358,7 +1358,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodReferenceExpression(PsiMethodReferenceExpression expression) {
|
||||
public void visitMethodReferenceExpression(@NotNull PsiMethodReferenceExpression expression) {
|
||||
myHolder.add(checkFeature(expression, HighlightingFeature.METHOD_REFERENCES));
|
||||
PsiElement parent = PsiUtil.skipParenthesizedExprUp(expression.getParent());
|
||||
if (toReportFunctionalExpressionProblemOnParent(parent)) return;
|
||||
@@ -1585,7 +1585,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReferenceList(PsiReferenceList list) {
|
||||
public void visitReferenceList(@NotNull PsiReferenceList list) {
|
||||
if (list.getFirstChild() == null) return;
|
||||
PsiElement parent = list.getParent();
|
||||
if (!(parent instanceof PsiTypeParameter)) {
|
||||
@@ -1599,7 +1599,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReferenceParameterList(PsiReferenceParameterList list) {
|
||||
public void visitReferenceParameterList(@NotNull PsiReferenceParameterList list) {
|
||||
if (list.getTextLength() == 0) return;
|
||||
|
||||
myHolder.add(checkFeature(list, HighlightingFeature.GENERICS));
|
||||
@@ -1615,7 +1615,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReturnStatement(PsiReturnStatement statement) {
|
||||
public void visitReturnStatement(@NotNull PsiReturnStatement statement) {
|
||||
super.visitStatement(statement);
|
||||
if (!myHolder.hasErrorResults() && HighlightingFeature.ENHANCED_SWITCH.isAvailable(myFile)) {
|
||||
myHolder.add(HighlightUtil.checkReturnFromSwitchExpr(statement));
|
||||
@@ -1645,37 +1645,37 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitStatement(PsiStatement statement) {
|
||||
public void visitStatement(@NotNull PsiStatement statement) {
|
||||
super.visitStatement(statement);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkNotAStatement(statement));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSuperExpression(PsiSuperExpression expr) {
|
||||
public void visitSuperExpression(@NotNull PsiSuperExpression expr) {
|
||||
myHolder.add(HighlightUtil.checkThisOrSuperExpressionInIllegalContext(expr, expr.getQualifier(), myLanguageLevel));
|
||||
if (!myHolder.hasErrorResults()) visitExpression(expr);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSwitchLabelStatement(PsiSwitchLabelStatement statement) {
|
||||
public void visitSwitchLabelStatement(@NotNull PsiSwitchLabelStatement statement) {
|
||||
super.visitSwitchLabelStatement(statement);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkCaseStatement(statement));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSwitchLabeledRuleStatement(PsiSwitchLabeledRuleStatement statement) {
|
||||
public void visitSwitchLabeledRuleStatement(@NotNull PsiSwitchLabeledRuleStatement statement) {
|
||||
super.visitSwitchLabeledRuleStatement(statement);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkCaseStatement(statement));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSwitchStatement(PsiSwitchStatement statement) {
|
||||
public void visitSwitchStatement(@NotNull PsiSwitchStatement statement) {
|
||||
super.visitSwitchStatement(statement);
|
||||
checkSwitchBlock(statement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSwitchExpression(PsiSwitchExpression expression) {
|
||||
public void visitSwitchExpression(@NotNull PsiSwitchExpression expression) {
|
||||
super.visitSwitchExpression(expression);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(checkFeature(expression, HighlightingFeature.SWITCH_EXPRESSION));
|
||||
checkSwitchBlock(expression);
|
||||
@@ -1692,7 +1692,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitThisExpression(PsiThisExpression expr) {
|
||||
public void visitThisExpression(@NotNull PsiThisExpression expr) {
|
||||
if (!(expr.getParent() instanceof PsiReceiverParameter)) {
|
||||
myHolder.add(HighlightUtil.checkThisOrSuperExpressionInIllegalContext(expr, expr.getQualifier(), myLanguageLevel));
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkMemberReferencedBeforeConstructorCalled(expr, null, myFile, myInsideConstructorOfClass));
|
||||
@@ -1701,13 +1701,13 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitThrowStatement(PsiThrowStatement statement) {
|
||||
public void visitThrowStatement(@NotNull PsiThrowStatement statement) {
|
||||
myHolder.add(HighlightUtil.checkUnhandledExceptions(statement));
|
||||
if (!myHolder.hasErrorResults()) visitStatement(statement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitTryStatement(PsiTryStatement statement) {
|
||||
public void visitTryStatement(@NotNull PsiTryStatement statement) {
|
||||
super.visitTryStatement(statement);
|
||||
if (!myHolder.hasErrorResults()) {
|
||||
Set<PsiClassType> thrownTypes = HighlightUtil.collectUnhandledExceptions(statement);
|
||||
@@ -1724,20 +1724,20 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitResourceList(PsiResourceList resourceList) {
|
||||
public void visitResourceList(@NotNull PsiResourceList resourceList) {
|
||||
super.visitResourceList(resourceList);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(checkFeature(resourceList, HighlightingFeature.TRY_WITH_RESOURCES));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitResourceVariable(PsiResourceVariable resource) {
|
||||
public void visitResourceVariable(@NotNull PsiResourceVariable resource) {
|
||||
super.visitResourceVariable(resource);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkTryResourceIsAutoCloseable(resource));
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkUnhandledCloserExceptions(resource));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitResourceExpression(PsiResourceExpression resource) {
|
||||
public void visitResourceExpression(@NotNull PsiResourceExpression resource) {
|
||||
super.visitResourceExpression(resource);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(checkFeature(resource, HighlightingFeature.REFS_AS_RESOURCE));
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkResourceVariableIsFinal(resource));
|
||||
@@ -1746,7 +1746,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitTypeElement(PsiTypeElement type) {
|
||||
public void visitTypeElement(@NotNull PsiTypeElement type) {
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkIllegalType(type));
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkVarTypeApplicability(type));
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(GenericsHighlightUtil.checkReferenceTypeUsedAsTypeArgument(type, myLanguageLevel));
|
||||
@@ -1755,7 +1755,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitTypeCastExpression(PsiTypeCastExpression typeCast) {
|
||||
public void visitTypeCastExpression(@NotNull PsiTypeCastExpression typeCast) {
|
||||
super.visitTypeCastExpression(typeCast);
|
||||
try {
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkIntersectionInTypeCast(typeCast, myLanguageLevel, myFile));
|
||||
@@ -1765,7 +1765,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitTypeParameterList(PsiTypeParameterList list) {
|
||||
public void visitTypeParameterList(@NotNull PsiTypeParameterList list) {
|
||||
PsiTypeParameter[] typeParameters = list.getTypeParameters();
|
||||
if (typeParameters.length > 0) {
|
||||
myHolder.add(checkFeature(list, HighlightingFeature.GENERICS));
|
||||
@@ -1774,7 +1774,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitVariable(PsiVariable variable) {
|
||||
public void visitVariable(@NotNull PsiVariable variable) {
|
||||
super.visitVariable(variable);
|
||||
if (variable instanceof PsiPatternVariable) {
|
||||
PsiElement declarationScope = ((PsiPatternVariable)variable).getDeclarationScope().getParent();
|
||||
@@ -1794,7 +1794,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitConditionalExpression(PsiConditionalExpression expression) {
|
||||
public void visitConditionalExpression(@NotNull PsiConditionalExpression expression) {
|
||||
super.visitConditionalExpression(expression);
|
||||
if (!myLanguageLevel.isAtLeast(LanguageLevel.JDK_1_8) || !PsiPolyExpressionUtil.isPolyExpression(expression)) return;
|
||||
PsiExpression thenExpression = expression.getThenExpression();
|
||||
@@ -1834,7 +1834,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReceiverParameter(PsiReceiverParameter parameter) {
|
||||
public void visitReceiverParameter(@NotNull PsiReceiverParameter parameter) {
|
||||
super.visitReceiverParameter(parameter);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(checkFeature(parameter, HighlightingFeature.RECEIVERS));
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(AnnotationsHighlightUtil.checkReceiverPlacement(parameter));
|
||||
@@ -1842,7 +1842,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitModule(PsiJavaModule module) {
|
||||
public void visitModule(@NotNull PsiJavaModule module) {
|
||||
super.visitModule(module);
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(checkFeature(module, HighlightingFeature.MODULES));
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(ModuleHighlightUtil.checkFileName(module, myFile));
|
||||
@@ -1854,13 +1854,13 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitModuleStatement(PsiStatement statement) {
|
||||
public void visitModuleStatement(@NotNull PsiStatement statement) {
|
||||
super.visitModuleStatement(statement);
|
||||
if (!myHolder.hasErrorResults()) statement.accept(myPreviewFeatureVisitor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitRequiresStatement(PsiRequiresStatement statement) {
|
||||
public void visitRequiresStatement(@NotNull PsiRequiresStatement statement) {
|
||||
super.visitRequiresStatement(statement);
|
||||
if (myLanguageLevel.isAtLeast(LanguageLevel.JDK_1_9)) {
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(ModuleHighlightUtil.checkModuleReference(statement));
|
||||
@@ -1871,7 +1871,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitPackageAccessibilityStatement(PsiPackageAccessibilityStatement statement) {
|
||||
public void visitPackageAccessibilityStatement(@NotNull PsiPackageAccessibilityStatement statement) {
|
||||
super.visitPackageAccessibilityStatement(statement);
|
||||
if (myLanguageLevel.isAtLeast(LanguageLevel.JDK_1_9)) {
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(ModuleHighlightUtil.checkHostModuleStrength(statement));
|
||||
@@ -1881,7 +1881,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitUsesStatement(PsiUsesStatement statement) {
|
||||
public void visitUsesStatement(@NotNull PsiUsesStatement statement) {
|
||||
super.visitUsesStatement(statement);
|
||||
if (myLanguageLevel.isAtLeast(LanguageLevel.JDK_1_9)) {
|
||||
if (!myHolder.hasErrorResults()) myHolder.add(ModuleHighlightUtil.checkServiceReference(statement.getClassReference()));
|
||||
@@ -1889,7 +1889,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitProvidesStatement(PsiProvidesStatement statement) {
|
||||
public void visitProvidesStatement(@NotNull PsiProvidesStatement statement) {
|
||||
super.visitProvidesStatement(statement);
|
||||
if (myLanguageLevel.isAtLeast(LanguageLevel.JDK_1_9)) {
|
||||
if (!myHolder.hasErrorResults()) myHolder.addAll(ModuleHighlightUtil.checkServiceImplementations(statement, myFile));
|
||||
@@ -1897,19 +1897,19 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitDefaultCaseLabelElement(PsiDefaultCaseLabelElement element) {
|
||||
public void visitDefaultCaseLabelElement(@NotNull PsiDefaultCaseLabelElement element) {
|
||||
super.visitDefaultCaseLabelElement(element);
|
||||
myHolder.add(checkFeature(element, HighlightingFeature.PATTERNS_IN_SWITCH));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitParenthesizedPattern(PsiParenthesizedPattern pattern) {
|
||||
public void visitParenthesizedPattern(@NotNull PsiParenthesizedPattern pattern) {
|
||||
super.visitParenthesizedPattern(pattern);
|
||||
myHolder.add(checkFeature(pattern, HighlightingFeature.GUARDED_AND_PARENTHESIZED_PATTERNS));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitGuardedPattern(PsiGuardedPattern pattern) {
|
||||
public void visitGuardedPattern(@NotNull PsiGuardedPattern pattern) {
|
||||
super.visitGuardedPattern(pattern);
|
||||
myHolder.add(checkFeature(pattern, HighlightingFeature.GUARDED_AND_PARENTHESIZED_PATTERNS));
|
||||
if (myHolder.hasErrorResults()) return;
|
||||
@@ -1925,7 +1925,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitTypeTestPattern(PsiTypeTestPattern pattern) {
|
||||
public void visitTypeTestPattern(@NotNull PsiTypeTestPattern pattern) {
|
||||
super.visitTypeTestPattern(pattern);
|
||||
if (pattern.getParent() instanceof PsiCaseLabelElementList) {
|
||||
myHolder.add(checkFeature(pattern, HighlightingFeature.PATTERNS_IN_SWITCH));
|
||||
|
||||
+6
-6
@@ -59,7 +59,7 @@ class JavaNamesHighlightVisitor extends JavaElementVisitor implements HighlightV
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitDocTagValue(PsiDocTagValue value) {
|
||||
public void visitDocTagValue(@NotNull PsiDocTagValue value) {
|
||||
PsiReference reference = value.getReference();
|
||||
if (reference != null) {
|
||||
PsiElement element = reference.resolve();
|
||||
@@ -78,7 +78,7 @@ class JavaNamesHighlightVisitor extends JavaElementVisitor implements HighlightV
|
||||
|
||||
|
||||
@Override
|
||||
public void visitIdentifier(PsiIdentifier identifier) {
|
||||
public void visitIdentifier(@NotNull PsiIdentifier identifier) {
|
||||
TextAttributesScheme colorsScheme = myHolder.getColorsScheme();
|
||||
|
||||
PsiElement parent = identifier.getParent();
|
||||
@@ -143,11 +143,11 @@ class JavaNamesHighlightVisitor extends JavaElementVisitor implements HighlightV
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReferenceElement(PsiJavaCodeReferenceElement ref) {
|
||||
public void visitReferenceElement(@NotNull PsiJavaCodeReferenceElement ref) {
|
||||
doVisitReferenceElement(ref);
|
||||
}
|
||||
@Override
|
||||
public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
doVisitReferenceElement(expression);
|
||||
}
|
||||
|
||||
@@ -218,7 +218,7 @@ class JavaNamesHighlightVisitor extends JavaElementVisitor implements HighlightV
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitNameValuePair(PsiNameValuePair pair) {
|
||||
public void visitNameValuePair(@NotNull PsiNameValuePair pair) {
|
||||
PsiIdentifier nameId = pair.getNameIdentifier();
|
||||
if (nameId != null) {
|
||||
myHolder.add(HighlightInfo.newHighlightInfo(JavaHighlightInfoTypes.ANNOTATION_ATTRIBUTE_NAME).range(nameId).create());
|
||||
@@ -226,7 +226,7 @@ class JavaNamesHighlightVisitor extends JavaElementVisitor implements HighlightV
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodReferenceExpression(PsiMethodReferenceExpression expression) {
|
||||
public void visitMethodReferenceExpression(@NotNull PsiMethodReferenceExpression expression) {
|
||||
JavaResolveResult result;
|
||||
JavaResolveResult[] results;
|
||||
try {
|
||||
|
||||
+3
-3
@@ -17,7 +17,7 @@ import static com.intellij.codeInsight.daemon.impl.analysis.HighlightingFeature.
|
||||
public abstract class PreviewFeatureVisitorBase extends JavaElementVisitor {
|
||||
|
||||
@Override
|
||||
public void visitReferenceElement(PsiJavaCodeReferenceElement reference) {
|
||||
public void visitReferenceElement(@NotNull PsiJavaCodeReferenceElement reference) {
|
||||
PsiElement resolved = reference.resolve();
|
||||
|
||||
if (!(resolved instanceof PsiModifierListOwner)) return;
|
||||
@@ -28,7 +28,7 @@ public abstract class PreviewFeatureVisitorBase extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
PsiElement resolved = expression.resolve();
|
||||
|
||||
if (!(resolved instanceof PsiModifierListOwner)) return;
|
||||
@@ -39,7 +39,7 @@ public abstract class PreviewFeatureVisitorBase extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitModuleStatement(PsiStatement statement) {
|
||||
public void visitModuleStatement(@NotNull PsiStatement statement) {
|
||||
if (statement instanceof PsiRequiresStatement) {
|
||||
PsiRequiresStatement requiresStatement = (PsiRequiresStatement)statement;
|
||||
PsiJavaModule module = requiresStatement.resolve();
|
||||
|
||||
+1
-1
@@ -121,7 +121,7 @@ public final class RemoveUnusedVariableUtil {
|
||||
|
||||
static void collectReferences(@NotNull PsiElement context, final PsiVariable variable, final List<? super PsiElement> references) {
|
||||
context.accept(new JavaRecursiveElementWalkingVisitor() {
|
||||
@Override public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
@Override public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
if (expression.resolve() == variable) references.add(expression);
|
||||
super.visitReferenceExpression(expression);
|
||||
}
|
||||
|
||||
+5
-5
@@ -527,7 +527,7 @@ public final class GuessManagerImpl extends GuessManager {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitAssignmentExpression(PsiAssignmentExpression expression) {
|
||||
public void visitAssignmentExpression(@NotNull PsiAssignmentExpression expression) {
|
||||
if (ExpressionVariableDescriptor.EXPRESSION_HASHING_STRATEGY.equals(expression.getLExpression(), myPlace)) {
|
||||
handleAssignment(expression.getRExpression());
|
||||
}
|
||||
@@ -535,7 +535,7 @@ public final class GuessManagerImpl extends GuessManager {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitLocalVariable(PsiLocalVariable variable) {
|
||||
public void visitLocalVariable(@NotNull PsiLocalVariable variable) {
|
||||
if (ExpressionUtils.isReferenceTo(myPlace, variable)) {
|
||||
myDeclared = true;
|
||||
handleAssignment(variable.getInitializer());
|
||||
@@ -544,7 +544,7 @@ public final class GuessManagerImpl extends GuessManager {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitTypeCastExpression(PsiTypeCastExpression expression) {
|
||||
public void visitTypeCastExpression(@NotNull PsiTypeCastExpression expression) {
|
||||
PsiExpression operand = expression.getOperand();
|
||||
if (operand != null && ExpressionVariableDescriptor.EXPRESSION_HASHING_STRATEGY.equals(operand, myPlace)) {
|
||||
myNeedDfa = true;
|
||||
@@ -553,7 +553,7 @@ public final class GuessManagerImpl extends GuessManager {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodCallExpression(PsiMethodCallExpression call) {
|
||||
public void visitMethodCallExpression(@NotNull PsiMethodCallExpression call) {
|
||||
if (OBJECT_GET_CLASS.test(call)) {
|
||||
PsiExpression qualifier = ExpressionUtils.getEffectiveQualifier(call.getMethodExpression());
|
||||
if (qualifier != null && ExpressionVariableDescriptor.EXPRESSION_HASHING_STRATEGY.equals(qualifier, myPlace)) {
|
||||
@@ -564,7 +564,7 @@ public final class GuessManagerImpl extends GuessManager {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitInstanceOfExpression(PsiInstanceOfExpression expression) {
|
||||
public void visitInstanceOfExpression(@NotNull PsiInstanceOfExpression expression) {
|
||||
if (ExpressionVariableDescriptor.EXPRESSION_HASHING_STRATEGY.equals(expression.getOperand(), myPlace)) {
|
||||
myNeedDfa = true;
|
||||
}
|
||||
|
||||
+9
-9
@@ -67,7 +67,7 @@ public class AnonymousCanBeLambdaInspection extends AbstractBaseJavaLocalInspect
|
||||
public PsiElementVisitor buildVisitor(@NotNull final ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitAnonymousClass(final PsiAnonymousClass aClass) {
|
||||
public void visitAnonymousClass(final @NotNull PsiAnonymousClass aClass) {
|
||||
super.visitAnonymousClass(aClass);
|
||||
final PsiElement parent = aClass.getParent();
|
||||
if (canBeConvertedToLambda(aClass, false, isOnTheFly || reportNotAnnotatedInterfaces, Collections.emptySet())) {
|
||||
@@ -351,7 +351,7 @@ public class AnonymousCanBeLambdaInspection extends AbstractBaseJavaLocalInspect
|
||||
|
||||
block.accept(new JavaRecursiveElementWalkingVisitor() {
|
||||
@Override
|
||||
public void visitVariable(PsiVariable variable) {
|
||||
public void visitVariable(@NotNull PsiVariable variable) {
|
||||
super.visitVariable(variable);
|
||||
if (!(variable instanceof PsiField)) {
|
||||
variables.add(variable);
|
||||
@@ -411,7 +411,7 @@ public class AnonymousCanBeLambdaInspection extends AbstractBaseJavaLocalInspect
|
||||
final LinkedHashMap<PsiElement, PsiElement> replacements = new LinkedHashMap<>();
|
||||
body.accept(new JavaRecursiveElementWalkingVisitor() {
|
||||
@Override
|
||||
public void visitVariable(PsiVariable variable) {
|
||||
public void visitVariable(@NotNull PsiVariable variable) {
|
||||
super.visitVariable(variable);
|
||||
final String newName = names.get(variable);
|
||||
if (newName != null) {
|
||||
@@ -420,7 +420,7 @@ public class AnonymousCanBeLambdaInspection extends AbstractBaseJavaLocalInspect
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
super.visitReferenceExpression(expression);
|
||||
final PsiElement resolve = expression.resolve();
|
||||
if (resolve instanceof PsiVariable) {
|
||||
@@ -501,7 +501,7 @@ public class AnonymousCanBeLambdaInspection extends AbstractBaseJavaLocalInspect
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodCallExpression(PsiMethodCallExpression methodCallExpression) {
|
||||
public void visitMethodCallExpression(@NotNull PsiMethodCallExpression methodCallExpression) {
|
||||
if (myBodyContainsForbiddenRefs) return;
|
||||
|
||||
super.visitMethodCallExpression(methodCallExpression);
|
||||
@@ -513,7 +513,7 @@ public class AnonymousCanBeLambdaInspection extends AbstractBaseJavaLocalInspect
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitThisExpression(PsiThisExpression expression) {
|
||||
public void visitThisExpression(@NotNull PsiThisExpression expression) {
|
||||
if (myBodyContainsForbiddenRefs) return;
|
||||
|
||||
if (expression.getQualifier() == null) {
|
||||
@@ -522,7 +522,7 @@ public class AnonymousCanBeLambdaInspection extends AbstractBaseJavaLocalInspect
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSuperExpression(PsiSuperExpression expression) {
|
||||
public void visitSuperExpression(@NotNull PsiSuperExpression expression) {
|
||||
if (myBodyContainsForbiddenRefs) return;
|
||||
|
||||
if (expression.getQualifier() == null) {
|
||||
@@ -531,14 +531,14 @@ public class AnonymousCanBeLambdaInspection extends AbstractBaseJavaLocalInspect
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitVariable(PsiVariable variable) {
|
||||
public void visitVariable(@NotNull PsiVariable variable) {
|
||||
if (myBodyContainsForbiddenRefs) return;
|
||||
|
||||
super.visitVariable(variable);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
if (myBodyContainsForbiddenRefs) return;
|
||||
|
||||
super.visitReferenceExpression(expression);
|
||||
|
||||
+1
-1
@@ -51,7 +51,7 @@ public class AnonymousHasLambdaAlternativeInspection extends AbstractBaseJavaLoc
|
||||
}
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitAnonymousClass(final PsiAnonymousClass aClass) {
|
||||
public void visitAnonymousClass(final @NotNull PsiAnonymousClass aClass) {
|
||||
super.visitAnonymousClass(aClass);
|
||||
PsiExpressionList argumentList = aClass.getArgumentList();
|
||||
if (AnonymousCanBeLambdaInspection.isLambdaForm(aClass, Collections.emptySet()) &&
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ public class ClassGetClassInspection extends AbstractBaseJavaLocalInspectionTool
|
||||
public PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitMethodCallExpression(PsiMethodCallExpression call) {
|
||||
public void visitMethodCallExpression(@NotNull PsiMethodCallExpression call) {
|
||||
if (!OBJECT_GET_CLASS.test(call)) return;
|
||||
// Sometimes people use xyz.getClass() for implicit NPE check. While it's a questionable code style
|
||||
// do not warn about such case
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ public class DeprecatedIsStillUsedInspection extends LocalInspectionTool {
|
||||
@NotNull final LocalInspectionToolSession session) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitIdentifier(PsiIdentifier identifier) {
|
||||
public void visitIdentifier(@NotNull PsiIdentifier identifier) {
|
||||
PsiElement parent = identifier.getParent();
|
||||
if (parent instanceof PsiMember && parent instanceof PsiNameIdentifierOwner && ((PsiNameIdentifierOwner)parent).getNameIdentifier() == identifier) {
|
||||
checkMember((PsiMember)parent, identifier, holder);
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ public class ExplicitTypeCanBeDiamondInspection extends AbstractBaseJavaLocalIns
|
||||
public PsiElementVisitor buildVisitor(@NotNull final ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitNewExpression(PsiNewExpression expression) {
|
||||
public void visitNewExpression(@NotNull PsiNewExpression expression) {
|
||||
if (PsiDiamondTypeUtil.canCollapseToDiamond(expression, expression, null)) {
|
||||
final PsiJavaCodeReferenceElement classReference = expression.getClassOrAnonymousClassReference();
|
||||
LOG.assertTrue(classReference != null);
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ public class InvalidComparatorMethodReferenceInspection extends AbstractBaseJava
|
||||
public PsiElementVisitor buildVisitor(@NotNull final ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitMethodReferenceExpression(PsiMethodReferenceExpression expression) {
|
||||
public void visitMethodReferenceExpression(@NotNull PsiMethodReferenceExpression expression) {
|
||||
PsiElement referenceNameElement = expression.getReferenceNameElement();
|
||||
if(referenceNameElement == null) return;
|
||||
String name = referenceNameElement.getText();
|
||||
|
||||
+4
-4
@@ -47,24 +47,24 @@ public class NumericOverflowInspection extends AbstractBaseJavaLocalInspectionTo
|
||||
public PsiElementVisitor buildVisitor(@NotNull final ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
if (!(expression.getParent() instanceof PsiMethodCallExpression)) {
|
||||
visitExpression(expression);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitArrayAccessExpression(PsiArrayAccessExpression expression) {
|
||||
public void visitArrayAccessExpression(@NotNull PsiArrayAccessExpression expression) {
|
||||
// never constant
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitCallExpression(PsiCallExpression callExpression) {
|
||||
public void visitCallExpression(@NotNull PsiCallExpression callExpression) {
|
||||
// never constant
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitExpression(PsiExpression expression) {
|
||||
public void visitExpression(@NotNull PsiExpression expression) {
|
||||
boolean hasOverflow = hasOverflow(expression, holder.getProject());
|
||||
if (hasOverflow && (!ignoreLeftShiftWithNegativeResult || !isLeftShiftWithNegativeResult(expression, holder.getProject()))) {
|
||||
holder.registerProblem(expression, JavaErrorBundle.message("numeric.overflow.in.expression"), ProblemHighlightType.GENERIC_ERROR_OR_WARNING);
|
||||
|
||||
+2
-2
@@ -119,7 +119,7 @@ public class PossibleHeapPollutionVarargsInspection extends AbstractBaseJavaLoca
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethod(PsiMethod method) {
|
||||
public void visitMethod(@NotNull PsiMethod method) {
|
||||
super.visitMethod(method);
|
||||
if (!PsiUtil.getLanguageLevel(method).isAtLeast(LanguageLevel.JDK_1_7)) return;
|
||||
if (AnnotationUtil.isAnnotated(method, CommonClassNames.JAVA_LANG_SAFE_VARARGS, 0)) return;
|
||||
@@ -133,7 +133,7 @@ public class PossibleHeapPollutionVarargsInspection extends AbstractBaseJavaLoca
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitClass(PsiClass aClass) {
|
||||
public void visitClass(@NotNull PsiClass aClass) {
|
||||
super.visitClass(aClass);
|
||||
if (!aClass.isRecord()) return;
|
||||
if (AnnotationUtil.isAnnotated(aClass, CommonClassNames.JAVA_LANG_SAFE_VARARGS, 0)) return;
|
||||
|
||||
+3
-3
@@ -29,12 +29,12 @@ public class ReassignedVariableInspection extends AbstractBaseJavaLocalInspectio
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitLocalVariable(PsiLocalVariable variable) {
|
||||
public void visitLocalVariable(@NotNull PsiLocalVariable variable) {
|
||||
checkReassigned(variable);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitParameter(PsiParameter parameter) {
|
||||
public void visitParameter(@NotNull PsiParameter parameter) {
|
||||
myParameterIsReassigned.put(parameter, checkReassigned(parameter));
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ public class ReassignedVariableInspection extends AbstractBaseJavaLocalInspectio
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
if (!myHolder.isOnTheFly()) return;
|
||||
|
||||
PsiElement referenceNameElement = expression.getReferenceNameElement();
|
||||
|
||||
+1
-1
@@ -44,7 +44,7 @@ public class RedundantLambdaCodeBlockInspection extends AbstractBaseJavaLocalIns
|
||||
}
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitLambdaExpression(PsiLambdaExpression expression) {
|
||||
public void visitLambdaExpression(@NotNull PsiLambdaExpression expression) {
|
||||
final PsiElement body = expression.getBody();
|
||||
final PsiExpression psiExpression = isCodeBlockRedundant(body);
|
||||
if (psiExpression != null) {
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ public final class StringTokenizerDelimiterInspection extends AbstractBaseJavaLo
|
||||
public PsiElementVisitor buildVisitor(@NotNull final ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitCallExpression(PsiCallExpression callExpression) {
|
||||
public void visitCallExpression(@NotNull PsiCallExpression callExpression) {
|
||||
final PsiExpressionList argumentList = callExpression.getArgumentList();
|
||||
final PsiMethod method = callExpression.resolveMethod();
|
||||
if (method != null && argumentList != null && (method.isConstructor() || NEXT_TOKEN.equals(method.getName()))) {
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ public class SuspiciousArrayMethodCallInspection extends AbstractBaseJavaLocalIn
|
||||
public PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitMethodCallExpression(PsiMethodCallExpression call) {
|
||||
public void visitMethodCallExpression(@NotNull PsiMethodCallExpression call) {
|
||||
PsiElement nameElement = call.getMethodExpression().getReferenceNameElement();
|
||||
if (nameElement == null) return;
|
||||
String name = nameElement.getText();
|
||||
|
||||
+3
-3
@@ -48,7 +48,7 @@ public class UseCompareMethodInspection extends AbstractBaseJavaLocalInspectionT
|
||||
}
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitMethodCallExpression(PsiMethodCallExpression call) {
|
||||
public void visitMethodCallExpression(@NotNull PsiMethodCallExpression call) {
|
||||
CompareInfo info = fromCall(call);
|
||||
PsiElement nameElement = call.getMethodExpression().getReferenceNameElement();
|
||||
if (info != null && nameElement != null) {
|
||||
@@ -57,7 +57,7 @@ public class UseCompareMethodInspection extends AbstractBaseJavaLocalInspectionT
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitIfStatement(PsiIfStatement statement) {
|
||||
public void visitIfStatement(@NotNull PsiIfStatement statement) {
|
||||
CompareInfo info = fromIf(statement);
|
||||
PsiElement keyword = statement.getFirstChild();
|
||||
if (info != null && keyword != null) {
|
||||
@@ -66,7 +66,7 @@ public class UseCompareMethodInspection extends AbstractBaseJavaLocalInspectionT
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitConditionalExpression(PsiConditionalExpression expression) {
|
||||
public void visitConditionalExpression(@NotNull PsiConditionalExpression expression) {
|
||||
CompareInfo info = fromTernary(expression);
|
||||
if (info != null) {
|
||||
register(info, expression);
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@ public class VariableTypeCanBeExplicitInspection extends AbstractBaseJavaLocalIn
|
||||
}
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitLambdaExpression(PsiLambdaExpression expression) {
|
||||
public void visitLambdaExpression(@NotNull PsiLambdaExpression expression) {
|
||||
List<PsiTypeElement> typeElements = new ArrayList<>();
|
||||
for (PsiParameter parameter: expression.getParameterList().getParameters()) {
|
||||
PsiTypeElement typeElement = getTypeElementToExpand(parameter);
|
||||
@@ -34,7 +34,7 @@ public class VariableTypeCanBeExplicitInspection extends AbstractBaseJavaLocalIn
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitVariable(PsiVariable variable) {
|
||||
public void visitVariable(@NotNull PsiVariable variable) {
|
||||
if (variable instanceof PsiParameter &&
|
||||
((PsiParameter)variable).getDeclarationScope() instanceof PsiLambdaExpression) {
|
||||
return;
|
||||
|
||||
+1
-1
@@ -46,7 +46,7 @@ public class AccessStaticViaInstanceBase extends AbstractBaseJavaLocalInspection
|
||||
@NotNull
|
||||
public PsiElementVisitor buildVisitor(@NotNull final ProblemsHolder holder, final boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
@Override public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
checkAccessStaticMemberViaInstanceReference(expression, holder, isOnTheFly);
|
||||
}
|
||||
};
|
||||
|
||||
+8
-8
@@ -51,7 +51,7 @@ public class JavacQuirksInspectionVisitor extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodReferenceExpression(PsiMethodReferenceExpression methodRef) {
|
||||
public void visitMethodReferenceExpression(@NotNull PsiMethodReferenceExpression methodRef) {
|
||||
PsiMethod method = ObjectUtils.tryCast(methodRef.resolve(), PsiMethod.class);
|
||||
PsiClass targetClass = getInaccessibleMethodReferenceClass(methodRef, method);
|
||||
if (targetClass == null) return;
|
||||
@@ -81,7 +81,7 @@ public class JavacQuirksInspectionVisitor extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitAnnotationArrayInitializer(final PsiArrayInitializerMemberValue initializer) {
|
||||
public void visitAnnotationArrayInitializer(final @NotNull PsiArrayInitializerMemberValue initializer) {
|
||||
if (PsiUtil.isLanguageLevel7OrHigher(initializer)) return;
|
||||
final PsiElement lastElement = PsiTreeUtil.skipWhitespacesAndCommentsBackward(initializer.getLastChild());
|
||||
if (lastElement != null && PsiUtil.isJavaToken(lastElement, JavaTokenType.COMMA)) {
|
||||
@@ -92,13 +92,13 @@ public class JavacQuirksInspectionVisitor extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitTypeCastExpression(final PsiTypeCastExpression expression) {
|
||||
public void visitTypeCastExpression(final @NotNull PsiTypeCastExpression expression) {
|
||||
if (PsiUtil.isLanguageLevel7OrHigher(expression)) return;
|
||||
final PsiTypeElement type = expression.getCastType();
|
||||
if (type != null) {
|
||||
type.accept(new JavaRecursiveElementWalkingVisitor() {
|
||||
@Override
|
||||
public void visitReferenceParameterList(final PsiReferenceParameterList list) {
|
||||
public void visitReferenceParameterList(final @NotNull PsiReferenceParameterList list) {
|
||||
super.visitReferenceParameterList(list);
|
||||
if (list.getFirstChild() != null && QUALIFIER_REFERENCE.accepts(list)) {
|
||||
final String message = JavaAnalysisBundle.message("inspection.compiler.javac.quirks.qualifier.type.args.problem");
|
||||
@@ -111,7 +111,7 @@ public class JavacQuirksInspectionVisitor extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitAssignmentExpression(PsiAssignmentExpression assignment) {
|
||||
public void visitAssignmentExpression(@NotNull PsiAssignmentExpression assignment) {
|
||||
super.visitAssignmentExpression(assignment);
|
||||
final PsiType lType = assignment.getLExpression().getType();
|
||||
if (lType == null) return;
|
||||
@@ -136,7 +136,7 @@ public class JavacQuirksInspectionVisitor extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodCallExpression(PsiMethodCallExpression expression) {
|
||||
public void visitMethodCallExpression(@NotNull PsiMethodCallExpression expression) {
|
||||
super.visitMethodCallExpression(expression);
|
||||
if (expression.getTypeArguments().length == 0) {
|
||||
PsiExpression[] args = expression.getArgumentList().getExpressions();
|
||||
@@ -200,7 +200,7 @@ public class JavacQuirksInspectionVisitor extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitBinaryExpression(PsiBinaryExpression expression) {
|
||||
public void visitBinaryExpression(@NotNull PsiBinaryExpression expression) {
|
||||
super.visitBinaryExpression(expression);
|
||||
if (myLanguageLevel.isAtLeast(LanguageLevel.JDK_1_7) && !myLanguageLevel.isAtLeast(LanguageLevel.JDK_1_8)) {
|
||||
PsiType ltype = expression.getLOperand().getType();
|
||||
@@ -220,7 +220,7 @@ public class JavacQuirksInspectionVisitor extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReferenceElement(PsiJavaCodeReferenceElement ref) {
|
||||
public void visitReferenceElement(@NotNull PsiJavaCodeReferenceElement ref) {
|
||||
if (myLanguageLevel.isAtLeast(LanguageLevel.JDK_1_9)) return;//javac 9 has no such bug
|
||||
if (ref.getParent() instanceof PsiTypeElement) {
|
||||
final PsiClass psiClass = PsiTreeUtil.getParentOfType(ref, PsiClass.class);
|
||||
|
||||
+1
-1
@@ -42,7 +42,7 @@ public class FieldAccessNotGuardedInspection extends AbstractBaseJavaLocalInspec
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
final PsiElement parent = PsiTreeUtil.skipParentsOfType(expression, PsiParenthesizedExpression.class);
|
||||
if (parent instanceof PsiSynchronizedStatement) {
|
||||
return;
|
||||
|
||||
+2
-2
@@ -39,7 +39,7 @@ public class InstanceGuardedByStaticInspection extends AbstractBaseJavaLocalInsp
|
||||
|
||||
|
||||
@Override
|
||||
public void visitDocTag(PsiDocTag psiDocTag) {
|
||||
public void visitDocTag(@NotNull PsiDocTag psiDocTag) {
|
||||
super.visitDocTag(psiDocTag);
|
||||
if (!JCiPUtil.isGuardedByTag(psiDocTag)) {
|
||||
return;
|
||||
@@ -68,7 +68,7 @@ public class InstanceGuardedByStaticInspection extends AbstractBaseJavaLocalInsp
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitAnnotation(PsiAnnotation annotation) {
|
||||
public void visitAnnotation(@NotNull PsiAnnotation annotation) {
|
||||
super.visitAnnotation(annotation);
|
||||
if (!JCiPUtil.isGuardedByAnnotation(annotation)) {
|
||||
return;
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ public class NonFinalFieldInImmutableInspection extends AbstractBaseJavaLocalIns
|
||||
public PsiElementVisitor buildVisitor(@NotNull final ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitField(PsiField field) {
|
||||
public void visitField(@NotNull PsiField field) {
|
||||
super.visitField(field);
|
||||
if (field.hasModifierProperty(PsiModifier.FINAL)) {
|
||||
return;
|
||||
|
||||
+2
-2
@@ -40,7 +40,7 @@ public class NonFinalGuardInspection extends AbstractBaseJavaLocalInspectionTool
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitAnnotation(PsiAnnotation annotation) {
|
||||
public void visitAnnotation(@NotNull PsiAnnotation annotation) {
|
||||
super.visitAnnotation(annotation);
|
||||
if (!JCiPUtil.isGuardedByAnnotation(annotation)) {
|
||||
return;
|
||||
@@ -68,7 +68,7 @@ public class NonFinalGuardInspection extends AbstractBaseJavaLocalInspectionTool
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitDocTag(PsiDocTag psiDocTag) {
|
||||
public void visitDocTag(@NotNull PsiDocTag psiDocTag) {
|
||||
super.visitDocTag(psiDocTag);
|
||||
if (!JCiPUtil.isGuardedByTag(psiDocTag)) {
|
||||
return;
|
||||
|
||||
+2
-2
@@ -38,7 +38,7 @@ public class StaticGuardedByInstanceInspection extends AbstractBaseJavaLocalInsp
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitAnnotation(PsiAnnotation annotation) {
|
||||
public void visitAnnotation(@NotNull PsiAnnotation annotation) {
|
||||
super.visitAnnotation(annotation);
|
||||
if (!JCiPUtil.isGuardedByAnnotation(annotation)) {
|
||||
return;
|
||||
@@ -77,7 +77,7 @@ public class StaticGuardedByInstanceInspection extends AbstractBaseJavaLocalInsp
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitDocTag(PsiDocTag psiDocTag) {
|
||||
public void visitDocTag(@NotNull PsiDocTag psiDocTag) {
|
||||
super.visitDocTag(psiDocTag);
|
||||
if (!JCiPUtil.isGuardedByTag(psiDocTag)) {
|
||||
return;
|
||||
|
||||
+2
-2
@@ -44,7 +44,7 @@ public class UnknownGuardInspection extends AbstractBaseJavaLocalInspectionTool
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitAnnotation(PsiAnnotation annotation) {
|
||||
public void visitAnnotation(@NotNull PsiAnnotation annotation) {
|
||||
super.visitAnnotation(annotation);
|
||||
if (!JCiPUtil.isGuardedByAnnotation(annotation)) {
|
||||
return;
|
||||
@@ -152,7 +152,7 @@ public class UnknownGuardInspection extends AbstractBaseJavaLocalInspectionTool
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitDocTag(PsiDocTag psiDocTag) {
|
||||
public void visitDocTag(@NotNull PsiDocTag psiDocTag) {
|
||||
super.visitDocTag(psiDocTag);
|
||||
if (!JCiPUtil.isGuardedByTag(psiDocTag)) {
|
||||
return;
|
||||
|
||||
+2
-2
@@ -40,7 +40,7 @@ public class ContractInspection extends AbstractBaseJavaLocalInspectionTool {
|
||||
return new JavaElementVisitor() {
|
||||
|
||||
@Override
|
||||
public void visitMethod(PsiMethod method) {
|
||||
public void visitMethod(@NotNull PsiMethod method) {
|
||||
PsiAnnotation annotation = JavaMethodContractUtil.findContractAnnotation(method);
|
||||
if (annotation == null || (!ApplicationManager.getApplication().isInternal() && AnnotationUtil.isInferredAnnotation(annotation))) {
|
||||
return;
|
||||
@@ -53,7 +53,7 @@ public class ContractInspection extends AbstractBaseJavaLocalInspectionTool {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitAnnotation(PsiAnnotation annotation) {
|
||||
public void visitAnnotation(@NotNull PsiAnnotation annotation) {
|
||||
if (!JavaMethodContractUtil.ORG_JETBRAINS_ANNOTATIONS_CONTRACT.equals(annotation.getQualifiedName())) return;
|
||||
|
||||
PsiMethod method = PsiTreeUtil.getParentOfType(annotation, PsiMethod.class);
|
||||
|
||||
+5
-5
@@ -95,7 +95,7 @@ public abstract class DataFlowInspectionBase extends AbstractBaseJavaLocalInspec
|
||||
public @NotNull PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitClass(PsiClass aClass) {
|
||||
public void visitClass(@NotNull PsiClass aClass) {
|
||||
if (aClass instanceof PsiTypeParameter) return;
|
||||
if (PsiUtil.isLocalOrAnonymousClass(aClass) && !(aClass instanceof PsiEnumConstantInitializer)) return;
|
||||
|
||||
@@ -121,7 +121,7 @@ public abstract class DataFlowInspectionBase extends AbstractBaseJavaLocalInspec
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethod(PsiMethod method) {
|
||||
public void visitMethod(@NotNull PsiMethod method) {
|
||||
if (method.isConstructor()) return;
|
||||
var runner = new StandardDataFlowRunner(holder.getProject(), ThreeState.fromBoolean(IGNORE_ASSERT_STATEMENTS));
|
||||
analyzeMethod(method, runner, Collections.singletonList(runner.createMemoryState()));
|
||||
@@ -138,7 +138,7 @@ public abstract class DataFlowInspectionBase extends AbstractBaseJavaLocalInspec
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodReferenceExpression(PsiMethodReferenceExpression expression) {
|
||||
public void visitMethodReferenceExpression(@NotNull PsiMethodReferenceExpression expression) {
|
||||
super.visitMethodReferenceExpression(expression);
|
||||
if (!REPORT_UNSOUND_WARNINGS) return;
|
||||
final PsiElement resolve = expression.resolve();
|
||||
@@ -154,7 +154,7 @@ public abstract class DataFlowInspectionBase extends AbstractBaseJavaLocalInspec
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitIfStatement(PsiIfStatement statement) {
|
||||
public void visitIfStatement(@NotNull PsiIfStatement statement) {
|
||||
PsiExpression condition = PsiUtil.skipParenthesizedExprDown(statement.getCondition());
|
||||
if (BoolUtils.isBooleanLiteral(condition)) {
|
||||
LocalQuickFix fix = createSimplifyBooleanExpressionFix(condition, condition.textMatches(PsiKeyword.TRUE));
|
||||
@@ -164,7 +164,7 @@ public abstract class DataFlowInspectionBase extends AbstractBaseJavaLocalInspec
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitDoWhileStatement(PsiDoWhileStatement statement) {
|
||||
public void visitDoWhileStatement(@NotNull PsiDoWhileStatement statement) {
|
||||
PsiExpression condition = PsiUtil.skipParenthesizedExprDown(statement.getCondition());
|
||||
if (condition != null && condition.textMatches(PsiKeyword.FALSE)) {
|
||||
holder.registerProblem(condition, JavaAnalysisBundle.message("dataflow.message.constant.no.ref", 0),
|
||||
|
||||
@@ -450,7 +450,7 @@ public final class DfaPsiUtil {
|
||||
final MultiMap<PsiField, PsiExpression> result = new MultiMap<>();
|
||||
JavaRecursiveElementWalkingVisitor visitor = new JavaRecursiveElementWalkingVisitor() {
|
||||
@Override
|
||||
public void visitAssignmentExpression(PsiAssignmentExpression assignment) {
|
||||
public void visitAssignmentExpression(@NotNull PsiAssignmentExpression assignment) {
|
||||
super.visitAssignmentExpression(assignment);
|
||||
PsiExpression lExpression = assignment.getLExpression();
|
||||
PsiExpression rExpression = assignment.getRExpression();
|
||||
|
||||
+3
-3
@@ -51,13 +51,13 @@ public final class StringExpressionHelper {
|
||||
|
||||
body.accept(new JavaRecursiveElementWalkingVisitor() {
|
||||
@Override
|
||||
public void visitClass(PsiClass aClass) {}
|
||||
public void visitClass(@NotNull PsiClass aClass) {}
|
||||
|
||||
@Override
|
||||
public void visitLambdaExpression(PsiLambdaExpression expression) {}
|
||||
public void visitLambdaExpression(@NotNull PsiLambdaExpression expression) {}
|
||||
|
||||
@Override
|
||||
public void visitReturnStatement(PsiReturnStatement statement) {
|
||||
public void visitReturnStatement(@NotNull PsiReturnStatement statement) {
|
||||
PsiExpression returnValue = statement.getReturnValue();
|
||||
if (returnValue != null) {
|
||||
returns.add(returnValue);
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ public class UnsatisfiedRangeInspection extends AbstractBaseJavaLocalInspectionT
|
||||
boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitMethod(PsiMethod method) {
|
||||
public void visitMethod(@NotNull PsiMethod method) {
|
||||
PsiCodeBlock body = method.getBody();
|
||||
if (body == null) return;
|
||||
PsiType returnType = method.getReturnType();
|
||||
|
||||
+55
-55
@@ -187,7 +187,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
throw new CannotAnalyzeException();
|
||||
}
|
||||
|
||||
@Override public void visitAssignmentExpression(PsiAssignmentExpression expression) {
|
||||
@Override public void visitAssignmentExpression(@NotNull PsiAssignmentExpression expression) {
|
||||
PsiExpression rExpr = expression.getRExpression();
|
||||
|
||||
startElement(expression);
|
||||
@@ -250,7 +250,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
finishElement(expression);
|
||||
}
|
||||
|
||||
@Override public void visitAssertStatement(PsiAssertStatement statement) {
|
||||
@Override public void visitAssertStatement(@NotNull PsiAssertStatement statement) {
|
||||
startElement(statement);
|
||||
addInstruction(new PushInstruction(AssertionDisabledDescriptor.createAssertionsDisabledVar(myFactory), null));
|
||||
ConditionalGotoInstruction jump = new ConditionalGotoInstruction(null, DfTypes.TRUE);
|
||||
@@ -271,7 +271,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
finishElement(statement);
|
||||
}
|
||||
|
||||
@Override public void visitDeclarationStatement(PsiDeclarationStatement statement) {
|
||||
@Override public void visitDeclarationStatement(@NotNull PsiDeclarationStatement statement) {
|
||||
startElement(statement);
|
||||
|
||||
PsiElement[] elements = statement.getDeclaredElements();
|
||||
@@ -292,7 +292,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitField(PsiField field) {
|
||||
public void visitField(@NotNull PsiField field) {
|
||||
PsiExpression initializer = field.getInitializer();
|
||||
if (initializer != null) {
|
||||
startElement(field);
|
||||
@@ -307,7 +307,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitClassInitializer(PsiClassInitializer initializer) {
|
||||
public void visitClassInitializer(@NotNull PsiClassInitializer initializer) {
|
||||
visitCodeBlock(initializer.getBody());
|
||||
}
|
||||
|
||||
@@ -322,7 +322,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitCodeFragment(JavaCodeFragment codeFragment) {
|
||||
public void visitCodeFragment(@NotNull JavaCodeFragment codeFragment) {
|
||||
startElement(codeFragment);
|
||||
if (codeFragment instanceof PsiExpressionCodeFragment) {
|
||||
PsiExpression expression = ((PsiExpressionCodeFragment)codeFragment).getExpression();
|
||||
@@ -333,7 +333,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
finishElement(codeFragment);
|
||||
}
|
||||
|
||||
@Override public void visitCodeBlock(PsiCodeBlock block) {
|
||||
@Override public void visitCodeBlock(@NotNull PsiCodeBlock block) {
|
||||
startElement(block);
|
||||
|
||||
PsiStatement[] blockStatements = block.getStatements();
|
||||
@@ -384,20 +384,20 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
}
|
||||
}
|
||||
|
||||
@Override public void visitBlockStatement(PsiBlockStatement statement) {
|
||||
@Override public void visitBlockStatement(@NotNull PsiBlockStatement statement) {
|
||||
startElement(statement);
|
||||
statement.getCodeBlock().accept(this);
|
||||
finishElement(statement);
|
||||
}
|
||||
|
||||
@Override public void visitBreakStatement(PsiBreakStatement statement) {
|
||||
@Override public void visitBreakStatement(@NotNull PsiBreakStatement statement) {
|
||||
startElement(statement);
|
||||
jumpOut(statement.findExitedStatement());
|
||||
finishElement(statement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitYieldStatement(PsiYieldStatement statement) {
|
||||
public void visitYieldStatement(@NotNull PsiYieldStatement statement) {
|
||||
startElement(statement);
|
||||
PsiSwitchExpression enclosing = statement.findEnclosingExpression();
|
||||
PsiExpression expression = statement.getExpression();
|
||||
@@ -440,7 +440,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
addInstruction(new ControlTransferInstruction(myFactory.controlTransfer(target, traps)));
|
||||
}
|
||||
|
||||
@Override public void visitContinueStatement(PsiContinueStatement statement) {
|
||||
@Override public void visitContinueStatement(@NotNull PsiContinueStatement statement) {
|
||||
startElement(statement);
|
||||
PsiStatement continuedStatement = statement.findContinuedStatement();
|
||||
if (continuedStatement instanceof PsiLoopStatement && PsiTreeUtil.isAncestor(myCodeFragment, continuedStatement, true)) {
|
||||
@@ -453,7 +453,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
finishElement(statement);
|
||||
}
|
||||
|
||||
@Override public void visitDoWhileStatement(PsiDoWhileStatement statement) {
|
||||
@Override public void visitDoWhileStatement(@NotNull PsiDoWhileStatement statement) {
|
||||
startElement(statement);
|
||||
|
||||
PsiStatement body = statement.getBody();
|
||||
@@ -474,12 +474,12 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
finishElement(statement);
|
||||
}
|
||||
|
||||
@Override public void visitEmptyStatement(PsiEmptyStatement statement) {
|
||||
@Override public void visitEmptyStatement(@NotNull PsiEmptyStatement statement) {
|
||||
startElement(statement);
|
||||
finishElement(statement);
|
||||
}
|
||||
|
||||
@Override public void visitExpressionStatement(PsiExpressionStatement statement) {
|
||||
@Override public void visitExpressionStatement(@NotNull PsiExpressionStatement statement) {
|
||||
startElement(statement);
|
||||
final PsiExpression expr = statement.getExpression();
|
||||
expr.accept(this);
|
||||
@@ -487,7 +487,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
finishElement(statement);
|
||||
}
|
||||
|
||||
@Override public void visitExpressionListStatement(PsiExpressionListStatement statement) {
|
||||
@Override public void visitExpressionListStatement(@NotNull PsiExpressionListStatement statement) {
|
||||
startElement(statement);
|
||||
PsiExpression[] expressions = statement.getExpressionList().getExpressions();
|
||||
for (PsiExpression expr : expressions) {
|
||||
@@ -517,7 +517,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
return expressions == null ? getFactory().getUnknown() : JavaDfaValueFactory.createCommonValue(getFactory(), expressions, type);
|
||||
}
|
||||
|
||||
@Override public void visitForeachStatement(PsiForeachStatement statement) {
|
||||
@Override public void visitForeachStatement(@NotNull PsiForeachStatement statement) {
|
||||
startElement(statement);
|
||||
final PsiParameter parameter = statement.getIterationParameter();
|
||||
final PsiExpression iteratedValue = PsiUtil.skipParenthesizedExprDown(statement.getIteratedValue());
|
||||
@@ -575,7 +575,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
removeVariable(parameter);
|
||||
}
|
||||
|
||||
@Override public void visitForStatement(PsiForStatement statement) {
|
||||
@Override public void visitForStatement(@NotNull PsiForStatement statement) {
|
||||
startElement(statement);
|
||||
final ArrayList<PsiElement> declaredVariables = new ArrayList<>();
|
||||
|
||||
@@ -584,12 +584,12 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
initialization.accept(this);
|
||||
initialization.accept(new JavaRecursiveElementWalkingVisitor() {
|
||||
@Override
|
||||
public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
visitElement(expression);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitDeclarationStatement(PsiDeclarationStatement statement) {
|
||||
public void visitDeclarationStatement(@NotNull PsiDeclarationStatement statement) {
|
||||
PsiElement[] declaredElements = statement.getDeclaredElements();
|
||||
for (PsiElement element : declaredElements) {
|
||||
if (element instanceof PsiVariable) {
|
||||
@@ -710,7 +710,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override public void visitIfStatement(PsiIfStatement statement) {
|
||||
@Override public void visitIfStatement(@NotNull PsiIfStatement statement) {
|
||||
startElement(statement);
|
||||
|
||||
PsiExpression condition = statement.getCondition();
|
||||
@@ -747,12 +747,12 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
// in case of JspTemplateStatement
|
||||
@Override public void visitStatement(PsiStatement statement) {
|
||||
@Override public void visitStatement(@NotNull PsiStatement statement) {
|
||||
startElement(statement);
|
||||
finishElement(statement);
|
||||
}
|
||||
|
||||
@Override public void visitLabeledStatement(PsiLabeledStatement statement) {
|
||||
@Override public void visitLabeledStatement(@NotNull PsiLabeledStatement statement) {
|
||||
startElement(statement);
|
||||
PsiStatement childStatement = statement.getStatement();
|
||||
if (childStatement != null) {
|
||||
@@ -762,7 +762,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitLambdaExpression(PsiLambdaExpression expression) {
|
||||
public void visitLambdaExpression(@NotNull PsiLambdaExpression expression) {
|
||||
startElement(expression);
|
||||
DfaValue dfaValue = JavaDfaValueFactory.getExpressionDfaValue(myFactory, expression);
|
||||
push(dfaValue == null ? myFactory.getUnknown() : dfaValue, expression);
|
||||
@@ -775,7 +775,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
Set<DfaVariableValue> escapedVars = new HashSet<>();
|
||||
closure.accept(new JavaRecursiveElementWalkingVisitor() {
|
||||
@Override
|
||||
public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
super.visitReferenceExpression(expression);
|
||||
final PsiElement target = expression.resolve();
|
||||
if (PsiUtil.isJvmLocalVariable(target)) {
|
||||
@@ -793,7 +793,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitThisExpression(PsiThisExpression expression) {
|
||||
public void visitThisExpression(@NotNull PsiThisExpression expression) {
|
||||
super.visitThisExpression(expression);
|
||||
DfaValue value = JavaDfaValueFactory.getExpressionDfaValue(getFactory(), expression);
|
||||
if (value instanceof DfaVariableValue) {
|
||||
@@ -826,7 +826,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
}
|
||||
}
|
||||
|
||||
@Override public void visitReturnStatement(PsiReturnStatement statement) {
|
||||
@Override public void visitReturnStatement(@NotNull PsiReturnStatement statement) {
|
||||
startElement(statement);
|
||||
|
||||
PsiExpression returnValue = statement.getReturnValue();
|
||||
@@ -858,7 +858,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSwitchLabelStatement(PsiSwitchLabelStatement statement) {
|
||||
public void visitSwitchLabelStatement(@NotNull PsiSwitchLabelStatement statement) {
|
||||
startElement(statement);
|
||||
PsiCaseLabelElementList labelElementList = statement.getCaseLabelElementList();
|
||||
if (labelElementList != null) {
|
||||
@@ -872,13 +872,13 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitDefaultCaseLabelElement(PsiDefaultCaseLabelElement element) {
|
||||
public void visitDefaultCaseLabelElement(@NotNull PsiDefaultCaseLabelElement element) {
|
||||
startElement(element);
|
||||
finishElement(element);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSwitchLabeledRuleStatement(PsiSwitchLabeledRuleStatement statement) {
|
||||
public void visitSwitchLabeledRuleStatement(@NotNull PsiSwitchLabeledRuleStatement statement) {
|
||||
PsiSwitchBlock switchBlock = statement.getEnclosingSwitchBlock();
|
||||
if (switchBlock == null) return;
|
||||
startElement(statement);
|
||||
@@ -906,14 +906,14 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
finishElement(statement);
|
||||
}
|
||||
|
||||
@Override public void visitSwitchStatement(PsiSwitchStatement switchStmt) {
|
||||
@Override public void visitSwitchStatement(@NotNull PsiSwitchStatement switchStmt) {
|
||||
startElement(switchStmt);
|
||||
processSwitch(switchStmt);
|
||||
finishElement(switchStmt);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSwitchExpression(PsiSwitchExpression expression) {
|
||||
public void visitSwitchExpression(@NotNull PsiSwitchExpression expression) {
|
||||
PsiCodeBlock body = expression.getBody();
|
||||
if (body == null) {
|
||||
processSwitch(expression);
|
||||
@@ -1136,7 +1136,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodReferenceExpression(PsiMethodReferenceExpression expression) {
|
||||
public void visitMethodReferenceExpression(@NotNull PsiMethodReferenceExpression expression) {
|
||||
startElement(expression);
|
||||
|
||||
PsiExpression qualifier = expression.getQualifierExpression();
|
||||
@@ -1151,7 +1151,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
finishElement(expression);
|
||||
}
|
||||
|
||||
@Override public void visitSynchronizedStatement(PsiSynchronizedStatement statement) {
|
||||
@Override public void visitSynchronizedStatement(@NotNull PsiSynchronizedStatement statement) {
|
||||
startElement(statement);
|
||||
|
||||
PsiExpression lock = statement.getLockExpression();
|
||||
@@ -1170,7 +1170,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
finishElement(statement);
|
||||
}
|
||||
|
||||
@Override public void visitThrowStatement(PsiThrowStatement statement) {
|
||||
@Override public void visitThrowStatement(@NotNull PsiThrowStatement statement) {
|
||||
startElement(statement);
|
||||
|
||||
PsiExpression exception = statement.getException();
|
||||
@@ -1194,7 +1194,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitTryStatement(PsiTryStatement statement) {
|
||||
public void visitTryStatement(@NotNull PsiTryStatement statement) {
|
||||
startElement(statement);
|
||||
|
||||
PsiResourceList resourceList = statement.getResourceList();
|
||||
@@ -1296,7 +1296,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitResourceList(PsiResourceList resourceList) {
|
||||
public void visitResourceList(@NotNull PsiResourceList resourceList) {
|
||||
for (PsiResourceListElement resource : resourceList) {
|
||||
if (resource instanceof PsiResourceVariable) {
|
||||
PsiResourceVariable variable = (PsiResourceVariable)resource;
|
||||
@@ -1312,7 +1312,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
}
|
||||
}
|
||||
|
||||
@Override public void visitWhileStatement(PsiWhileStatement statement) {
|
||||
@Override public void visitWhileStatement(@NotNull PsiWhileStatement statement) {
|
||||
startElement(statement);
|
||||
|
||||
PsiExpression condition = statement.getCondition();
|
||||
@@ -1337,7 +1337,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
finishElement(statement);
|
||||
}
|
||||
|
||||
@Override public void visitExpressionList(PsiExpressionList list) {
|
||||
@Override public void visitExpressionList(@NotNull PsiExpressionList list) {
|
||||
startElement(list);
|
||||
|
||||
PsiExpression[] expressions = list.getExpressions();
|
||||
@@ -1348,7 +1348,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
finishElement(list);
|
||||
}
|
||||
|
||||
@Override public void visitExpression(PsiExpression expression) {
|
||||
@Override public void visitExpression(@NotNull PsiExpression expression) {
|
||||
startElement(expression);
|
||||
DfaValue dfaValue = JavaDfaValueFactory.getExpressionDfaValue(myFactory, expression);
|
||||
push(dfaValue == null ? myFactory.getUnknown() : dfaValue, expression);
|
||||
@@ -1356,7 +1356,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitArrayAccessExpression(PsiArrayAccessExpression expression) {
|
||||
public void visitArrayAccessExpression(@NotNull PsiArrayAccessExpression expression) {
|
||||
startElement(expression);
|
||||
PsiExpression arrayExpression = expression.getArrayExpression();
|
||||
arrayExpression.accept(this);
|
||||
@@ -1401,7 +1401,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitArrayInitializerExpression(PsiArrayInitializerExpression expression) {
|
||||
public void visitArrayInitializerExpression(@NotNull PsiArrayInitializerExpression expression) {
|
||||
startElement(expression);
|
||||
initializeArray(expression, expression);
|
||||
finishElement(expression);
|
||||
@@ -1466,7 +1466,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitPolyadicExpression(PsiPolyadicExpression expression) {
|
||||
public void visitPolyadicExpression(@NotNull PsiPolyadicExpression expression) {
|
||||
startElement(expression);
|
||||
|
||||
DfaValue dfaValue = JavaDfaValueFactory.getExpressionDfaValue(myFactory, expression);
|
||||
@@ -1657,7 +1657,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
addInstruction(new ResultOfInstruction(new JavaExpressionAnchor(expression)));
|
||||
}
|
||||
|
||||
@Override public void visitClassObjectAccessExpression(PsiClassObjectAccessExpression expression) {
|
||||
@Override public void visitClassObjectAccessExpression(@NotNull PsiClassObjectAccessExpression expression) {
|
||||
startElement(expression);
|
||||
PsiTypeElement operand = expression.getOperand();
|
||||
DfType classConstant = DfTypes.referenceConstant(operand.getType(), expression.getType());
|
||||
@@ -1665,7 +1665,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
finishElement(expression);
|
||||
}
|
||||
|
||||
@Override public void visitConditionalExpression(PsiConditionalExpression expression) {
|
||||
@Override public void visitConditionalExpression(@NotNull PsiConditionalExpression expression) {
|
||||
startElement(expression);
|
||||
|
||||
PsiExpression thenExpression = expression.getThenExpression();
|
||||
@@ -1704,7 +1704,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
addInstruction(new PushValueInstruction(DfType.TOP, null));
|
||||
}
|
||||
|
||||
@Override public void visitInstanceOfExpression(PsiInstanceOfExpression expression) {
|
||||
@Override public void visitInstanceOfExpression(@NotNull PsiInstanceOfExpression expression) {
|
||||
startElement(expression);
|
||||
|
||||
PsiPattern pattern = expression.getPattern();
|
||||
@@ -1784,7 +1784,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodCallExpression(PsiMethodCallExpression call) {
|
||||
public void visitMethodCallExpression(@NotNull PsiMethodCallExpression call) {
|
||||
ArrayDeque<PsiMethodCallExpression> calls = new ArrayDeque<>();
|
||||
while (true) {
|
||||
calls.addFirst(call);
|
||||
@@ -1896,7 +1896,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitEnumConstant(PsiEnumConstant enumConstant) {
|
||||
public void visitEnumConstant(@NotNull PsiEnumConstant enumConstant) {
|
||||
if (enumConstant.getArgumentList() == null) return;
|
||||
|
||||
pushUnknown();
|
||||
@@ -1905,7 +1905,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
addInstruction(new PopInstruction());
|
||||
}
|
||||
|
||||
@Override public void visitNewExpression(PsiNewExpression expression) {
|
||||
@Override public void visitNewExpression(@NotNull PsiNewExpression expression) {
|
||||
startElement(expression);
|
||||
|
||||
PsiType type = expression.getType();
|
||||
@@ -2044,7 +2044,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
}
|
||||
}
|
||||
|
||||
@Override public void visitParenthesizedExpression(PsiParenthesizedExpression expression) {
|
||||
@Override public void visitParenthesizedExpression(@NotNull PsiParenthesizedExpression expression) {
|
||||
startElement(expression);
|
||||
PsiExpression inner = expression.getExpression();
|
||||
if (inner != null) {
|
||||
@@ -2056,7 +2056,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
finishElement(expression);
|
||||
}
|
||||
|
||||
@Override public void visitPostfixExpression(PsiPostfixExpression expression) {
|
||||
@Override public void visitPostfixExpression(@NotNull PsiPostfixExpression expression) {
|
||||
startElement(expression);
|
||||
|
||||
PsiExpression operand = PsiUtil.skipParenthesizedExprDown(expression.getOperand());
|
||||
@@ -2104,7 +2104,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override public void visitPrefixExpression(PsiPrefixExpression expression) {
|
||||
@Override public void visitPrefixExpression(@NotNull PsiPrefixExpression expression) {
|
||||
startElement(expression);
|
||||
|
||||
DfaValue dfaValue = expression.getOperationTokenType() == JavaTokenType.EXCL ? null : JavaDfaValueFactory
|
||||
@@ -2151,7 +2151,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
finishElement(expression);
|
||||
}
|
||||
|
||||
@Override public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
@Override public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
startElement(expression);
|
||||
|
||||
final PsiExpression qualifierExpression = expression.getQualifierExpression();
|
||||
@@ -2174,7 +2174,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
finishElement(expression);
|
||||
}
|
||||
|
||||
@Override public void visitLiteralExpression(PsiLiteralExpression expression) {
|
||||
@Override public void visitLiteralExpression(@NotNull PsiLiteralExpression expression) {
|
||||
startElement(expression);
|
||||
|
||||
DfType dfType = DfaPsiUtil.fromLiteral(expression);
|
||||
@@ -2186,7 +2186,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
finishElement(expression);
|
||||
}
|
||||
|
||||
@Override public void visitTypeCastExpression(PsiTypeCastExpression castExpression) {
|
||||
@Override public void visitTypeCastExpression(@NotNull PsiTypeCastExpression castExpression) {
|
||||
startElement(castExpression);
|
||||
PsiExpression operand = castExpression.getOperand();
|
||||
|
||||
@@ -2206,7 +2206,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
finishElement(castExpression);
|
||||
}
|
||||
|
||||
@Override public void visitClass(PsiClass aClass) {
|
||||
@Override public void visitClass(@NotNull PsiClass aClass) {
|
||||
}
|
||||
|
||||
@Contract("null -> false")
|
||||
|
||||
+1
-1
@@ -46,7 +46,7 @@ public class DuplicateThrowsInspection extends AbstractBaseJavaLocalInspectionTo
|
||||
public PsiElementVisitor buildVisitor(@NotNull final ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
|
||||
@Override public void visitMethod(PsiMethod method) {
|
||||
@Override public void visitMethod(@NotNull PsiMethod method) {
|
||||
PsiReferenceList throwsList = method.getThrowsList();
|
||||
PsiJavaCodeReferenceElement[] refs = throwsList.getReferenceElements();
|
||||
PsiClassType[] types = throwsList.getReferencedTypes();
|
||||
|
||||
+1
-1
@@ -52,7 +52,7 @@ public class EqualsAndHashcodeBase extends AbstractBaseJavaLocalInspectionTool {
|
||||
if (myEquals == null || myHashCode == null || !myEquals.isValid() || !myHashCode.isValid()) return PsiElementVisitor.EMPTY_VISITOR;
|
||||
|
||||
return new JavaElementVisitor() {
|
||||
@Override public void visitClass(PsiClass aClass) {
|
||||
@Override public void visitClass(@NotNull PsiClass aClass) {
|
||||
super.visitClass(aClass);
|
||||
boolean [] hasEquals = {false};
|
||||
boolean [] hasHashCode = {false};
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ public class Java8ListSortInspection extends AbstractBaseJavaLocalInspectionTool
|
||||
}
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitMethodCallExpression(PsiMethodCallExpression expression) {
|
||||
public void visitMethodCallExpression(@NotNull PsiMethodCallExpression expression) {
|
||||
super.visitMethodCallExpression(expression);
|
||||
PsiElement nameElement = expression.getMethodExpression().getReferenceNameElement();
|
||||
if(nameElement != null && expression.getArgumentList().getExpressionCount() == 2 &&
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@ public class Java9ModuleExportsPackageToItselfInspection extends AbstractBaseJav
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitPackageAccessibilityStatement(PsiPackageAccessibilityStatement statement) {
|
||||
public void visitPackageAccessibilityStatement(@NotNull PsiPackageAccessibilityStatement statement) {
|
||||
super.visitPackageAccessibilityStatement(statement);
|
||||
PsiJavaModule javaModule = PsiTreeUtil.getParentOfType(statement, PsiJavaModule.class);
|
||||
if (javaModule != null) {
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ public class JavaModuleNamingInspection extends AbstractBaseJavaLocalInspectionT
|
||||
public PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return !PsiUtil.isModuleFile(holder.getFile()) ? PsiElementVisitor.EMPTY_VISITOR : new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitModule(PsiJavaModule module) {
|
||||
public void visitModule(@NotNull PsiJavaModule module) {
|
||||
super.visitModule(module);
|
||||
|
||||
PsiJavaModuleReferenceElement name = module.getNameIdentifier();
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ public class JavaRequiresAutoModuleInspection extends AbstractBaseJavaLocalInspe
|
||||
public PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return !PsiUtil.isModuleFile(holder.getFile()) ? PsiElementVisitor.EMPTY_VISITOR : new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitRequiresStatement(PsiRequiresStatement statement) {
|
||||
public void visitRequiresStatement(@NotNull PsiRequiresStatement statement) {
|
||||
super.visitRequiresStatement(statement);
|
||||
PsiJavaModuleReferenceElement refElement = statement.getReferenceElement();
|
||||
if (refElement != null) {
|
||||
|
||||
+8
-8
@@ -116,7 +116,7 @@ public class LocalCanBeFinal extends AbstractBaseJavaLocalInspectionTool impleme
|
||||
final List<ProblemDescriptor> problems = new ArrayList<>();
|
||||
final HashSet<PsiVariable> result = new HashSet<>();
|
||||
body.accept(new JavaRecursiveElementWalkingVisitor() {
|
||||
@Override public void visitCodeBlock(PsiCodeBlock block) {
|
||||
@Override public void visitCodeBlock(@NotNull PsiCodeBlock block) {
|
||||
if (block.getParent() instanceof PsiLambdaExpression && block != body) {
|
||||
final List<ProblemDescriptor> descriptors = checkCodeBlock(block, manager, onTheFly);
|
||||
if (descriptors != null) {
|
||||
@@ -157,7 +157,7 @@ public class LocalCanBeFinal extends AbstractBaseJavaLocalInspectionTool impleme
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitResourceVariable(PsiResourceVariable variable) {
|
||||
public void visitResourceVariable(@NotNull PsiResourceVariable variable) {
|
||||
if (PsiTreeUtil.getParentOfType(variable, PsiClass.class) != PsiTreeUtil.getParentOfType(body, PsiClass.class)) {
|
||||
return;
|
||||
}
|
||||
@@ -165,7 +165,7 @@ public class LocalCanBeFinal extends AbstractBaseJavaLocalInspectionTool impleme
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitCatchSection(PsiCatchSection section) {
|
||||
public void visitCatchSection(@NotNull PsiCatchSection section) {
|
||||
super.visitCatchSection(section);
|
||||
if (!REPORT_CATCH_PARAMETERS) return;
|
||||
final PsiParameter parameter = section.getParameter();
|
||||
@@ -182,7 +182,7 @@ public class LocalCanBeFinal extends AbstractBaseJavaLocalInspectionTool impleme
|
||||
}
|
||||
}
|
||||
|
||||
@Override public void visitForeachStatement(PsiForeachStatement statement) {
|
||||
@Override public void visitForeachStatement(@NotNull PsiForeachStatement statement) {
|
||||
super.visitForeachStatement(statement);
|
||||
if (!REPORT_FOREACH_PARAMETERS) return;
|
||||
final PsiParameter param = statement.getIterationParameter();
|
||||
@@ -204,11 +204,11 @@ public class LocalCanBeFinal extends AbstractBaseJavaLocalInspectionTool impleme
|
||||
PsiElement[] children = block.getChildren();
|
||||
for (PsiElement child : children) {
|
||||
child.accept(new JavaElementVisitor() {
|
||||
@Override public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
@Override public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
visitReferenceElement(expression);
|
||||
}
|
||||
|
||||
@Override public void visitDeclarationStatement(PsiDeclarationStatement statement) {
|
||||
@Override public void visitDeclarationStatement(@NotNull PsiDeclarationStatement statement) {
|
||||
PsiElement[] declaredElements = statement.getDeclaredElements();
|
||||
for (PsiElement declaredElement : declaredElements) {
|
||||
if (declaredElement instanceof PsiVariable) result.add((PsiVariable)declaredElement);
|
||||
@@ -216,7 +216,7 @@ public class LocalCanBeFinal extends AbstractBaseJavaLocalInspectionTool impleme
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitForStatement(PsiForStatement statement) {
|
||||
public void visitForStatement(@NotNull PsiForStatement statement) {
|
||||
super.visitForStatement(statement);
|
||||
final PsiStatement initialization = statement.getInitialization();
|
||||
if (!(initialization instanceof PsiDeclarationStatement)) {
|
||||
@@ -236,7 +236,7 @@ public class LocalCanBeFinal extends AbstractBaseJavaLocalInspectionTool impleme
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
@Override public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
if (expression.getParent() instanceof PsiMethodCallExpression) {
|
||||
super.visitReferenceExpression(expression);
|
||||
}
|
||||
|
||||
+3
-3
@@ -43,7 +43,7 @@ public class RedundantTypeArgsInspection extends GenericsInspectionToolBase {
|
||||
final List<ProblemDescriptor> problems = new ArrayList<>();
|
||||
place.accept(new JavaRecursiveElementWalkingVisitor() {
|
||||
@Override
|
||||
public void visitMethodCallExpression(PsiMethodCallExpression expression) {
|
||||
public void visitMethodCallExpression(@NotNull PsiMethodCallExpression expression) {
|
||||
super.visitMethodCallExpression(expression);
|
||||
final PsiType[] typeArguments = expression.getTypeArguments();
|
||||
if (typeArguments.length > 0) {
|
||||
@@ -52,7 +52,7 @@ public class RedundantTypeArgsInspection extends GenericsInspectionToolBase {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitNewExpression(PsiNewExpression expression) {
|
||||
public void visitNewExpression(@NotNull PsiNewExpression expression) {
|
||||
super.visitNewExpression(expression);
|
||||
final PsiType[] typeArguments = expression.getTypeArguments();
|
||||
if (typeArguments.length > 0) {
|
||||
@@ -64,7 +64,7 @@ public class RedundantTypeArgsInspection extends GenericsInspectionToolBase {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodReferenceExpression(PsiMethodReferenceExpression expression) {
|
||||
public void visitMethodReferenceExpression(@NotNull PsiMethodReferenceExpression expression) {
|
||||
super.visitMethodReferenceExpression(expression);
|
||||
checkMethodReference(expression, inspectionManager, problems, isOnTheFly);
|
||||
}
|
||||
|
||||
+2
-2
@@ -43,7 +43,7 @@ public class SuspiciousCollectionsMethodCallsInspection extends AbstractBaseJava
|
||||
final List<SuspiciousMethodCallUtil.PatternMethod> patternMethods = new ArrayList<>();
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitMethodCallExpression(PsiMethodCallExpression methodCall) {
|
||||
public void visitMethodCallExpression(@NotNull PsiMethodCallExpression methodCall) {
|
||||
final PsiExpression[] args = methodCall.getArgumentList().getExpressions();
|
||||
if (args.length < 1) return;
|
||||
for (int idx = 0; idx < Math.min(2, args.length); idx ++) {
|
||||
@@ -55,7 +55,7 @@ public class SuspiciousCollectionsMethodCallsInspection extends AbstractBaseJava
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodReferenceExpression(PsiMethodReferenceExpression expression) {
|
||||
public void visitMethodReferenceExpression(@NotNull PsiMethodReferenceExpression expression) {
|
||||
final PsiType functionalInterfaceType = expression.getFunctionalInterfaceType();
|
||||
final PsiClassType.ClassResolveResult functionalInterfaceResolveResult = PsiUtil.resolveGenericsClassInType(functionalInterfaceType);
|
||||
final PsiMethod interfaceMethod = LambdaUtil.getFunctionalInterfaceMethod(functionalInterfaceType);
|
||||
|
||||
+11
-11
@@ -106,12 +106,12 @@ public class NullableStuffInspectionBase extends AbstractBaseJavaLocalInspection
|
||||
private final List<String> notNulls = manager.getNotNulls();
|
||||
|
||||
@Override
|
||||
public void visitMethod(PsiMethod method) {
|
||||
public void visitMethod(@NotNull PsiMethod method) {
|
||||
checkNullableStuffForMethod(method, holder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodReferenceExpression(PsiMethodReferenceExpression expression) {
|
||||
public void visitMethodReferenceExpression(@NotNull PsiMethodReferenceExpression expression) {
|
||||
checkMethodReference(expression, holder);
|
||||
|
||||
JavaResolveResult result = expression.advancedResolve(false);
|
||||
@@ -124,7 +124,7 @@ public class NullableStuffInspectionBase extends AbstractBaseJavaLocalInspection
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitField(PsiField field) {
|
||||
public void visitField(@NotNull PsiField field) {
|
||||
final PsiType type = field.getType();
|
||||
final Annotated annotated = check(field, holder, type);
|
||||
if (TypeConversionUtil.isPrimitiveAndNotNull(type)) {
|
||||
@@ -144,12 +144,12 @@ public class NullableStuffInspectionBase extends AbstractBaseJavaLocalInspection
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitParameter(PsiParameter parameter) {
|
||||
public void visitParameter(@NotNull PsiParameter parameter) {
|
||||
check(parameter, holder, parameter.getType());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitAnnotation(PsiAnnotation annotation) {
|
||||
public void visitAnnotation(@NotNull PsiAnnotation annotation) {
|
||||
String qualifiedName = annotation.getQualifiedName();
|
||||
Optional<Nullability> nullabilityOptional = manager.getAnnotationNullability(qualifiedName);
|
||||
if (nullabilityOptional.isEmpty()) return;
|
||||
@@ -254,7 +254,7 @@ public class NullableStuffInspectionBase extends AbstractBaseJavaLocalInspection
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReferenceElement(PsiJavaCodeReferenceElement reference) {
|
||||
public void visitReferenceElement(@NotNull PsiJavaCodeReferenceElement reference) {
|
||||
super.visitReferenceElement(reference);
|
||||
|
||||
checkNullableNotNullInstantiationConflict(reference);
|
||||
@@ -307,12 +307,12 @@ public class NullableStuffInspectionBase extends AbstractBaseJavaLocalInspection
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitAssignmentExpression(PsiAssignmentExpression expression) {
|
||||
public void visitAssignmentExpression(@NotNull PsiAssignmentExpression expression) {
|
||||
checkCollectionNullityOnAssignment(expression.getOperationSign(), expression.getLExpression().getType(), expression.getRExpression());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitLocalVariable(PsiLocalVariable variable) {
|
||||
public void visitLocalVariable(@NotNull PsiLocalVariable variable) {
|
||||
PsiIdentifier identifier = variable.getNameIdentifier();
|
||||
if (identifier != null) {
|
||||
checkCollectionNullityOnAssignment(identifier, variable.getType(), variable.getInitializer());
|
||||
@@ -320,7 +320,7 @@ public class NullableStuffInspectionBase extends AbstractBaseJavaLocalInspection
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReturnStatement(PsiReturnStatement statement) {
|
||||
public void visitReturnStatement(@NotNull PsiReturnStatement statement) {
|
||||
PsiExpression returnValue = statement.getReturnValue();
|
||||
if (returnValue == null) return;
|
||||
|
||||
@@ -328,7 +328,7 @@ public class NullableStuffInspectionBase extends AbstractBaseJavaLocalInspection
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitLambdaExpression(PsiLambdaExpression lambda) {
|
||||
public void visitLambdaExpression(@NotNull PsiLambdaExpression lambda) {
|
||||
super.visitLambdaExpression(lambda);
|
||||
PsiElement body = lambda.getBody();
|
||||
if (body instanceof PsiExpression) {
|
||||
@@ -337,7 +337,7 @@ public class NullableStuffInspectionBase extends AbstractBaseJavaLocalInspection
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitCallExpression(PsiCallExpression callExpression) {
|
||||
public void visitCallExpression(@NotNull PsiCallExpression callExpression) {
|
||||
PsiExpressionList argList = callExpression.getArgumentList();
|
||||
JavaResolveResult result = callExpression.resolveMethodGenerics();
|
||||
PsiMethod method = (PsiMethod)result.getElement();
|
||||
|
||||
+3
-2
@@ -3,6 +3,7 @@ package com.intellij.codeInspection.reference;
|
||||
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.*;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.uast.UFile;
|
||||
import org.jetbrains.uast.UastContextKt;
|
||||
|
||||
@@ -19,13 +20,13 @@ public class RefJavaFileImpl extends RefFileImpl {
|
||||
if (packageStatement != null) {
|
||||
packageStatement.accept(new JavaRecursiveElementWalkingVisitor() {
|
||||
@Override
|
||||
public void visitReferenceElement(PsiJavaCodeReferenceElement reference) {
|
||||
public void visitReferenceElement(@NotNull PsiJavaCodeReferenceElement reference) {
|
||||
super.visitReferenceElement(reference);
|
||||
processReference(reference.resolve());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitNameValuePair(PsiNameValuePair pair) {
|
||||
public void visitNameValuePair(@NotNull PsiNameValuePair pair) {
|
||||
super.visitNameValuePair(pair);
|
||||
PsiReference reference = pair.getReference();
|
||||
if (reference != null) {
|
||||
|
||||
+2
-2
@@ -434,7 +434,7 @@ public final class RedundantThrowsDeclarationInspection extends GlobalJavaBatchI
|
||||
|
||||
block.accept(new JavaRecursiveElementWalkingVisitor() {
|
||||
@Override
|
||||
public void visitCallExpression(PsiCallExpression callExpression) {
|
||||
public void visitCallExpression(@NotNull PsiCallExpression callExpression) {
|
||||
final List<PsiClassType> exceptions = ExceptionUtil.getUnhandledExceptions(callExpression, block);
|
||||
for (PsiClassType exception : exceptions) {
|
||||
addExceptionInducer(exception, callExpression);
|
||||
@@ -442,7 +442,7 @@ public final class RedundantThrowsDeclarationInspection extends GlobalJavaBatchI
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitThrowStatement(PsiThrowStatement statement) {
|
||||
public void visitThrowStatement(@NotNull PsiThrowStatement statement) {
|
||||
final PsiExpression exception = statement.getException();
|
||||
if (exception == null) return;
|
||||
|
||||
|
||||
+1
-1
@@ -45,7 +45,7 @@ class ImportsAreUsedVisitor extends JavaRecursiveElementWalkingVisitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitImportList(PsiImportList list) {
|
||||
public void visitImportList(@NotNull PsiImportList list) {
|
||||
//ignore imports
|
||||
}
|
||||
|
||||
|
||||
+6
-6
@@ -77,17 +77,17 @@ public final class LambdaGenerationUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitClass(PsiClass aClass) {
|
||||
public void visitClass(@NotNull PsiClass aClass) {
|
||||
// do not go down the local/anonymous classes
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitLambdaExpression(PsiLambdaExpression expression) {
|
||||
public void visitLambdaExpression(@NotNull PsiLambdaExpression expression) {
|
||||
// do not go down the nested lambda expressions
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
if(!myCanBeLambdaBody) return;
|
||||
super.visitReferenceExpression(expression);
|
||||
PsiElement element = expression.resolve();
|
||||
@@ -106,7 +106,7 @@ public final class LambdaGenerationUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitBreakStatement(PsiBreakStatement statement) {
|
||||
public void visitBreakStatement(@NotNull PsiBreakStatement statement) {
|
||||
PsiStatement exitedStatement = statement.findExitedStatement();
|
||||
if(exitedStatement == null || !PsiTreeUtil.isAncestor(myRoot, exitedStatement, false)) {
|
||||
myCanBeLambdaBody = false;
|
||||
@@ -115,7 +115,7 @@ public final class LambdaGenerationUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitContinueStatement(PsiContinueStatement statement) {
|
||||
public void visitContinueStatement(@NotNull PsiContinueStatement statement) {
|
||||
PsiStatement continuedStatement = statement.findContinuedStatement();
|
||||
if(continuedStatement == null || !PsiTreeUtil.isAncestor(myRoot, continuedStatement, false)) {
|
||||
myCanBeLambdaBody = false;
|
||||
@@ -124,7 +124,7 @@ public final class LambdaGenerationUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReturnStatement(PsiReturnStatement statement) {
|
||||
public void visitReturnStatement(@NotNull PsiReturnStatement statement) {
|
||||
myCanBeLambdaBody = false;
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -75,17 +75,17 @@ class AccessCanBeTightenedInspection extends AbstractBaseJavaLocalInspectionTool
|
||||
private final TObjectIntHashMap<PsiClass> maxSuggestedLevelForChildMembers = new TObjectIntHashMap<>();
|
||||
|
||||
@Override
|
||||
public void visitClass(PsiClass aClass) {
|
||||
public void visitClass(@NotNull PsiClass aClass) {
|
||||
checkMember(aClass);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethod(PsiMethod method) {
|
||||
public void visitMethod(@NotNull PsiMethod method) {
|
||||
checkMember(method);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitField(PsiField field) {
|
||||
public void visitField(@NotNull PsiField field) {
|
||||
checkMember(field);
|
||||
}
|
||||
|
||||
|
||||
@@ -113,13 +113,13 @@ public final class RedundantCastUtil {
|
||||
|
||||
protected abstract void registerCast(@NotNull PsiTypeCastExpression typeCast);
|
||||
|
||||
@Override public void visitAssignmentExpression(PsiAssignmentExpression expression) {
|
||||
@Override public void visitAssignmentExpression(@NotNull PsiAssignmentExpression expression) {
|
||||
processTypeCastWithExpectedType(expression.getRExpression(), expression.getLExpression().getType());
|
||||
super.visitAssignmentExpression(expression);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitArrayInitializerExpression(PsiArrayInitializerExpression expression) {
|
||||
public void visitArrayInitializerExpression(@NotNull PsiArrayInitializerExpression expression) {
|
||||
PsiType type = expression.getType();
|
||||
if (type instanceof PsiArrayType) {
|
||||
for (PsiExpression initializer : expression.getInitializers()) {
|
||||
@@ -129,7 +129,7 @@ public final class RedundantCastUtil {
|
||||
super.visitArrayInitializerExpression(expression);
|
||||
}
|
||||
|
||||
@Override public void visitVariable(PsiVariable variable) {
|
||||
@Override public void visitVariable(@NotNull PsiVariable variable) {
|
||||
PsiExpression initializer = deparenthesizeExpression(variable.getInitializer());
|
||||
// Do not read variable type if initializer is not a cast
|
||||
// Variable could be a lambda parameter where there's no initializer but it's hard to determine its type
|
||||
@@ -139,7 +139,7 @@ public final class RedundantCastUtil {
|
||||
super.visitVariable(variable);
|
||||
}
|
||||
|
||||
@Override public void visitReturnStatement(PsiReturnStatement statement) {
|
||||
@Override public void visitReturnStatement(@NotNull PsiReturnStatement statement) {
|
||||
final PsiMethod method = PsiTreeUtil.getParentOfType(statement, PsiMethod.class, true, PsiLambdaExpression.class);
|
||||
if (method != null) {
|
||||
final PsiType returnType = method.getReturnType();
|
||||
@@ -189,7 +189,7 @@ public final class RedundantCastUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitPolyadicExpression(PsiPolyadicExpression expression) {
|
||||
public void visitPolyadicExpression(@NotNull PsiPolyadicExpression expression) {
|
||||
class Processor {
|
||||
private @Nullable PsiType processBinaryExpressionOperand(final PsiExpression operand,
|
||||
final PsiType otherType,
|
||||
@@ -224,19 +224,19 @@ public final class RedundantCastUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitCallExpression(PsiCallExpression callExpression) {
|
||||
public void visitCallExpression(@NotNull PsiCallExpression callExpression) {
|
||||
processCall(callExpression);
|
||||
super.visitCallExpression(callExpression);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitEnumConstant(PsiEnumConstant enumConstant) {
|
||||
public void visitEnumConstant(@NotNull PsiEnumConstant enumConstant) {
|
||||
processCall(enumConstant);
|
||||
super.visitEnumConstant(enumConstant);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
PsiExpression qualifier = deparenthesizeExpression(expression.getQualifierExpression());
|
||||
if (qualifier instanceof PsiTypeCastExpression) {
|
||||
PsiTypeCastExpression typeCast = (PsiTypeCastExpression)qualifier;
|
||||
@@ -601,7 +601,7 @@ public final class RedundantCastUtil {
|
||||
}
|
||||
|
||||
//nested type casts only
|
||||
@Override public void visitTypeCastExpression(PsiTypeCastExpression typeCast) {
|
||||
@Override public void visitTypeCastExpression(@NotNull PsiTypeCastExpression typeCast) {
|
||||
PsiExpression operand = typeCast.getOperand();
|
||||
if (operand == null) return;
|
||||
|
||||
@@ -631,7 +631,7 @@ public final class RedundantCastUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitForeachStatement(PsiForeachStatement statement) {
|
||||
public void visitForeachStatement(@NotNull PsiForeachStatement statement) {
|
||||
PsiExpression iteratedValue = deparenthesizeExpression(statement.getIteratedValue());
|
||||
if (iteratedValue instanceof PsiTypeCastExpression) {
|
||||
PsiExpression operand = ((PsiTypeCastExpression)iteratedValue).getOperand();
|
||||
@@ -646,7 +646,7 @@ public final class RedundantCastUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitInstanceOfExpression(PsiInstanceOfExpression expression) {
|
||||
public void visitInstanceOfExpression(@NotNull PsiInstanceOfExpression expression) {
|
||||
final PsiTypeElement checkTypeElement = expression.getCheckType();
|
||||
if (checkTypeElement == null) return;
|
||||
PsiExpression typeCast = deparenthesizeExpression(expression.getOperand());
|
||||
@@ -668,7 +668,7 @@ public final class RedundantCastUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitThrowStatement(PsiThrowStatement statement) {
|
||||
public void visitThrowStatement(@NotNull PsiThrowStatement statement) {
|
||||
PsiExpression typeCast = deparenthesizeExpression(statement.getException());
|
||||
if (typeCast instanceof PsiTypeCastExpression) {
|
||||
PsiExpression operand = getInnerMostOperand(((PsiTypeCastExpression)typeCast).getOperand());
|
||||
@@ -711,7 +711,7 @@ public final class RedundantCastUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSynchronizedStatement(PsiSynchronizedStatement statement) {
|
||||
public void visitSynchronizedStatement(@NotNull PsiSynchronizedStatement statement) {
|
||||
PsiExpression lockExpression = deparenthesizeExpression(statement.getLockExpression());
|
||||
if (lockExpression instanceof PsiTypeCastExpression) {
|
||||
PsiExpression operand = getInnerMostOperand(((PsiTypeCastExpression)lockExpression).getOperand());
|
||||
@@ -726,13 +726,13 @@ public final class RedundantCastUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSwitchStatement(PsiSwitchStatement statement) {
|
||||
public void visitSwitchStatement(@NotNull PsiSwitchStatement statement) {
|
||||
visitSwitchBlockSelector(statement);
|
||||
super.visitSwitchStatement(statement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSwitchExpression(PsiSwitchExpression expression) {
|
||||
public void visitSwitchExpression(@NotNull PsiSwitchExpression expression) {
|
||||
visitSwitchBlockSelector(expression);
|
||||
|
||||
PsiType expectedTypeByParent = PsiTypesUtil.getExpectedTypeByParent(expression);
|
||||
@@ -763,38 +763,38 @@ public final class RedundantCastUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitAssertStatement(PsiAssertStatement statement) {
|
||||
public void visitAssertStatement(@NotNull PsiAssertStatement statement) {
|
||||
addIfNarrowing(statement.getAssertCondition(), PsiType.BOOLEAN);
|
||||
addIfNarrowing(statement.getAssertDescription(), PsiType.getJavaLangString(statement.getManager(), statement.getResolveScope()));
|
||||
super.visitAssertStatement(statement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitDoWhileStatement(PsiDoWhileStatement statement) {
|
||||
public void visitDoWhileStatement(@NotNull PsiDoWhileStatement statement) {
|
||||
addIfNarrowing(statement.getCondition(), PsiType.BOOLEAN);
|
||||
super.visitDoWhileStatement(statement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitIfStatement(PsiIfStatement statement) {
|
||||
public void visitIfStatement(@NotNull PsiIfStatement statement) {
|
||||
addIfNarrowing(statement.getCondition(), PsiType.BOOLEAN);
|
||||
super.visitIfStatement(statement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitWhileStatement(PsiWhileStatement statement) {
|
||||
public void visitWhileStatement(@NotNull PsiWhileStatement statement) {
|
||||
addIfNarrowing(statement.getCondition(), PsiType.BOOLEAN);
|
||||
super.visitWhileStatement(statement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitResourceExpression(PsiResourceExpression expression) {
|
||||
public void visitResourceExpression(@NotNull PsiResourceExpression expression) {
|
||||
addIfNarrowing(expression.getExpression(), null);
|
||||
super.visitResourceExpression(expression);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitExpressionStatement(PsiExpressionStatement statement) {
|
||||
public void visitExpressionStatement(@NotNull PsiExpressionStatement statement) {
|
||||
if (!(statement.getParent() instanceof PsiSwitchLabeledRuleStatement)) {
|
||||
addIfNarrowing(statement.getExpression(), null);
|
||||
}
|
||||
@@ -802,7 +802,7 @@ public final class RedundantCastUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitNameValuePair(PsiNameValuePair pair) {
|
||||
public void visitNameValuePair(@NotNull PsiNameValuePair pair) {
|
||||
PsiAnnotationMemberValue value = pair.getValue();
|
||||
if (value instanceof PsiExpression) {
|
||||
addIfNarrowing((PsiExpression)value, null);
|
||||
@@ -811,7 +811,7 @@ public final class RedundantCastUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitLambdaExpression(PsiLambdaExpression expression) {
|
||||
public void visitLambdaExpression(@NotNull PsiLambdaExpression expression) {
|
||||
if (!(PsiUtil.skipParenthesizedExprUp(expression.getParent()) instanceof PsiExpressionList)) {
|
||||
PsiMethod method = LambdaUtil.getFunctionalInterfaceMethod(expression);
|
||||
if (method != null) {
|
||||
@@ -834,7 +834,7 @@ public final class RedundantCastUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitConditionalExpression(PsiConditionalExpression conditionalExpression) {
|
||||
public void visitConditionalExpression(@NotNull PsiConditionalExpression conditionalExpression) {
|
||||
PsiElement gParent = PsiUtil.skipParenthesizedExprUp(conditionalExpression.getParent());
|
||||
if (gParent instanceof PsiLambdaExpression) return;
|
||||
if (gParent instanceof PsiReturnStatement &&
|
||||
@@ -922,7 +922,7 @@ public final class RedundantCastUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitArrayAccessExpression(PsiArrayAccessExpression expression) {
|
||||
public void visitArrayAccessExpression(@NotNull PsiArrayAccessExpression expression) {
|
||||
PsiExpression arrayExpression = deparenthesizeExpression(expression.getArrayExpression());
|
||||
if (arrayExpression instanceof PsiTypeCastExpression) {
|
||||
PsiTypeElement castTypeElement = ((PsiTypeCastExpression)arrayExpression).getCastType();
|
||||
|
||||
+1
-1
@@ -67,7 +67,7 @@ public final class ExtractMethodUtil {
|
||||
assert body != null;
|
||||
final JavaRecursiveElementVisitor visitor = new JavaRecursiveElementVisitor() {
|
||||
|
||||
@Override public void visitMethodCallExpression(PsiMethodCallExpression expression) {
|
||||
@Override public void visitMethodCallExpression(@NotNull PsiMethodCallExpression expression) {
|
||||
super.visitMethodCallExpression(expression);
|
||||
final PsiMethod target = expression.getCopyableUserData(RESOLVE_TARGET_KEY);
|
||||
if (target != null) {
|
||||
|
||||
+3
-3
@@ -156,7 +156,7 @@ public class ParametersFolder {
|
||||
final Set<PsiVariable> found = new HashSet<>();
|
||||
expression.accept(new JavaRecursiveElementVisitor() {
|
||||
@Override
|
||||
public void visitReferenceExpression(PsiReferenceExpression referenceExpression) {
|
||||
public void visitReferenceExpression(@NotNull PsiReferenceExpression referenceExpression) {
|
||||
super.visitReferenceExpression(referenceExpression);
|
||||
PsiElement resolved = referenceExpression.resolve();
|
||||
if (resolved instanceof PsiVariable && inputVariables.contains(resolved)) {
|
||||
@@ -260,7 +260,7 @@ public class ParametersFolder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitExpression(PsiExpression expression) {
|
||||
public void visitExpression(@NotNull PsiExpression expression) {
|
||||
if (PsiUtil.isAccessedForWriting(expression)) {
|
||||
exprWithWriteAccessInside[0] = expression;
|
||||
}
|
||||
@@ -315,7 +315,7 @@ public class ParametersFolder {
|
||||
final boolean[] localVarsUsed = {false};
|
||||
expression.accept(new JavaRecursiveElementWalkingVisitor(){
|
||||
@Override
|
||||
public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
final PsiElement resolved = expression.resolve();
|
||||
if (resolved instanceof PsiVariable) {
|
||||
final PsiVariable variable = (PsiVariable)resolved;
|
||||
|
||||
+3
-3
@@ -138,7 +138,7 @@ public final class DuplicatesFinder {
|
||||
private void annotatePattern() {
|
||||
JavaRecursiveElementWalkingVisitor visitor = new JavaRecursiveElementWalkingVisitor() {
|
||||
@Override
|
||||
public void visitReferenceElement(PsiJavaCodeReferenceElement reference) {
|
||||
public void visitReferenceElement(@NotNull PsiJavaCodeReferenceElement reference) {
|
||||
final PsiElement element = reference.resolve();
|
||||
if (element instanceof PsiVariable) {
|
||||
final PsiVariable variable = (PsiVariable)element;
|
||||
@@ -162,7 +162,7 @@ public final class DuplicatesFinder {
|
||||
private void deannotatePattern() {
|
||||
JavaRecursiveElementWalkingVisitor visitor = new JavaRecursiveElementWalkingVisitor() {
|
||||
@Override
|
||||
public void visitExpression(PsiExpression expression) {
|
||||
public void visitExpression(@NotNull PsiExpression expression) {
|
||||
super.visitExpression(expression);
|
||||
if (expression.getUserData(PARAMETER) != null) {
|
||||
expression.putUserData(PARAMETER, null);
|
||||
@@ -170,7 +170,7 @@ public final class DuplicatesFinder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReferenceElement(PsiJavaCodeReferenceElement reference) {
|
||||
public void visitReferenceElement(@NotNull PsiJavaCodeReferenceElement reference) {
|
||||
if (reference.getUserData(PARAMETER) != null) {
|
||||
reference.putUserData(PARAMETER, null);
|
||||
}
|
||||
|
||||
+3
-3
@@ -127,14 +127,14 @@ public class ExtractedParameter {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitAssignmentExpression(PsiAssignmentExpression expression) {
|
||||
public void visitAssignmentExpression(@NotNull PsiAssignmentExpression expression) {
|
||||
super.visitAssignmentExpression(expression);
|
||||
|
||||
visitModifiedExpression(expression.getLExpression());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitPrefixExpression(PsiPrefixExpression expression) {
|
||||
public void visitPrefixExpression(@NotNull PsiPrefixExpression expression) {
|
||||
super.visitPrefixExpression(expression);
|
||||
|
||||
IElementType op = expression.getOperationTokenType();
|
||||
@@ -144,7 +144,7 @@ public class ExtractedParameter {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitPostfixExpression(PsiPostfixExpression expression) {
|
||||
public void visitPostfixExpression(@NotNull PsiPostfixExpression expression) {
|
||||
super.visitPostfixExpression(expression);
|
||||
|
||||
IElementType op = expression.getOperationTokenType();
|
||||
|
||||
@@ -110,7 +110,7 @@ public final class Match {
|
||||
final boolean [] valueDependsOnReplacedScope = new boolean[1];
|
||||
value.accept(new JavaRecursiveElementWalkingVisitor() {
|
||||
@Override
|
||||
public void visitReferenceExpression(final PsiReferenceExpression expression) {
|
||||
public void visitReferenceExpression(final @NotNull PsiReferenceExpression expression) {
|
||||
super.visitReferenceExpression(expression);
|
||||
final PsiElement resolved = expression.resolve();
|
||||
if (resolved != null && Comparing.equal(resolved.getContainingFile(), getMatchEnd().getContainingFile())) {
|
||||
|
||||
@@ -59,7 +59,7 @@ public final class ErrorUtil {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitLiteralExpression(PsiLiteralExpression literal) {
|
||||
public void visitLiteralExpression(@NotNull PsiLiteralExpression literal) {
|
||||
if (PsiLiteralUtil.isUnsafeLiteral(literal)) {
|
||||
containsErrorElement = true;
|
||||
stopWalking();
|
||||
|
||||
+1
-1
@@ -76,7 +76,7 @@ public class ClassHasNoToStringMethodInspection extends AbstractToStringInspecti
|
||||
public PsiElementVisitor buildVisitor(@NotNull final ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitClass(PsiClass clazz) {
|
||||
public void visitClass(@NotNull PsiClass clazz) {
|
||||
if (LOG.isDebugEnabled()) LOG.debug("checkClass: clazz=" + clazz);
|
||||
|
||||
// must be a class
|
||||
|
||||
+2
-2
@@ -62,7 +62,7 @@ public final class FieldNotUsedInToStringInspection extends AbstractToStringInsp
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethod(PsiMethod method) {
|
||||
public void visitMethod(@NotNull PsiMethod method) {
|
||||
super.visitMethod(method);
|
||||
@NonNls final String methodName = method.getName();
|
||||
if (!"toString".equals(methodName)) {
|
||||
@@ -120,7 +120,7 @@ public final class FieldNotUsedInToStringInspection extends AbstractToStringInsp
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
if (myUnusedFields.isEmpty() && myUnusedMethods.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
+6
-6
@@ -43,7 +43,7 @@ public class BulkFileAttributesReadInspection extends AbstractBaseJavaLocalInspe
|
||||
if (!PsiUtil.isLanguageLevel7OrHigher(holder.getFile())) return PsiElementVisitor.EMPTY_VISITOR;
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitMethod(PsiMethod method) {
|
||||
public void visitMethod(@NotNull PsiMethod method) {
|
||||
super.visitMethod(method);
|
||||
PsiCodeBlock methodBody = method.getBody();
|
||||
if (methodBody == null) return;
|
||||
@@ -122,22 +122,22 @@ public class BulkFileAttributesReadInspection extends AbstractBaseJavaLocalInspe
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitForStatement(PsiForStatement statement) {
|
||||
public void visitForStatement(@NotNull PsiForStatement statement) {
|
||||
doVisitLoop(statement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitWhileStatement(PsiWhileStatement statement) {
|
||||
public void visitWhileStatement(@NotNull PsiWhileStatement statement) {
|
||||
doVisitLoop(statement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitForeachStatement(PsiForeachStatement statement) {
|
||||
public void visitForeachStatement(@NotNull PsiForeachStatement statement) {
|
||||
doVisitLoop(statement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitDoWhileStatement(PsiDoWhileStatement statement) {
|
||||
public void visitDoWhileStatement(@NotNull PsiDoWhileStatement statement) {
|
||||
doVisitLoop(statement);
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ public class BulkFileAttributesReadInspection extends AbstractBaseJavaLocalInspe
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodCallExpression(PsiMethodCallExpression call) {
|
||||
public void visitMethodCallExpression(@NotNull PsiMethodCallExpression call) {
|
||||
super.visitMethodCallExpression(call);
|
||||
if (!FILE_ATTR_CALL_MATCHER.test(call)) return;
|
||||
PsiVariable variable = getFileVariable(call);
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@ public class CapturingCleanerInspection extends AbstractBaseJavaLocalInspectionT
|
||||
}
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitMethodCallExpression(PsiMethodCallExpression call) {
|
||||
public void visitMethodCallExpression(@NotNull PsiMethodCallExpression call) {
|
||||
if (!CLEANER_REGISTER.test(call)) return;
|
||||
PsiExpression[] expressions = call.getArgumentList().getExpressions();
|
||||
PsiExpression trackedObject = ExpressionUtils.resolveExpression(expressions[0]);
|
||||
|
||||
+2
-2
@@ -92,7 +92,7 @@ public class CharsetObjectCanBeUsedInspection extends AbstractBaseJavaLocalInspe
|
||||
if (!languageLevel.isAtLeast(LanguageLevel.JDK_1_7)) return PsiElementVisitor.EMPTY_VISITOR;
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitCallExpression(PsiCallExpression call) {
|
||||
public void visitCallExpression(@NotNull PsiCallExpression call) {
|
||||
CharsetMatch match = StreamEx.of(MATCHERS)
|
||||
.map(matcher -> matcher.extractCharsetMatch(languageLevel, call))
|
||||
.nonNull()
|
||||
@@ -102,7 +102,7 @@ public class CharsetObjectCanBeUsedInspection extends AbstractBaseJavaLocalInspe
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodCallExpression(PsiMethodCallExpression call) {
|
||||
public void visitMethodCallExpression(@NotNull PsiMethodCallExpression call) {
|
||||
super.visitMethodCallExpression(call);
|
||||
if (!FOR_NAME_MATCHER.matches(call)) return;
|
||||
PsiExpressionList arguments = call.getArgumentList();
|
||||
|
||||
+2
-2
@@ -64,7 +64,7 @@ public class CollectionAddAllCanBeReplacedWithConstructorInspection extends Abst
|
||||
@NotNull LocalInspectionToolSession session) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitMethodCallExpression(PsiMethodCallExpression expression) {
|
||||
public void visitMethodCallExpression(@NotNull PsiMethodCallExpression expression) {
|
||||
final PsiReferenceExpression methodExpression = expression.getMethodExpression();
|
||||
final PsiElement nameElement = methodExpression.getReferenceNameElement();
|
||||
final String methodName = methodExpression.getReferenceName();
|
||||
@@ -207,7 +207,7 @@ public class CollectionAddAllCanBeReplacedWithConstructorInspection extends Abst
|
||||
|
||||
addAllExpression.accept(new JavaRecursiveElementVisitor() {
|
||||
@Override
|
||||
public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
final PsiElement resolved = expression.resolve();
|
||||
if (PsiUtil.isJvmLocalVariable(resolved)) {
|
||||
PsiVariable variable = (PsiVariable) resolved;
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ public class ComparatorCombinatorsInspection extends AbstractBaseJavaLocalInspec
|
||||
}
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitLambdaExpression(PsiLambdaExpression lambda) {
|
||||
public void visitLambdaExpression(@NotNull PsiLambdaExpression lambda) {
|
||||
super.visitLambdaExpression(lambda);
|
||||
PsiType type = lambda.getFunctionalInterfaceType();
|
||||
PsiElement parent = PsiUtil.skipParenthesizedExprUp(lambda.getParent());
|
||||
|
||||
+3
-3
@@ -36,17 +36,17 @@ public class ConditionalBreakInInfiniteLoopInspection extends AbstractBaseJavaLo
|
||||
public PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitWhileStatement(PsiWhileStatement statement) {
|
||||
public void visitWhileStatement(@NotNull PsiWhileStatement statement) {
|
||||
visitLoop(statement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitDoWhileStatement(PsiDoWhileStatement statement) {
|
||||
public void visitDoWhileStatement(@NotNull PsiDoWhileStatement statement) {
|
||||
visitLoop(statement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitForStatement(PsiForStatement statement) {
|
||||
public void visitForStatement(@NotNull PsiForStatement statement) {
|
||||
visitLoop(statement);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@ public class ConditionalCanBeOptionalInspection extends AbstractBaseJavaLocalIns
|
||||
}
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitConditionalExpression(PsiConditionalExpression ternary) {
|
||||
public void visitConditionalExpression(@NotNull PsiConditionalExpression ternary) {
|
||||
TernaryNullCheck ternaryNullCheck = TernaryNullCheck.from(ternary);
|
||||
if (ternaryNullCheck == null) return;
|
||||
PsiVariable variable = ternaryNullCheck.myVariable;
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ public class DefaultAnnotationParamInspection extends AbstractBaseJavaLocalInspe
|
||||
public PsiElementVisitor buildVisitor(@NotNull final ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitNameValuePair(final PsiNameValuePair pair) {
|
||||
public void visitNameValuePair(final @NotNull PsiNameValuePair pair) {
|
||||
PsiAnnotationMemberValue value = pair.getValue();
|
||||
PsiReference reference = pair.getReference();
|
||||
if (reference == null) return;
|
||||
|
||||
+2
-2
@@ -53,14 +53,14 @@ public final class DuplicateBranchesInSwitchInspection extends LocalInspectionTo
|
||||
DuplicateBranchesVisitor(ProblemsHolder holder) {myHolder = holder;}
|
||||
|
||||
@Override
|
||||
public void visitSwitchStatement(PsiSwitchStatement switchStatement) {
|
||||
public void visitSwitchStatement(@NotNull PsiSwitchStatement switchStatement) {
|
||||
super.visitSwitchStatement(switchStatement);
|
||||
|
||||
visitSwitchBlock(switchStatement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSwitchExpression(PsiSwitchExpression switchExpression) {
|
||||
public void visitSwitchExpression(@NotNull PsiSwitchExpression switchExpression) {
|
||||
super.visitSwitchExpression(switchExpression);
|
||||
|
||||
visitSwitchBlock(switchExpression);
|
||||
|
||||
+1
-1
@@ -73,7 +73,7 @@ public class EndlessStreamInspection extends AbstractBaseJavaLocalInspectionTool
|
||||
}
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitMethodCallExpression(PsiMethodCallExpression call) {
|
||||
public void visitMethodCallExpression(@NotNull PsiMethodCallExpression call) {
|
||||
if (!INFINITE_SOURCE.test(call)) return;
|
||||
PsiMethodCallExpression allConsumingCall = findSubsequentCall(call,
|
||||
name -> ALL_CONSUMING_OPERATIONS.contains(name),
|
||||
|
||||
+2
-2
@@ -36,7 +36,7 @@ public final class EnhancedSwitchBackwardMigrationInspection extends AbstractBas
|
||||
public PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitSwitchExpression(PsiSwitchExpression expression) {
|
||||
public void visitSwitchExpression(@NotNull PsiSwitchExpression expression) {
|
||||
if (!isNonemptyRuleFormatSwitch(expression)) return;
|
||||
if (findReplacer(expression) == null) return;
|
||||
String message = JavaBundle.message("inspection.switch.expression.backward.expression.migration.inspection.name");
|
||||
@@ -44,7 +44,7 @@ public final class EnhancedSwitchBackwardMigrationInspection extends AbstractBas
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitSwitchStatement(PsiSwitchStatement statement) {
|
||||
public void visitSwitchStatement(@NotNull PsiSwitchStatement statement) {
|
||||
if (!isNonemptyRuleFormatSwitch(statement)) return;
|
||||
if (findReplacer(statement) == null) return;
|
||||
String message = JavaBundle.message("inspection.switch.expression.backward.statement.migration.inspection.name");
|
||||
|
||||
+1
-1
@@ -50,7 +50,7 @@ public class ExplicitArrayFillingInspection extends AbstractBaseJavaLocalInspect
|
||||
public PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitForStatement(PsiForStatement statement) {
|
||||
public void visitForStatement(@NotNull PsiForStatement statement) {
|
||||
super.visitForStatement(statement);
|
||||
CountingLoop loop = CountingLoop.from(statement);
|
||||
if (loop == null || loop.isIncluding() || loop.isDescending()) return;
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ public class FillPermitsListInspection extends AbstractBaseJavaLocalInspectionTo
|
||||
if (!HighlightingFeature.SEALED_CLASSES.isAvailable(holder.getFile())) return PsiElementVisitor.EMPTY_VISITOR;
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitClass(PsiClass psiClass) {
|
||||
public void visitClass(@NotNull PsiClass psiClass) {
|
||||
PsiIdentifier identifier = psiClass.getNameIdentifier();
|
||||
if (identifier == null) return;
|
||||
PsiFile containingFile = tryCast(psiClass.getContainingFile(), PsiJavaFile.class);
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ public class IOStreamConstructorInspection extends AbstractBaseJavaLocalInspecti
|
||||
if (!PsiUtil.isLanguageLevel7OrHigher(holder.getFile())) return PsiElementVisitor.EMPTY_VISITOR;
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitNewExpression(PsiNewExpression newExpression) {
|
||||
public void visitNewExpression(@NotNull PsiNewExpression newExpression) {
|
||||
super.visitNewExpression(newExpression);
|
||||
IOStreamConstructorModel constructorModel = IOStreamConstructorModel.create(newExpression);
|
||||
if (constructorModel == null) return;
|
||||
|
||||
+2
-2
@@ -17,7 +17,7 @@ public class IdempotentLoopBodyInspection extends AbstractBaseJavaLocalInspectio
|
||||
public PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitWhileStatement(PsiWhileStatement loop) {
|
||||
public void visitWhileStatement(@NotNull PsiWhileStatement loop) {
|
||||
PsiExpression condition = loop.getCondition();
|
||||
if (condition == null || SideEffectChecker.mayHaveSideEffects(condition)) return;
|
||||
PsiStatement body = loop.getBody();
|
||||
@@ -36,7 +36,7 @@ public class IdempotentLoopBodyInspection extends AbstractBaseJavaLocalInspectio
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitForStatement(PsiForStatement loop) {
|
||||
public void visitForStatement(@NotNull PsiForStatement loop) {
|
||||
PsiExpression condition = loop.getCondition();
|
||||
if (condition != null && SideEffectChecker.mayHaveSideEffects(condition)) return;
|
||||
PsiStatement body = loop.getBody();
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ public class InconsistentTextBlockIndentInspection extends AbstractBaseJavaLocal
|
||||
if (!HighlightingFeature.TEXT_BLOCKS.isAvailable(holder.getFile())) return PsiElementVisitor.EMPTY_VISITOR;
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitLiteralExpression(PsiLiteralExpression expression) {
|
||||
public void visitLiteralExpression(@NotNull PsiLiteralExpression expression) {
|
||||
String[] lines = PsiLiteralUtil.getTextBlockLines(expression);
|
||||
if (lines == null) return;
|
||||
int tabSize = CodeStyle.getSettings(expression.getProject()).getTabSize(JavaFileType.INSTANCE);
|
||||
|
||||
+2
-2
@@ -39,14 +39,14 @@ public class JoinDeclarationAndAssignmentJavaInspection extends AbstractBaseJava
|
||||
public PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitAssignmentExpression(PsiAssignmentExpression assignmentExpression) {
|
||||
public void visitAssignmentExpression(@NotNull PsiAssignmentExpression assignmentExpression) {
|
||||
super.visitAssignmentExpression(assignmentExpression);
|
||||
|
||||
visitLocation(assignmentExpression);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitLocalVariable(PsiLocalVariable variable) {
|
||||
public void visitLocalVariable(@NotNull PsiLocalVariable variable) {
|
||||
super.visitLocalVariable(variable);
|
||||
|
||||
// At the "information" level only bare minimal set of elements are visited when the file is being edited.
|
||||
|
||||
+2
-2
@@ -44,14 +44,14 @@ public class ManualMinMaxCalculationInspection extends AbstractBaseJavaLocalInsp
|
||||
return new JavaElementVisitor() {
|
||||
|
||||
@Override
|
||||
public void visitIfStatement(PsiIfStatement statement) {
|
||||
public void visitIfStatement(@NotNull PsiIfStatement statement) {
|
||||
ConditionalModel model = IfConditionalModel.from(statement, false);
|
||||
if (model == null) return;
|
||||
visitConditional(statement.getFirstChild(), model);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitConditionalExpression(PsiConditionalExpression expression) {
|
||||
public void visitConditionalExpression(@NotNull PsiConditionalExpression expression) {
|
||||
ConditionalModel model = ConditionalModel.from(expression);
|
||||
if (model == null) return;
|
||||
visitConditional(expression, model);
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ public class MeaninglessRecordAnnotationInspection extends AbstractBaseJavaLocal
|
||||
}
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitRecordComponent(PsiRecordComponent recordComponent) {
|
||||
public void visitRecordComponent(@NotNull PsiRecordComponent recordComponent) {
|
||||
PsiClass recordClass = recordComponent.getContainingClass();
|
||||
if (recordClass == null) return;
|
||||
String name = recordComponent.getName();
|
||||
|
||||
+3
-3
@@ -37,7 +37,7 @@ public class MoveFieldAssignmentToInitializerInspection extends AbstractBaseJava
|
||||
public PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitAssignmentExpression(PsiAssignmentExpression assignment) {
|
||||
public void visitAssignmentExpression(@NotNull PsiAssignmentExpression assignment) {
|
||||
if (!assignment.getOperationTokenType().equals(JavaTokenType.EQ)) return;
|
||||
if (assignment.getParent() instanceof PsiExpressionList || !ExpressionUtils.isVoidContext(assignment)) return;
|
||||
PsiField field = getAssignedField(assignment);
|
||||
@@ -100,7 +100,7 @@ public class MoveFieldAssignmentToInitializerInspection extends AbstractBaseJava
|
||||
if (aClass == null) return false;
|
||||
initializer.accept(new JavaRecursiveElementWalkingVisitor() {
|
||||
@Override
|
||||
public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
|
||||
super.visitReferenceExpression(expression);
|
||||
PsiElement resolved = expression.resolve();
|
||||
if (resolved == null) return;
|
||||
@@ -162,7 +162,7 @@ public class MoveFieldAssignmentToInitializerInspection extends AbstractBaseJava
|
||||
final List<PsiAssignmentExpression> totalUsages = new ArrayList<>();
|
||||
containingClass.accept(new JavaRecursiveElementWalkingVisitor() {
|
||||
@Override
|
||||
public void visitReferenceExpression(PsiReferenceExpression reference) {
|
||||
public void visitReferenceExpression(@NotNull PsiReferenceExpression reference) {
|
||||
if (!result.get().booleanValue()) return;
|
||||
super.visitReferenceExpression(reference);
|
||||
if (!PsiUtil.isOnAssignmentLeftHand(reference)) return;
|
||||
|
||||
+1
-1
@@ -29,7 +29,7 @@ public class ObviousNullCheckInspection extends AbstractBaseJavaLocalInspectionT
|
||||
public PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitMethodCallExpression(PsiMethodCallExpression call) {
|
||||
public void visitMethodCallExpression(@NotNull PsiMethodCallExpression call) {
|
||||
PsiExpression[] args = call.getArgumentList().getExpressions();
|
||||
// Avoid method resolve if no argument is a candidate for obvious non-null warning
|
||||
// (checking this is easier than resolving and calls without arguments are excluded at all)
|
||||
|
||||
+6
-6
@@ -42,13 +42,13 @@ public class OptionalAssignedToNullInspection extends AbstractBaseJavaLocalInspe
|
||||
public PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitAssignmentExpression(PsiAssignmentExpression expression) {
|
||||
public void visitAssignmentExpression(@NotNull PsiAssignmentExpression expression) {
|
||||
checkNulls(expression.getType(), expression.getRExpression(),
|
||||
JavaBundle.message("inspection.null.value.for.optional.context.assignment"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodCallExpression(PsiMethodCallExpression call) {
|
||||
public void visitMethodCallExpression(@NotNull PsiMethodCallExpression call) {
|
||||
PsiExpression[] args = call.getArgumentList().getExpressions();
|
||||
if (args.length == 0) return;
|
||||
PsiMethod method = call.resolveMethod();
|
||||
@@ -68,7 +68,7 @@ public class OptionalAssignedToNullInspection extends AbstractBaseJavaLocalInspe
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitLambdaExpression(PsiLambdaExpression lambda) {
|
||||
public void visitLambdaExpression(@NotNull PsiLambdaExpression lambda) {
|
||||
PsiElement body = lambda.getBody();
|
||||
if (body instanceof PsiExpression) {
|
||||
checkNulls(LambdaUtil.getFunctionalInterfaceReturnType(lambda), (PsiExpression)body,
|
||||
@@ -77,19 +77,19 @@ public class OptionalAssignedToNullInspection extends AbstractBaseJavaLocalInspe
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitReturnStatement(PsiReturnStatement statement) {
|
||||
public void visitReturnStatement(@NotNull PsiReturnStatement statement) {
|
||||
checkNulls(PsiTypesUtil.getMethodReturnType(statement), statement.getReturnValue(),
|
||||
JavaBundle.message("inspection.null.value.for.optional.context.return"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitVariable(PsiVariable variable) {
|
||||
public void visitVariable(@NotNull PsiVariable variable) {
|
||||
checkNulls(variable.getType(), variable.getInitializer(),
|
||||
JavaBundle.message("inspection.null.value.for.optional.context.declaration"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitBinaryExpression(PsiBinaryExpression binOp) {
|
||||
public void visitBinaryExpression(@NotNull PsiBinaryExpression binOp) {
|
||||
if (!WARN_ON_COMPARISON) return;
|
||||
PsiExpression value = ExpressionUtils.getValueComparedWithNull(binOp);
|
||||
if (value != null &&
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ public class OverflowingLoopIndexInspection extends AbstractBaseJavaLocalInspect
|
||||
public PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitForStatement(PsiForStatement statement) {
|
||||
public void visitForStatement(@NotNull PsiForStatement statement) {
|
||||
PsiStatement initialization = statement.getInitialization();
|
||||
PsiDeclarationStatement declaration = tryCast(initialization, PsiDeclarationStatement.class);
|
||||
if (declaration == null) return;
|
||||
|
||||
+2
-2
@@ -59,7 +59,7 @@ public class OverwrittenKeyInspection extends AbstractBaseJavaLocalInspectionToo
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitCodeBlock(PsiCodeBlock block) {
|
||||
public void visitCodeBlock(@NotNull PsiCodeBlock block) {
|
||||
PsiExpressionStatement statement = PsiTreeUtil.getChildOfType(block, PsiExpressionStatement.class);
|
||||
while (statement != null) {
|
||||
PsiExpression expression = statement.getExpression();
|
||||
@@ -79,7 +79,7 @@ public class OverwrittenKeyInspection extends AbstractBaseJavaLocalInspectionToo
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethodCallExpression(PsiMethodCallExpression call) {
|
||||
public void visitMethodCallExpression(@NotNull PsiMethodCallExpression call) {
|
||||
if(SET_OF.test(call)) {
|
||||
findDuplicates(call.getArgumentList().getExpressions(), JavaBundle.message("inspection.overwritten.key.set.message"));
|
||||
}
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ public class PatternVariableCanBeUsedInspection extends AbstractBaseJavaLocalIns
|
||||
if (!HighlightingFeature.PATTERNS.isAvailable(holder.getFile())) return PsiElementVisitor.EMPTY_VISITOR;
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitLocalVariable(PsiLocalVariable variable) {
|
||||
public void visitLocalVariable(@NotNull PsiLocalVariable variable) {
|
||||
PsiIdentifier identifier = variable.getNameIdentifier();
|
||||
if (identifier == null) return;
|
||||
PsiTypeCastExpression cast = ObjectUtils.tryCast(PsiUtil.skipParenthesizedExprDown(variable.getInitializer()),
|
||||
|
||||
+1
-1
@@ -36,7 +36,7 @@ public class ReadWriteStringCanBeUsedInspection extends AbstractBaseJavaLocalIns
|
||||
}
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitMethodCallExpression(PsiMethodCallExpression call) {
|
||||
public void visitMethodCallExpression(@NotNull PsiMethodCallExpression call) {
|
||||
if (FILES_WRITE.test(call)) {
|
||||
PsiMethodCallExpression bytesExpression = tryCast(ExpressionUtils.resolveExpression(call.getArgumentList().getExpressions()[1]), PsiMethodCallExpression.class);
|
||||
if (STRING_GET_BYTES.test(bytesExpression) && bytesExpression.getMethodExpression().getQualifierExpression() != null) {
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ public class RecordCanBeClassInspection extends AbstractBaseJavaLocalInspectionT
|
||||
}
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitClass(PsiClass aClass) {
|
||||
public void visitClass(@NotNull PsiClass aClass) {
|
||||
if (aClass.isRecord()) {
|
||||
if (InspectionProjectProfileManager.isInformationLevel(getShortName(), aClass)) {
|
||||
PsiElement brace = aClass.getLBrace();
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user