diff --git a/java/java-impl/src/com/intellij/refactoring/move/moveInner/MoveInnerProcessor.java b/java/java-impl/src/com/intellij/refactoring/move/moveInner/MoveInnerProcessor.java index 66e3aefe4258..d2d262706717 100644 --- a/java/java-impl/src/com/intellij/refactoring/move/moveInner/MoveInnerProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/move/moveInner/MoveInnerProcessor.java @@ -1,18 +1,4 @@ -/* - * Copyright 2000-2015 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-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.refactoring.move.moveInner; import com.intellij.codeInsight.ChangeContextUtil; @@ -170,7 +156,7 @@ public class MoveInnerProcessor extends BaseRefactoringProcessor { PsiField field = null; if (myParameterNameOuterClass != null) { // pass outer as a parameter - field = factory.createField(myFieldNameOuterClass, factory.createType(myOuterClass)); + field = createOuterField(factory); field = addOuterField(field); myInnerClass = field.getContainingClass(); addFieldInitializationToConstructors(myInnerClass, field, myParameterNameOuterClass); @@ -307,6 +293,17 @@ public class MoveInnerProcessor extends BaseRefactoringProcessor { } } + @NotNull + private PsiField createOuterField(@NotNull PsiElementFactory factory) { + PsiField field = factory.createField(myFieldNameOuterClass, factory.createType(myOuterClass)); + + PsiModifierList modifierList = field.getModifierList(); + LOG.assertTrue(modifierList != null); + modifierList.setModifierProperty(PsiModifier.FINAL, true); + + return field; + } + private PsiField addOuterField(PsiField field) { final PsiMember[] members = PsiTreeUtil.getChildrenOfType(myInnerClass, PsiMember.class); if (members != null) {