mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-CR-31769 Migration to PsiFile-based CodeStyle API
Continued, part 2
This commit is contained in:
+2
-2
@@ -15,13 +15,13 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.editorActions.smartEnter;
|
||||
|
||||
import com.intellij.application.options.CodeStyle;
|
||||
import com.intellij.lang.ASTNode;
|
||||
import com.intellij.lang.java.JavaLanguage;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
|
||||
import com.intellij.psi.impl.source.tree.JavaJspElementType;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -96,7 +96,7 @@ public class ForStatementFixer implements Fixer {
|
||||
{
|
||||
final Project project = editor.getProject();
|
||||
int offset = lastValidForPart.getTextRange().getEndOffset();
|
||||
if (project != null && CodeStyleSettingsManager.getSettings(project).getCommonSettings(JavaLanguage.INSTANCE).SPACE_AFTER_COMMA) {
|
||||
if (project != null && CodeStyle.getSettings(editor).getCommonSettings(JavaLanguage.INSTANCE).SPACE_AFTER_COMMA) {
|
||||
if (editor.getDocument().getCharsSequence().charAt(lastValidForPart.getTextRange().getEndOffset() - 1) != ';') {
|
||||
offset++;
|
||||
}
|
||||
|
||||
+2
-2
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.editorActions.smartEnter;
|
||||
|
||||
import com.intellij.application.options.CodeStyle;
|
||||
import com.intellij.codeInsight.CodeInsightUtil;
|
||||
import com.intellij.codeInsight.lookup.LookupManager;
|
||||
import com.intellij.featureStatistics.FeatureUsageTracker;
|
||||
@@ -32,7 +33,6 @@ import com.intellij.openapi.util.Key;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.CodeStyleManager;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
|
||||
import com.intellij.psi.codeStyle.CommonCodeStyleSettings;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
@@ -329,7 +329,7 @@ public class JavaSmartEnterProcessor extends SmartEnterProcessor {
|
||||
if (CharArrayUtil.regionMatches(chars, caretOffset - "{}".length(), "{}") ||
|
||||
CharArrayUtil.regionMatches(chars, caretOffset - "{\n}".length(), "{\n}")) {
|
||||
commit(editor);
|
||||
final CommonCodeStyleSettings settings = CodeStyleSettingsManager.getSettings(file.getProject()).getCommonSettings(JavaLanguage.INSTANCE);
|
||||
final CommonCodeStyleSettings settings = CodeStyle.getSettings(file).getCommonSettings(JavaLanguage.INSTANCE);
|
||||
final boolean old = settings.KEEP_SIMPLE_BLOCKS_IN_ONE_LINE;
|
||||
settings.KEEP_SIMPLE_BLOCKS_IN_ONE_LINE = false;
|
||||
PsiElement leaf = file.findElementAt(caretOffset - 1);
|
||||
|
||||
+3
-2
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.editorActions.smartEnter;
|
||||
|
||||
import com.intellij.application.options.CodeStyle;
|
||||
import com.intellij.lang.ASTNode;
|
||||
import com.intellij.lang.java.JavaLanguage;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
@@ -78,7 +79,7 @@ public class SemicolonFixer implements Fixer {
|
||||
}
|
||||
|
||||
String toInsert = ";";
|
||||
if (CodeStyleSettingsManager.getSettings(psiElement.getProject()).getCommonSettings(JavaLanguage.INSTANCE).SPACE_AFTER_SEMICOLON) {
|
||||
if (CodeStyle.getSettings(psiElement.getContainingFile()).getCommonSettings(JavaLanguage.INSTANCE).SPACE_AFTER_SEMICOLON) {
|
||||
toInsert += " ";
|
||||
}
|
||||
document.insertString(range.getEndOffset(), toInsert);
|
||||
@@ -134,7 +135,7 @@ public class SemicolonFixer implements Fixer {
|
||||
if (((PsiForStatement)parent).getUpdate() == psiElement) {
|
||||
return false;
|
||||
}
|
||||
if (CodeStyleSettingsManager.getSettings(psiElement.getProject()).getCommonSettings(JavaLanguage.INSTANCE).SPACE_AFTER_SEMICOLON) {
|
||||
if (CodeStyle.getSettings(psiElement.getContainingFile()).getCommonSettings(JavaLanguage.INSTANCE).SPACE_AFTER_SEMICOLON) {
|
||||
toInsert += " ";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,7 +94,7 @@ public class GenerateEqualsHelper implements Runnable {
|
||||
}
|
||||
|
||||
private static boolean shouldAddOverrideAnnotation(PsiElement context) {
|
||||
JavaCodeStyleSettings style = CodeStyleSettingsManager.getSettings(context.getProject()).getCustomSettings(JavaCodeStyleSettings.class);
|
||||
JavaCodeStyleSettings style = JavaCodeStyleSettings.getInstance(context.getContainingFile());
|
||||
|
||||
return style.INSERT_OVERRIDE_ANNOTATION && PsiUtil.isLanguageLevel5OrHigher(context);
|
||||
}
|
||||
@@ -170,7 +170,7 @@ public class GenerateEqualsHelper implements Runnable {
|
||||
|
||||
private PsiMethod createEquals() throws IncorrectOperationException {
|
||||
@NonNls StringBuilder buffer = new StringBuilder();
|
||||
JavaCodeStyleSettings styleSettings = CodeStyleSettingsManager.getSettings(myProject).getCustomSettings(JavaCodeStyleSettings.class);
|
||||
JavaCodeStyleSettings styleSettings = JavaCodeStyleSettings.getInstance(myClass.getContainingFile());
|
||||
ArrayList<PsiField> equalsFields = new ArrayList<>();
|
||||
ContainerUtil.addAll(equalsFields, myEqualsFields);
|
||||
Collections.sort(equalsFields, EqualsFieldsComparator.INSTANCE);
|
||||
|
||||
@@ -210,8 +210,7 @@ public class GenerateMembersUtil {
|
||||
if (member instanceof PsiMethod) {
|
||||
if (!aClass.isInterface()) {
|
||||
final PsiParameter[] parameters = ((PsiMethod)member).getParameterList().getParameters();
|
||||
final boolean generateFinals = CodeStyleSettingsManager.getSettings(aClass.getProject())
|
||||
.getCustomSettings(JavaCodeStyleSettings.class).GENERATE_FINAL_PARAMETERS;
|
||||
final boolean generateFinals = JavaCodeStyleSettings.getInstance(aClass.getContainingFile()).GENERATE_FINAL_PARAMETERS;
|
||||
for (final PsiParameter parameter : parameters) {
|
||||
PsiUtil.setModifierProperty(parameter, PsiModifier.FINAL, generateFinals);
|
||||
}
|
||||
@@ -698,7 +697,7 @@ public class GenerateMembersUtil {
|
||||
public static PsiMethod setVisibility(PsiMember member, PsiMethod prototype) {
|
||||
if (prototype == null) return null;
|
||||
|
||||
String visibility = CodeStyleSettingsManager.getSettings(member.getProject()).getCustomSettings(JavaCodeStyleSettings.class).VISIBILITY;
|
||||
String visibility = JavaCodeStyleSettings.getInstance(member.getContainingFile()).VISIBILITY;
|
||||
|
||||
@PsiModifier.ModifierConstant String newVisibility;
|
||||
if (VisibilityUtil.ESCALATE_VISIBILITY.equals(visibility)) {
|
||||
@@ -718,7 +717,7 @@ public class GenerateMembersUtil {
|
||||
public static PsiMethod annotateOnOverrideImplement(@Nullable PsiClass targetClass, @Nullable PsiMethod generated) {
|
||||
if (generated == null || targetClass == null) return generated;
|
||||
|
||||
if (CodeStyleSettingsManager.getSettings(targetClass.getProject()).getCustomSettings(JavaCodeStyleSettings.class).INSERT_OVERRIDE_ANNOTATION) {
|
||||
if (JavaCodeStyleSettings.getInstance(targetClass.getContainingFile()).INSERT_OVERRIDE_ANNOTATION) {
|
||||
PsiMethod superMethod = targetClass.findMethodBySignature(generated, true);
|
||||
if (superMethod != null && superMethod.getContainingClass() != targetClass) {
|
||||
OverrideImplementUtil.annotateOnOverrideImplement(generated, targetClass, superMethod, true);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// Copyright 2000-2017 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.codeInsight.generation;
|
||||
|
||||
import com.intellij.application.options.CodeStyle;
|
||||
import com.intellij.codeInsight.AnnotationUtil;
|
||||
import com.intellij.codeInsight.CodeInsightActionHandler;
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
@@ -18,7 +19,6 @@ import com.intellij.lang.java.JavaLanguage;
|
||||
import com.intellij.openapi.actionSystem.KeyboardShortcut;
|
||||
import com.intellij.openapi.actionSystem.Shortcut;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.Result;
|
||||
import com.intellij.openapi.application.TransactionGuard;
|
||||
import com.intellij.openapi.command.CommandProcessor;
|
||||
import com.intellij.openapi.command.WriteCommandAction;
|
||||
@@ -37,7 +37,10 @@ import com.intellij.openapi.ui.DialogWrapper;
|
||||
import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.*;
|
||||
import com.intellij.psi.codeStyle.CodeStyleManager;
|
||||
import com.intellij.psi.codeStyle.CommonCodeStyleSettings;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleManager;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleSettings;
|
||||
import com.intellij.psi.infos.CandidateInfo;
|
||||
import com.intellij.psi.javadoc.PsiDocComment;
|
||||
import com.intellij.psi.util.*;
|
||||
@@ -79,12 +82,11 @@ public class OverrideImplementUtil extends OverrideImplementExploreUtil {
|
||||
? TypeConversionUtil.getSuperClassSubstitutor(containingClass, aClass, PsiSubstitutor.EMPTY)
|
||||
: PsiSubstitutor.EMPTY;
|
||||
return overrideOrImplementMethod(aClass, method, substitutor, toCopyJavaDoc,
|
||||
CodeStyleSettingsManager.getSettings(aClass.getProject())
|
||||
.getCustomSettings(JavaCodeStyleSettings.class).INSERT_OVERRIDE_ANNOTATION);
|
||||
JavaCodeStyleSettings.getInstance(aClass.getContainingFile()).INSERT_OVERRIDE_ANNOTATION);
|
||||
}
|
||||
|
||||
public static boolean isInsertOverride(PsiMethod superMethod, PsiClass targetClass) {
|
||||
if (!CodeStyleSettingsManager.getSettings(targetClass.getProject()).getCustomSettings(JavaCodeStyleSettings.class).INSERT_OVERRIDE_ANNOTATION) {
|
||||
if (!JavaCodeStyleSettings.getInstance(targetClass.getContainingFile()).INSERT_OVERRIDE_ANNOTATION) {
|
||||
return false;
|
||||
}
|
||||
return canInsertOverride(superMethod, targetClass);
|
||||
@@ -192,7 +194,7 @@ public class OverrideImplementUtil extends OverrideImplementExploreUtil {
|
||||
|
||||
annotateOnOverrideImplement(result, aClass, method, insertOverrideIfPossible);
|
||||
|
||||
if (CodeStyleSettingsManager.getSettings(aClass.getProject()).getCustomSettings(JavaCodeStyleSettings.class).REPEAT_SYNCHRONIZED &&
|
||||
if (JavaCodeStyleSettings.getInstance(aClass.getContainingFile()).REPEAT_SYNCHRONIZED &&
|
||||
method.hasModifierProperty(PsiModifier.SYNCHRONIZED)) {
|
||||
result.getModifierList().setModifierProperty(PsiModifier.SYNCHRONIZED, true);
|
||||
}
|
||||
@@ -211,7 +213,7 @@ public class OverrideImplementUtil extends OverrideImplementExploreUtil {
|
||||
// probably, it's better to reformat the whole method - it can go from other style sources
|
||||
final Project project = method.getProject();
|
||||
CodeStyleManager codeStyleManager = CodeStyleManager.getInstance(project);
|
||||
CommonCodeStyleSettings javaSettings = CodeStyleSettingsManager.getSettings(project).getCommonSettings(JavaLanguage.INSTANCE);
|
||||
CommonCodeStyleSettings javaSettings = CodeStyle.getLanguageSettings(aClass.getContainingFile(), JavaLanguage.INSTANCE);
|
||||
boolean keepBreaks = javaSettings.KEEP_LINE_BREAKS;
|
||||
javaSettings.KEEP_LINE_BREAKS = false;
|
||||
result = (PsiMethod)JavaCodeStyleManager.getInstance(project).shortenClassReferences(result);
|
||||
@@ -229,8 +231,7 @@ public class OverrideImplementUtil extends OverrideImplementExploreUtil {
|
||||
|
||||
public static void annotateOnOverrideImplement(PsiMethod method, PsiClass targetClass, PsiMethod overridden) {
|
||||
annotateOnOverrideImplement(method, targetClass, overridden,
|
||||
CodeStyleSettingsManager.getSettings(method.getProject())
|
||||
.getCustomSettings(JavaCodeStyleSettings.class).INSERT_OVERRIDE_ANNOTATION);
|
||||
JavaCodeStyleSettings.getInstance(targetClass.getContainingFile()).INSERT_OVERRIDE_ANNOTATION);
|
||||
}
|
||||
|
||||
public static void annotateOnOverrideImplement(PsiMethod method, PsiClass targetClass, PsiMethod overridden, boolean insertOverride) {
|
||||
@@ -612,14 +613,14 @@ public class OverrideImplementUtil extends OverrideImplementExploreUtil {
|
||||
|
||||
public static void overrideOrImplementMethodsInRightPlace(Editor editor1, PsiClass aClass, Collection<PsiMethodMember> members, boolean copyJavadoc) {
|
||||
boolean insert =
|
||||
CodeStyleSettingsManager.getSettings(aClass.getProject()).getCustomSettings(JavaCodeStyleSettings.class).INSERT_OVERRIDE_ANNOTATION;
|
||||
JavaCodeStyleSettings.getInstance(aClass.getContainingFile()).INSERT_OVERRIDE_ANNOTATION;
|
||||
overrideOrImplementMethodsInRightPlace(editor1, aClass, members, copyJavadoc, insert);
|
||||
}
|
||||
|
||||
public static List<PsiMethod> overrideOrImplementMethodCandidates(PsiClass aClass, Collection<CandidateInfo> candidatesToImplement,
|
||||
boolean copyJavadoc) throws IncorrectOperationException {
|
||||
boolean insert =
|
||||
CodeStyleSettingsManager.getSettings(aClass.getProject()).getCustomSettings(JavaCodeStyleSettings.class).INSERT_OVERRIDE_ANNOTATION;
|
||||
JavaCodeStyleSettings.getInstance(aClass.getContainingFile()).INSERT_OVERRIDE_ANNOTATION;
|
||||
return overrideOrImplementMethodCandidates(aClass, candidatesToImplement, copyJavadoc, insert);
|
||||
}
|
||||
}
|
||||
+10
-1
@@ -27,6 +27,15 @@ public interface OverrideImplementsAnnotationsHandler {
|
||||
/**
|
||||
* Returns annotations which should be copied from a source to an implementation (by default, no annotations are copied).
|
||||
*/
|
||||
default String[] getAnnotations(@NotNull PsiFile file) {
|
||||
//noinspection deprecation
|
||||
return getAnnotations(file.getProject());
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated Use {@link #getAnnotations(PsiFile)}
|
||||
*/
|
||||
@Deprecated
|
||||
String[] getAnnotations(Project project);
|
||||
|
||||
@Deprecated
|
||||
@@ -43,7 +52,7 @@ public interface OverrideImplementsAnnotationsHandler {
|
||||
JavaPsiFacade facade = JavaPsiFacade.getInstance(project);
|
||||
|
||||
for (OverrideImplementsAnnotationsHandler each : Extensions.getExtensions(EP_NAME)) {
|
||||
for (String annotation : each.getAnnotations(project)) {
|
||||
for (String annotation : each.getAnnotations(target.getContainingFile())) {
|
||||
if (moduleScope != null && facade.findClass(annotation, moduleScope) == null) continue;
|
||||
|
||||
int flags = CHECK_EXTERNAL | CHECK_TYPE;
|
||||
|
||||
+21
-6
@@ -16,13 +16,15 @@
|
||||
|
||||
package com.intellij.codeInsight.generation;
|
||||
|
||||
import com.intellij.application.options.CodeStyle;
|
||||
import com.intellij.codeInsight.AnnotationUtil;
|
||||
import com.intellij.codeInsight.NullableNotNullManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettings;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleSettings;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -30,6 +32,23 @@ import java.util.List;
|
||||
public class OverrideImplementsAnnotationsHandlerImpl implements OverrideImplementsAnnotationsHandler {
|
||||
@Override
|
||||
public String[] getAnnotations(Project project) {
|
||||
List<String> annotations = getCoreAnnotations(project);
|
||||
|
||||
CodeStyleSettings settings = CodeStyle.getSettings(project);
|
||||
annotations.addAll(settings.getCustomSettings(JavaCodeStyleSettings.class).getRepeatAnnotations());
|
||||
|
||||
return ArrayUtil.toStringArray(annotations);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getAnnotations(@NotNull PsiFile file) {
|
||||
List<String> annotations = getCoreAnnotations(file.getProject());
|
||||
annotations.addAll(JavaCodeStyleSettings.getInstance(file).getRepeatAnnotations());
|
||||
return ArrayUtil.toStringArray(annotations);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static List<String> getCoreAnnotations(Project project) {
|
||||
List<String> annotations = new ArrayList<>();
|
||||
|
||||
NullableNotNullManager manager = NullableNotNullManager.getInstance(project);
|
||||
@@ -37,10 +56,6 @@ public class OverrideImplementsAnnotationsHandlerImpl implements OverrideImpleme
|
||||
annotations.addAll(manager.getNullables());
|
||||
|
||||
annotations.add(AnnotationUtil.NLS);
|
||||
|
||||
CodeStyleSettings settings = CodeStyleSettingsManager.getSettings(project);
|
||||
annotations.addAll(settings.getCustomSettings(JavaCodeStyleSettings.class).getRepeatAnnotations());
|
||||
|
||||
return ArrayUtil.toStringArray(annotations);
|
||||
return annotations;
|
||||
}
|
||||
}
|
||||
+5
-2
@@ -28,7 +28,10 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.DialogWrapper;
|
||||
import com.intellij.openapi.util.Key;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.*;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleManager;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleSettings;
|
||||
import com.intellij.psi.codeStyle.SuggestedNameInfo;
|
||||
import com.intellij.psi.codeStyle.VariableKind;
|
||||
import com.intellij.psi.search.LocalSearchScope;
|
||||
import com.intellij.psi.search.searches.ReferencesSearch;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
@@ -166,7 +169,7 @@ public class BindFieldsFromParametersAction extends BaseIntentionAction implemen
|
||||
for (PsiParameter parameter : parameters) {
|
||||
types.putValue(parameter.getType(), parameter);
|
||||
}
|
||||
final JavaCodeStyleSettings settings = CodeStyleSettingsManager.getSettings(project).getCustomSettings(JavaCodeStyleSettings.class);
|
||||
final JavaCodeStyleSettings settings = JavaCodeStyleSettings.getInstance(file);
|
||||
final boolean preferLongerNames = settings.PREFER_LONGER_NAMES;
|
||||
for (PsiParameter selected : parameters) {
|
||||
try {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// Copyright 2000-2018 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.psi.impl;
|
||||
|
||||
import com.intellij.application.options.CodeStyle;
|
||||
import com.intellij.ide.fileTemplates.FileTemplate;
|
||||
import com.intellij.ide.fileTemplates.FileTemplateManager;
|
||||
import com.intellij.ide.fileTemplates.JavaTemplateUtil;
|
||||
@@ -23,7 +24,6 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettings;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleSettings;
|
||||
import com.intellij.psi.codeStyle.arrangement.MemberOrderService;
|
||||
import com.intellij.psi.impl.compiled.ClsClassImpl;
|
||||
@@ -237,7 +237,7 @@ public class JavaPsiImplementationHelperImpl extends JavaPsiImplementationHelper
|
||||
@Nullable
|
||||
@Override
|
||||
public PsiElement getDefaultMemberAnchor(@NotNull PsiClass aClass, @NotNull PsiMember member) {
|
||||
CodeStyleSettings settings = CodeStyleSettingsManager.getSettings(aClass.getProject());
|
||||
CodeStyleSettings settings = CodeStyle.getSettings(aClass.getContainingFile());
|
||||
MemberOrderService service = ServiceManager.getService(MemberOrderService.class);
|
||||
PsiElement anchor = service.getAnchor(member, settings.getCommonSettings(JavaLanguage.INSTANCE), aClass);
|
||||
|
||||
|
||||
+4
-4
@@ -15,12 +15,12 @@
|
||||
*/
|
||||
package com.intellij.psi.impl.source.codeStyle;
|
||||
|
||||
import com.intellij.application.options.CodeStyle;
|
||||
import com.intellij.codeInsight.AnnotationTargetUtil;
|
||||
import com.intellij.lang.ASTNode;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettings;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleSettings;
|
||||
import com.intellij.psi.codeStyle.ReferenceAdjuster;
|
||||
import com.intellij.psi.impl.PsiImplUtil;
|
||||
@@ -134,7 +134,7 @@ public class JavaReferenceAdjuster implements ReferenceAdjuster {
|
||||
|
||||
@Override
|
||||
public ASTNode process(@NotNull ASTNode element, boolean addImports, boolean incompleteCode, Project project) {
|
||||
final CodeStyleSettings settings = CodeStyleSettingsManager.getSettings(project);
|
||||
final CodeStyleSettings settings = CodeStyle.getSettings(element.getPsi().getContainingFile());
|
||||
JavaCodeStyleSettings javaSettings = settings.getCustomSettings(JavaCodeStyleSettings.class);
|
||||
return process(element, addImports, incompleteCode, javaSettings.useFqNamesInJavadocAlways(), javaSettings.USE_FQ_CLASS_NAMES);
|
||||
}
|
||||
@@ -177,7 +177,7 @@ public class JavaReferenceAdjuster implements ReferenceAdjuster {
|
||||
|
||||
@Override
|
||||
public void processRange(@NotNull ASTNode element, int startOffset, int endOffset, Project project) {
|
||||
final CodeStyleSettings settings = CodeStyleSettingsManager.getSettings(project);
|
||||
final CodeStyleSettings settings = CodeStyle.getSettings(element.getPsi().getContainingFile());
|
||||
JavaCodeStyleSettings javaSettings = settings.getCustomSettings(JavaCodeStyleSettings.class);
|
||||
processRange(element, startOffset, endOffset, javaSettings.useFqNamesInJavadocAlways(), javaSettings.USE_FQ_CLASS_NAMES);
|
||||
}
|
||||
@@ -239,7 +239,7 @@ public class JavaReferenceAdjuster implements ReferenceAdjuster {
|
||||
return reference;
|
||||
}
|
||||
|
||||
if (!CodeStyleSettingsManager.getSettings(reference.getProject()).getCustomSettings(JavaCodeStyleSettings.class).INSERT_INNER_CLASS_IMPORTS) {
|
||||
if (!JavaCodeStyleSettings.getInstance(reference.getContainingFile()).INSERT_INNER_CLASS_IMPORTS) {
|
||||
final PsiElement qualifier = reference.getQualifier();
|
||||
if (qualifier instanceof PsiQualifiedReferenceElement) {
|
||||
return getClassReferenceToShorten(parentClass, addImports, (PsiQualifiedReferenceElement)qualifier);
|
||||
|
||||
@@ -19,7 +19,6 @@ import com.intellij.codeInsight.generation.GenerateMembersUtil;
|
||||
import com.intellij.ide.highlighter.JavaFileType;
|
||||
import com.intellij.ide.util.PackageUtil;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.Result;
|
||||
import com.intellij.openapi.command.WriteCommandAction;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.module.Module;
|
||||
@@ -29,7 +28,6 @@ import com.intellij.openapi.util.Ref;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.CodeStyleManager;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleManager;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleSettings;
|
||||
import com.intellij.psi.javadoc.PsiDocTagValue;
|
||||
@@ -225,8 +223,7 @@ public class ExtractClassProcessor extends FixableUsagesRefactoringProcessor {
|
||||
|
||||
private String calculateDelegateFieldName() {
|
||||
final Project project = sourceClass.getProject();
|
||||
final CodeStyleSettingsManager settingsManager = CodeStyleSettingsManager.getInstance(project);
|
||||
final JavaCodeStyleSettings settings = settingsManager.getCurrentSettings().getCustomSettings(JavaCodeStyleSettings.class);
|
||||
final JavaCodeStyleSettings settings = JavaCodeStyleSettings.getInstance(sourceClass.getContainingFile());
|
||||
|
||||
final String baseName = settings.FIELD_NAME_PREFIX.length() == 0 ? StringUtil.decapitalize(newClassName) : newClassName;
|
||||
String name = settings.FIELD_NAME_PREFIX + baseName + settings.FIELD_NAME_SUFFIX;
|
||||
|
||||
+4
-2
@@ -19,9 +19,9 @@ import com.intellij.openapi.help.HelpManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.DialogWrapper;
|
||||
import com.intellij.psi.PsiExpression;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiNameHelper;
|
||||
import com.intellij.psi.PsiType;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleSettings;
|
||||
import com.intellij.psi.codeStyle.SuggestedNameInfo;
|
||||
import com.intellij.refactoring.HelpID;
|
||||
@@ -40,6 +40,7 @@ import java.awt.event.ItemListener;
|
||||
|
||||
class IntroduceVariableDialog extends DialogWrapper implements IntroduceVariableSettings {
|
||||
private final Project myProject;
|
||||
private final PsiFile myFile;
|
||||
private final PsiExpression myExpression;
|
||||
private final int myOccurrencesCount;
|
||||
private final boolean myAnyLValueOccurences;
|
||||
@@ -71,6 +72,7 @@ class IntroduceVariableDialog extends DialogWrapper implements IntroduceVariable
|
||||
myDeclareFinalIfAll = declareFinalIfAll;
|
||||
myTypeSelectorManager = typeSelectorManager;
|
||||
myValidator = validator;
|
||||
myFile = expression.getContainingFile();
|
||||
|
||||
setTitle(REFACTORING_NAME);
|
||||
init();
|
||||
@@ -208,7 +210,7 @@ class IntroduceVariableDialog extends DialogWrapper implements IntroduceVariable
|
||||
myCbFinal.setText(RefactoringBundle.message("declare.final"));
|
||||
final Boolean createFinals = JavaRefactoringSettings.getInstance().INTRODUCE_LOCAL_CREATE_FINALS;
|
||||
myCbFinalState = createFinals == null ?
|
||||
CodeStyleSettingsManager.getSettings(myProject).getCustomSettings(JavaCodeStyleSettings.class).GENERATE_FINAL_LOCALS :
|
||||
JavaCodeStyleSettings.getInstance(myFile).GENERATE_FINAL_LOCALS :
|
||||
createFinals.booleanValue();
|
||||
|
||||
gbConstraints.insets = JBUI.emptyInsets();
|
||||
|
||||
+1
@@ -253,6 +253,7 @@ public class JavaIntroduceParameterObjectClassDescriptor extends IntroduceParame
|
||||
final ParameterObjectBuilder beanClassBuilder = new ParameterObjectBuilder();
|
||||
beanClassBuilder.setVisibility(isCreateInnerClass() ? PsiModifier.PRIVATE : PsiModifier.PUBLIC);
|
||||
beanClassBuilder.setProject(method.getProject());
|
||||
beanClassBuilder.setFile(method.getContainingFile());
|
||||
beanClassBuilder.setTypeArguments(getTypeParameters());
|
||||
beanClassBuilder.setClassName(getClassName());
|
||||
beanClassBuilder.setPackageName(getPackageName());
|
||||
|
||||
+14
-6
@@ -15,15 +15,14 @@
|
||||
*/
|
||||
package com.intellij.refactoring.introduceparameterobject;
|
||||
|
||||
import com.intellij.application.options.CodeStyle;
|
||||
import com.intellij.codeInsight.generation.GenerateMembersUtil;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleManager;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleSettings;
|
||||
import com.intellij.psi.codeStyle.VariableKind;
|
||||
import com.intellij.psi.codeStyle.*;
|
||||
import com.intellij.psi.javadoc.PsiDocComment;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@@ -36,6 +35,7 @@ class ParameterObjectBuilder {
|
||||
private final List<ParameterSpec> fields = new ArrayList<>(5);
|
||||
private final List<PsiTypeParameter> typeParams = new ArrayList<>();
|
||||
private Project myProject;
|
||||
private PsiFile myFile;
|
||||
private JavaCodeStyleManager myJavaCodeStyleManager ;
|
||||
private String myVisibility;
|
||||
|
||||
@@ -64,6 +64,10 @@ class ParameterObjectBuilder {
|
||||
myJavaCodeStyleManager = JavaCodeStyleManager.getInstance(myProject);
|
||||
}
|
||||
|
||||
public void setFile(@NotNull PsiFile file) {
|
||||
myFile = file;
|
||||
}
|
||||
|
||||
public String buildBeanClass() {
|
||||
@NonNls final StringBuffer out = new StringBuffer(1024);
|
||||
if (packageName.length() > 0) out.append("package " + packageName + ';');
|
||||
@@ -129,14 +133,18 @@ class ParameterObjectBuilder {
|
||||
out.append(GenerateMembersUtil.generateGetterPrototype(JavaPsiFacade.getElementFactory(myProject).createField(field.getName(), field.getType())).getText());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private CodeStyleSettings getSettings() {
|
||||
return myFile != null ? CodeStyle.getSettings(myFile) : CodeStyle.getProjectOrDefaultSettings(myProject);
|
||||
}
|
||||
|
||||
private void outputConstructor(@NonNls StringBuffer out) {
|
||||
out.append("\t" + myVisibility + " " + className + '(');
|
||||
for (Iterator<ParameterSpec> iterator = fields.iterator(); iterator.hasNext();) {
|
||||
final ParameterSpec field = iterator.next();
|
||||
final PsiParameter parameter = field.getParameter();
|
||||
outputAnnotationString(parameter, out);
|
||||
out.append(
|
||||
CodeStyleSettingsManager.getSettings(myProject).getCustomSettings(JavaCodeStyleSettings.class).GENERATE_FINAL_PARAMETERS ?
|
||||
out.append(getSettings().getCustomSettings(JavaCodeStyleSettings.class).GENERATE_FINAL_PARAMETERS ?
|
||||
" final " : "");
|
||||
final String parameterName = parameter.getName();
|
||||
final PsiType type = field.getType();
|
||||
|
||||
+14
-5
@@ -15,14 +15,14 @@
|
||||
*/
|
||||
package com.intellij.refactoring.wrapreturnvalue;
|
||||
|
||||
import com.intellij.application.options.CodeStyle;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiType;
|
||||
import com.intellij.psi.PsiTypeParameter;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleManager;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleSettings;
|
||||
import com.intellij.psi.codeStyle.VariableKind;
|
||||
import com.intellij.psi.codeStyle.*;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
@@ -33,6 +33,7 @@ class ReturnValueBeanBuilder {
|
||||
private String myClassName;
|
||||
private String myPackageName;
|
||||
private Project myProject;
|
||||
private PsiFile myFile;
|
||||
private PsiType myValueType;
|
||||
private boolean myStatic;
|
||||
|
||||
@@ -53,6 +54,10 @@ class ReturnValueBeanBuilder {
|
||||
myProject = project;
|
||||
}
|
||||
|
||||
public void setFile(@NotNull PsiFile file) {
|
||||
myFile = file;
|
||||
}
|
||||
|
||||
public void setValueType(PsiType valueType) {
|
||||
myValueType = valueType;
|
||||
}
|
||||
@@ -108,7 +113,7 @@ class ReturnValueBeanBuilder {
|
||||
final String fieldName = getFieldName(name);
|
||||
out.append("\tpublic ").append(myClassName).append('(');
|
||||
out.append(
|
||||
CodeStyleSettingsManager.getSettings(myProject).getCustomSettings(JavaCodeStyleSettings.class).GENERATE_FINAL_PARAMETERS ?
|
||||
getSettings().getCustomSettings(JavaCodeStyleSettings.class).GENERATE_FINAL_PARAMETERS ?
|
||||
"final " : "");
|
||||
out.append(typeText).append(' ').append(parameterName);
|
||||
out.append(") {\n");
|
||||
@@ -121,6 +126,10 @@ class ReturnValueBeanBuilder {
|
||||
out.append("\t}");
|
||||
}
|
||||
|
||||
private CodeStyleSettings getSettings() {
|
||||
return myFile != null ? CodeStyle.getSettings(myFile) : CodeStyle.getProjectOrDefaultSettings(myProject);
|
||||
}
|
||||
|
||||
private void outputGetter(StringBuilder out) {
|
||||
final String typeText = myValueType.getCanonicalText(true);
|
||||
final String name = "value";
|
||||
|
||||
+1
@@ -282,6 +282,7 @@ public class WrapReturnValueProcessor extends FixableUsagesRefactoringProcessor
|
||||
final Project project = myMethod.getProject();
|
||||
final ReturnValueBeanBuilder beanClassBuilder = new ReturnValueBeanBuilder();
|
||||
beanClassBuilder.setProject(project);
|
||||
beanClassBuilder.setFile(myMethod.getContainingFile());
|
||||
beanClassBuilder.setTypeArguments(myTypeParameters);
|
||||
beanClassBuilder.setClassName(myClassName);
|
||||
beanClassBuilder.setPackageName(myPackageName);
|
||||
|
||||
Reference in New Issue
Block a user