diff --git a/java/java-impl/src/com/intellij/codeInsight/generation/GenerateEqualsHandler.java b/java/java-impl/src/com/intellij/codeInsight/generation/GenerateEqualsHandler.java index 2ec0b9bd95f6..d3c172158298 100644 --- a/java/java-impl/src/com/intellij/codeInsight/generation/GenerateEqualsHandler.java +++ b/java/java-impl/src/com/intellij/codeInsight/generation/GenerateEqualsHandler.java @@ -1,18 +1,4 @@ -/* - * Copyright 2000-2016 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.codeInsight.generation; import com.intellij.codeInsight.CodeInsightSettings; @@ -127,12 +113,12 @@ public class GenerateEqualsHandler extends GenerateMembersHandlerBase { @Override @NotNull - protected List generateMemberPrototypes(PsiClass aClass, ClassMember[] originalMembers) throws IncorrectOperationException { - Project project = aClass.getProject(); - final boolean useInstanceofToCheckParameterType = CodeInsightSettings.getInstance().USE_INSTANCEOF_ON_EQUALS_PARAMETER; + protected List generateMemberPrototypes(PsiClass aClass, ClassMember[] originalMembers) { + boolean isFinal = aClass.hasModifierProperty(PsiModifier.FINAL); + final boolean useInstanceofToCheckParameterType = !isFinal && CodeInsightSettings.getInstance().USE_INSTANCEOF_ON_EQUALS_PARAMETER; final boolean useAccessors = CodeInsightSettings.getInstance().USE_ACCESSORS_IN_EQUALS_HASHCODE; - GenerateEqualsHelper helper = new GenerateEqualsHelper(project, aClass, myEqualsFields, myHashCodeFields, myNonNullFields, + GenerateEqualsHelper helper = new GenerateEqualsHelper(aClass.getProject(), aClass, myEqualsFields, myHashCodeFields, myNonNullFields, useInstanceofToCheckParameterType, useAccessors); return OverrideImplementUtil.convert2GenerationInfos(helper.generateMembers()); } diff --git a/java/java-impl/src/com/intellij/codeInsight/generation/ui/GenerateEqualsWizard.java b/java/java-impl/src/com/intellij/codeInsight/generation/ui/GenerateEqualsWizard.java index c1df71abdff9..ef3028e5efa7 100644 --- a/java/java-impl/src/com/intellij/codeInsight/generation/ui/GenerateEqualsWizard.java +++ b/java/java-impl/src/com/intellij/codeInsight/generation/ui/GenerateEqualsWizard.java @@ -252,7 +252,7 @@ public class GenerateEqualsWizard extends AbstractGenerateEqualsWizard