From d8f813215a83b6853b8c7fdc14fe62b7065c8b2b Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Thu, 12 Jan 2012 16:36:35 +0400 Subject: [PATCH] some methods annotated by MagicConstant annotations --- .../daemon/impl/analysis/HighlightUtil.java | 13 +++--- .../impl/quickfix/CreateFromUsageBaseFix.java | 1 + .../impl/quickfix/MethodReturnTypeFix.java | 2 +- .../daemon/impl/quickfix/ModifierFix.java | 6 +-- .../GenerateConstructorHandler.java | 6 +-- .../api/impls/MethodParameterInfoHandler.java | 14 +----- .../visibility/VisibilityInspection.java | 33 +++++++------- .../com/intellij/ide/JavaFileIconPatcher.java | 4 +- .../intellij/ide/util/MethodCellRenderer.java | 8 ++-- .../java/JavaSpacePropertyProcessor.java | 24 +++++----- .../ChangeSignatureProcessor.java | 8 ++-- .../DetectedJavaChangeInfo.java | 2 +- .../changeSignature/JavaChangeInfo.java | 2 +- .../changeSignature/JavaChangeInfoImpl.java | 8 ++-- .../EncapsulateFieldsDescriptor.java | 6 +-- .../EncapsulateFieldsDialog.java | 4 +- .../extractMethod/AbstractExtractDialog.java | 2 + .../extractMethod/ExtractMethodProcessor.java | 13 +++--- .../InheritanceToDelegationProcessor.java | 6 +-- .../introduceField/IntroduceFieldDialog.java | 2 +- ...eplaceConstructorWithFactoryProcessor.java | 3 +- .../util/RefactoringConflictsUtil.java | 2 +- .../src/com/intellij/psi/Modifier.java | 39 ---------------- .../src/com/intellij/psi/PsiModifier.java | 4 ++ .../src/com/intellij/psi/PsiModifierList.java | 8 ++-- .../intellij/psi/PsiModifierListOwner.java | 2 +- .../psi/codeStyle/JavaCodeStyleManager.java | 3 +- .../psi/infos/MethodCandidateInfo.java | 9 +++- .../src/com/intellij/psi/util/PsiUtil.java | 7 ++- .../psi/filters/element/ModifierFilter.java | 15 +++---- .../JavaMethodsConflictResolver.java | 9 ++-- .../refactoring/ChangeSignatureTest.java | 8 ++-- .../intention/QuickFixFactory.java | 14 +++--- .../reference/RefJavaElement.java | 4 +- .../src/com/intellij/ide/IconUtilEx.java | 4 +- .../intellij/psi/JavaCodeFragmentFactory.java | 5 ++- .../com/intellij/psi/util/PsiMatchers.java | 2 +- .../src/com/intellij/util/VisibilityUtil.java | 22 +++++----- .../src/com/intellij/ide/FileIconPatcher.java | 3 +- .../com/intellij/ide/FileIconProvider.java | 3 +- .../src/com/intellij/ide/IconProvider.java | 3 +- .../com/intellij/openapi/util/Iconable.java | 5 ++- .../com/intellij/psi/impl/ElementBase.java | 7 +-- .../src/com/intellij/util/FileIconKey.java | 6 ++- .../src/com/intellij/util/IconUtil.java | 6 +-- .../src/com/intellij/util/PsiIconUtil.java | 3 +- .../highlighting/HighlightManager.java | 6 ++- .../codeStyle/CommonCodeStyleSettings.java | 10 +++-- .../options/CodeCompletionPanel.java | 7 ++- .../options/colors/ClickNavigator.java | 3 +- .../codeInsight/CodeInsightSettings.java | 10 +++-- .../highlighting/HighlightManagerImpl.java | 14 +++--- .../lookup/impl/LookupCellRenderer.java | 2 +- .../navigation/CtrlMouseHandler.java | 7 +-- .../impl/nodes/AbstractPsiBasedNode.java | 1 + .../ide/util/PsiElementListCellRenderer.java | 2 + .../openapi/module/impl/ModuleImpl.java | 2 +- .../scopes/ModuleWithDependenciesScope.java | 23 ++++++---- .../ui/AbstractMemberSelectionTable.java | 3 +- .../codeInsight/hint/HintManager.java | 15 +++++-- .../src/com/intellij/ide/GeneralSettings.java | 4 +- .../openapi/actionSystem/AnAction.java | 3 +- .../openapi/actionSystem/AnActionEvent.java | 8 ++-- .../openapi/actionSystem/MouseShortcut.java | 11 +++-- .../editor/markup/AttributesFlyweight.java | 8 ++-- .../openapi/editor/markup/TextAttributes.java | 10 ++++- .../intellij/openapi/keymap/KeymapUtil.java | 22 +++++----- .../intellij/openapi/ui/DialogBuilder.java | 7 +-- .../intellij/openapi/ui/DialogWrapper.java | 3 +- .../openapi/ui/SelectFromListDialog.java | 3 +- .../com/intellij/openapi/ui/TreeComboBox.java | 36 ++++++++------- .../openapi/ui/VerticalFlowLayout.java | 11 +++-- .../intellij/openapi/ui/popup/JBPopup.java | 3 +- .../com/intellij/ui/CommandButtonGroup.java | 6 ++- .../src/com/intellij/ui/GuiUtils.java | 3 +- .../com/intellij/ui/ListScrollingUtil.java | 5 ++- .../com/intellij/ui/SimpleTextAttributes.java | 40 +++++++++++------ .../com/intellij/ui/TableScrollingUtil.java | 5 ++- .../intellij/ui/components/JBScrollBar.java | 5 ++- .../ui/switcher/QuickAccessSettings.java | 21 +++++---- .../intellij/ui/switcher/SwitchManager.java | 3 +- .../src/com/intellij/ui/tabs/TabInfo.java | 2 +- .../codeInsight/hint/HintManagerImpl.java | 44 +++++++++---------- .../intellij/codeInsight/hint/HintUtil.java | 4 +- .../intellij/ide/actionMacro/ActionMacro.java | 7 +-- .../intellij/ide/ui/search/SearchUtil.java | 2 +- .../intellij/openapi/editor/ex/EditorEx.java | 3 +- .../openapi/editor/ex/util/EditorUtil.java | 9 ++-- .../impl/ComplementaryFontsRegistry.java | 5 ++- ...DefaultEditorTextRepresentationHelper.java | 5 ++- .../openapi/editor/impl/EditorImpl.java | 37 ++++++++-------- .../impl/EditorTextRepresentationHelper.java | 5 ++- .../openapi/editor/impl/FontInfo.java | 6 ++- .../mapping/SoftWrapApplianceManager.java | 3 +- .../keymap/impl/MacOSDefaultKeymap.java | 4 +- .../keymap/impl/ui/MouseShortcutDialog.java | 3 +- .../ui/playback/commands/TypeCommand.java | 6 +-- .../intellij/ui/ResizeComponentListener.java | 6 ++- .../com/intellij/ui/popup/WizardPopup.java | 4 +- .../src/com/intellij/idea/Bombed.java | 4 +- .../src/com/intellij/util/ui/ScrollUtil.java | 3 +- .../vcs/changes/ChangesViewManager.java | 6 +-- .../vcs/changes/ui/ChangeNodeDecorator.java | 12 ++--- .../quick/common/AbstractValueHint.java | 3 +- ...ConstructorInNonPublicClassInspection.java | 4 +- .../com/siyeh/ig/fixes/ChangeModifierFix.java | 9 ++-- .../logcat/AndroidConfiguredLogFilters.java | 2 + .../cvsSupport2/cvsBrowser/CvsTree.java | 5 ++- .../ui/experts/SelectCvsElementStep.java | 5 ++- .../bugs/GroovyAccessibilityInspection.java | 2 +- .../changeSignature/GrChangeInfoImpl.java | 1 - .../ChangeSignatureForJavaTest.java | 6 +-- .../changeSignature/ChangeSignatureTest.java | 22 +++++----- .../ChangeSignatureTestCase.java | 2 +- .../uiDesigner/designSurface/Painter.java | 2 + .../uiDesigner/quickFixes/CreateFieldFix.java | 4 +- .../radComponents/FlowDropLocation.java | 3 +- .../util/xml/tree/AbstractDomElementNode.java | 4 +- 118 files changed, 510 insertions(+), 426 deletions(-) delete mode 100644 java/java-psi-api/src/com/intellij/psi/Modifier.java diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java index 37347b2e2ae1..1ac11d19ccaf 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java @@ -1,4 +1,3 @@ - /* * Copyright 2000-2011 JetBrains s.r.o. * @@ -232,7 +231,7 @@ public class HighlightUtil { Set incompatibles = incompatibleModifiersHash.get(modifier); if (incompatibles == null) return null; - for (@Modifier String incompatible : incompatibles) { + for (@PsiModifier.ModifierConstant String incompatible : incompatibles) { if (modifierList.hasModifierProperty(incompatible)) { return incompatible; } @@ -271,7 +270,7 @@ public class HighlightUtil { JavaPsiFacade facade = JavaPsiFacade.getInstance(project); PsiModifierList modifierListCopy = facade.getElementFactory().createFieldFromText("int a;", null).getModifierList(); modifierListCopy.setModifierProperty(PsiModifier.STATIC, modifierList.hasModifierProperty(PsiModifier.STATIC)); - @Modifier String minModifier = PsiModifier.PACKAGE_LOCAL; + String minModifier = PsiModifier.PACKAGE_LOCAL; if (refElement.hasModifierProperty(PsiModifier.PACKAGE_LOCAL)) { minModifier = PsiModifier.PROTECTED; } @@ -280,7 +279,7 @@ public class HighlightUtil { } String[] modifiers = {PsiModifier.PACKAGE_LOCAL, PsiModifier.PROTECTED, PsiModifier.PUBLIC,}; for (int i = ArrayUtil.indexOf(modifiers, minModifier); i < modifiers.length; i++) { - @Modifier String modifier = modifiers[i]; + @PsiModifier.ModifierConstant String modifier = modifiers[i]; modifierListCopy.setModifierProperty(modifier, true); if (facade.getResolveHelper().isAccessible(refElement, modifierListCopy, place, accessObjectClass, fileResolveScope)) { IntentionAction fix = QUICK_FIX_FACTORY.createModifierListFix(refElement, modifier, true, true); @@ -761,7 +760,7 @@ public class HighlightUtil { @Nullable static HighlightInfo checkIllegalModifierCombination(PsiKeyword keyword, PsiModifierList modifierList) { - @Modifier String modifier = keyword.getText(); + @PsiModifier.ModifierConstant String modifier = keyword.getText(); String incompatible = getIncompatibleModifier(modifier, modifierList); HighlightInfo highlightInfo = null; @@ -803,7 +802,7 @@ public class HighlightUtil { PsiElement modifierOwner = modifierList.getParent(); if (modifierOwner == null) return null; if (PsiUtilCore.hasErrorElementChild(modifierOwner)) return null; - @Modifier String modifier = keyword.getText(); + @PsiModifier.ModifierConstant String modifier = keyword.getText(); final Map> incompatibleModifierMap = getIncompatibleModifierMap(modifierList); if (incompatibleModifierMap == null) return null; Set incompatibles = incompatibleModifierMap.get(modifier); @@ -1796,7 +1795,7 @@ public class HighlightUtil { if (thisExpression.getQualifier() != null) { resolvedName = referencedClass == null ? null - : PsiFormatUtil.formatClass(referencedClass, PsiFormatUtilBase.SHOW_CONTAINING_CLASS | PsiFormatUtilBase.SHOW_NAME) + ".this"; + : PsiFormatUtil.formatClass(referencedClass, PsiFormatUtilBase.SHOW_NAME) + ".this"; } else { resolvedName = "this"; diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateFromUsageBaseFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateFromUsageBaseFix.java index 8d5df91fbfbe..b8743cc13044 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateFromUsageBaseFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateFromUsageBaseFix.java @@ -157,6 +157,7 @@ public abstract class CreateFromUsageBaseFix extends BaseIntentionAction { VisibilityUtil.setVisibility(list, getVisibility(parentClass, targetClass)); } + @PsiModifier.ModifierConstant protected String getVisibility(PsiClass parentClass, PsiClass targetClass) { if (parentClass != null && (parentClass.equals(targetClass) || PsiTreeUtil.isAncestor(targetClass, parentClass, true))) { return PsiModifier.PRIVATE; diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MethodReturnTypeFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MethodReturnTypeFix.java index db4d2ff3ee0d..2abf3b82d170 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MethodReturnTypeFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MethodReturnTypeFix.java @@ -281,7 +281,7 @@ public class MethodReturnTypeFix extends LocalQuickFixAndIntentionActionOnPsiEle private final UsageVisitor myUsageVisitor; private UsagesAwareChangeSignatureProcessor(final Project project, final PsiMethod method, final boolean generateDelegate, - @Modifier final String newVisibility, final String newName, final PsiType newType, + @PsiModifier.ModifierConstant final String newVisibility, final String newName, final PsiType newType, @NotNull final ParameterInfoImpl[] parameterInfo, final UsageVisitor usageVisitor) { super(project, method, generateDelegate, newVisibility, newName, newType, parameterInfo); myUsageVisitor = usageVisitor; diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ModifierFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ModifierFix.java index a4126ac52098..7afe3b275c2a 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ModifierFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ModifierFix.java @@ -43,13 +43,13 @@ import java.util.List; public class ModifierFix extends LocalQuickFixAndIntentionActionOnPsiElement { private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.daemon.impl.quickfix.ModifierFix"); - @Modifier private final String myModifier; + @PsiModifier.ModifierConstant private final String myModifier; private final boolean myShouldHave; private final boolean myShowContainingClass; private final String myName; private final SmartPsiElementPointer myVariable; - public ModifierFix(PsiModifierList modifierList, @Modifier @NotNull String modifier, boolean shouldHave, boolean showContainingClass) { + public ModifierFix(PsiModifierList modifierList, @PsiModifier.ModifierConstant @NotNull String modifier, boolean shouldHave, boolean showContainingClass) { super(modifierList); myModifier = modifier; myShouldHave = shouldHave; @@ -58,7 +58,7 @@ public class ModifierFix extends LocalQuickFixAndIntentionActionOnPsiElement { myVariable = null; } - public ModifierFix(@NotNull PsiModifierListOwner owner, @Modifier @NotNull String modifier, boolean shouldHave, boolean showContainingClass) { + public ModifierFix(@NotNull PsiModifierListOwner owner, @PsiModifier.ModifierConstant @NotNull String modifier, boolean shouldHave, boolean showContainingClass) { super(owner.getModifierList()); myModifier = modifier; myShouldHave = shouldHave; diff --git a/java/java-impl/src/com/intellij/codeInsight/generation/GenerateConstructorHandler.java b/java/java-impl/src/com/intellij/codeInsight/generation/GenerateConstructorHandler.java index 91c3933a794c..f2eec3cbc0fa 100644 --- a/java/java-impl/src/com/intellij/codeInsight/generation/GenerateConstructorHandler.java +++ b/java/java-impl/src/com/intellij/codeInsight/generation/GenerateConstructorHandler.java @@ -216,7 +216,7 @@ public class GenerateConstructorHandler extends GenerateMembersHandlerBase { PsiMethod constructor = factory.createConstructor(); constructor.setName(aClass.getName()); - @Modifier String modifier = getConstructorModifier(aClass); + String modifier = getConstructorModifier(aClass); if (modifier != null) { PsiUtil.setModifierProperty(constructor, modifier, true); } @@ -296,9 +296,9 @@ public class GenerateConstructorHandler extends GenerateMembersHandlerBase { return constructor; } - @Modifier + @PsiModifier.ModifierConstant public static String getConstructorModifier(final PsiClass aClass) { - @Modifier String modifier = PsiModifier.PUBLIC; + String modifier = PsiModifier.PUBLIC; if (aClass.hasModifierProperty(PsiModifier.ABSTRACT) && !aClass.isEnum()) { modifier = PsiModifier.PROTECTED; diff --git a/java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java b/java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java index 2ad7eca581c8..4157a722560f 100644 --- a/java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java +++ b/java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java @@ -15,9 +15,9 @@ */ package com.intellij.codeInsight.hint.api.impls; +import com.intellij.codeInsight.AnnotationUtil; import com.intellij.codeInsight.CodeInsightBundle; import com.intellij.codeInsight.CodeInsightSettings; -import com.intellij.codeInsight.ExternalAnnotationsManager; import com.intellij.codeInsight.completion.JavaCompletionUtil; import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer; import com.intellij.codeInsight.lookup.LookupElement; @@ -401,18 +401,8 @@ public class MethodParameterInfoHandler implements ParameterInfoHandlerWithTabAc } private static void appendModifierList(@NotNull StringBuilder buffer, @NotNull PsiModifierListOwner owner) { - final PsiModifierList list = owner.getModifierList(); - PsiAnnotation[] annotations = PsiAnnotation.EMPTY_ARRAY; int lastSize = buffer.length(); - if (list != null) { - annotations = list.getAnnotations(); - } - final PsiAnnotation[] externalAnnotations = ExternalAnnotationsManager.getInstance(owner.getProject()).findExternalAnnotations(owner); - if (externalAnnotations != null) { - annotations = ArrayUtil.mergeArrays(annotations, externalAnnotations, PsiAnnotation.ARRAY_FACTORY); - } - - for (PsiAnnotation a : annotations) { + for (PsiAnnotation a : AnnotationUtil.getAllAnnotations(owner, false, null)) { if (lastSize != buffer.length()) buffer.append(" "); final PsiJavaCodeReferenceElement element = a.getNameReferenceElement(); if (element != null) buffer.append("@").append(element.getReferenceName()); diff --git a/java/java-impl/src/com/intellij/codeInspection/visibility/VisibilityInspection.java b/java/java-impl/src/com/intellij/codeInspection/visibility/VisibilityInspection.java index 78a850d04e7b..d8028dee779f 100644 --- a/java/java-impl/src/com/intellij/codeInspection/visibility/VisibilityInspection.java +++ b/java/java-impl/src/com/intellij/codeInspection/visibility/VisibilityInspection.java @@ -176,7 +176,7 @@ public class VisibilityInspection extends GlobalJavaInspectionTool { RefClass refClass = (RefClass) refElement.getOwner(); if (refClass.isInterface()) return null; } - @Modifier String access = getPossibleAccess(refElement); + String access = getPossibleAccess(refElement); if (access != refElement.getAccessModifier() && access != null) { final PsiElement element = refElement.getElement(); final PsiElement nameIdentifier = element != null ? HighlightUsagesHandler.getNameIdentifier(element) : null; @@ -196,11 +196,11 @@ public class VisibilityInspection extends GlobalJavaInspectionTool { } @Nullable - @Modifier + @PsiModifier.ModifierConstant public String getPossibleAccess(@Nullable RefJavaElement refElement) { if (refElement == null) return null; - @Modifier String curAccess = refElement.getAccessModifier(); - @Modifier String weakestAccess = PsiModifier.PRIVATE; + String curAccess = refElement.getAccessModifier(); + String weakestAccess = PsiModifier.PRIVATE; if (isTopLevelClass(refElement) || isCalledOnSubClasses(refElement)) { weakestAccess = PsiModifier.PACKAGE_LOCAL; @@ -213,11 +213,12 @@ public class VisibilityInspection extends GlobalJavaInspectionTool { if (curAccess == weakestAccess) return curAccess; while (true) { - @Modifier String weakerAccess = getWeakerAccess(curAccess, refElement); + String weakerAccess = getWeakerAccess(curAccess, refElement); if (weakerAccess == null || RefJavaUtil.getInstance().compareAccess(weakerAccess, weakestAccess) < 0) break; if (isAccessible(refElement, weakerAccess)) { curAccess = weakerAccess; - } else { + } + else { break; } } @@ -238,20 +239,22 @@ public class VisibilityInspection extends GlobalJavaInspectionTool { } @Nullable - @Modifier - private String getWeakerAccess(String curAccess, RefElement refElement) { + @PsiModifier.ModifierConstant + private String getWeakerAccess(@PsiModifier.ModifierConstant String curAccess, RefElement refElement) { if (curAccess == PsiModifier.PUBLIC) { return isTopLevelClass(refElement) ? PsiModifier.PACKAGE_LOCAL : PsiModifier.PROTECTED; - } else if (curAccess == PsiModifier.PROTECTED) { + } + if (curAccess == PsiModifier.PROTECTED) { return SUGGEST_PACKAGE_LOCAL_FOR_MEMBERS ? PsiModifier.PACKAGE_LOCAL : PsiModifier.PRIVATE; - } else if (curAccess == PsiModifier.PACKAGE_LOCAL) { + } + if (curAccess == PsiModifier.PACKAGE_LOCAL) { return PsiModifier.PRIVATE; } return null; } - private boolean isAccessible(RefJavaElement to, String accessModifier) { + private boolean isAccessible(RefJavaElement to, @PsiModifier.ModifierConstant String accessModifier) { for (RefElement refElement : to.getInReferences()) { if (!isAccessibleFrom(refElement, to, accessModifier)) return false; @@ -260,7 +263,7 @@ public class VisibilityInspection extends GlobalJavaInspectionTool { if (to instanceof RefMethod) { RefMethod refMethod = (RefMethod) to; - if (refMethod.isAbstract() && (refMethod.getDerivedMethods().size() == 0 || refMethod.getAccessModifier() == PsiModifier.PRIVATE)) return false; + if (refMethod.isAbstract() && (refMethod.getDerivedMethods().isEmpty() || refMethod.getAccessModifier() == PsiModifier.PRIVATE)) return false; for (RefMethod refOverride : refMethod.getDerivedMethods()) { if (!isAccessibleFrom(refOverride, to, accessModifier)) return false; @@ -299,7 +302,7 @@ public class VisibilityInspection extends GlobalJavaInspectionTool { return true; } - private static int getAccessLevel(String access) { + private static int getAccessLevel(@PsiModifier.ModifierConstant String access) { if (access == PsiModifier.PRIVATE) return 1; if (access == PsiModifier.PACKAGE_LOCAL) return 2; if (access == PsiModifier.PROTECTED) return 3; @@ -490,9 +493,9 @@ public class VisibilityInspection extends GlobalJavaInspectionTool { private static class AcceptSuggestedAccess implements LocalQuickFix{ private final RefManager myManager; - @Modifier private final String myHint; + @PsiModifier.ModifierConstant private final String myHint; - private AcceptSuggestedAccess(final RefManager manager, @Modifier String hint) { + private AcceptSuggestedAccess(final RefManager manager, @PsiModifier.ModifierConstant String hint) { myManager = manager; myHint = hint; } diff --git a/java/java-impl/src/com/intellij/ide/JavaFileIconPatcher.java b/java/java-impl/src/com/intellij/ide/JavaFileIconPatcher.java index 7299612ac640..b7d9d56006cd 100644 --- a/java/java-impl/src/com/intellij/ide/JavaFileIconPatcher.java +++ b/java/java-impl/src/com/intellij/ide/JavaFileIconPatcher.java @@ -18,13 +18,13 @@ package com.intellij.ide; import com.intellij.lang.StdLanguages; import com.intellij.openapi.compiler.CompilerManager; import com.intellij.openapi.fileTypes.FileType; -import com.intellij.openapi.fileTypes.FileTypeManager; import com.intellij.openapi.fileTypes.StdFileTypes; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.FileIndexUtil; import com.intellij.openapi.roots.ProjectFileIndex; import com.intellij.openapi.roots.ProjectRootManager; import com.intellij.openapi.util.Comparing; +import com.intellij.openapi.util.Iconable; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; import com.intellij.ui.LayeredIcon; @@ -51,7 +51,7 @@ public class JavaFileIconPatcher implements FileIconPatcher { return icon; } - private static Icon replaceIcon(VirtualFile file, int flags, Project project, Icon baseIcon) { + private static Icon replaceIcon(VirtualFile file, @Iconable.IconFlags int flags, Project project, Icon baseIcon) { FileType fileType = file.getFileType(); if (fileType == StdFileTypes.JAVA && !FileIndexUtil.isJavaSourceFile(project, file)) { return PlatformIcons.JAVA_OUTSIDE_SOURCE_ICON; diff --git a/java/java-impl/src/com/intellij/ide/util/MethodCellRenderer.java b/java/java-impl/src/com/intellij/ide/util/MethodCellRenderer.java index ad9f5ffda70e..72fcbda6979c 100644 --- a/java/java-impl/src/com/intellij/ide/util/MethodCellRenderer.java +++ b/java/java-impl/src/com/intellij/ide/util/MethodCellRenderer.java @@ -17,18 +17,20 @@ package com.intellij.ide.util; import com.intellij.psi.*; import com.intellij.psi.util.PsiFormatUtil; +import com.intellij.psi.util.PsiFormatUtilBase; import javax.swing.*; public class MethodCellRenderer extends PsiElementListCellRenderer{ private final boolean myShowMethodNames; private final PsiClassListCellRenderer myClassListCellRenderer = new PsiClassListCellRenderer(); + @PsiFormatUtil.FormatMethodOptions private final int myOptions; public MethodCellRenderer(boolean showMethodNames) { - this(showMethodNames, PsiFormatUtil.SHOW_NAME | PsiFormatUtil.SHOW_PARAMETERS); + this(showMethodNames, PsiFormatUtilBase.SHOW_NAME | PsiFormatUtilBase.SHOW_PARAMETERS); } - public MethodCellRenderer(boolean showMethodNames, int options) { + public MethodCellRenderer(boolean showMethodNames, @PsiFormatUtil.FormatMethodOptions int options) { myShowMethodNames = showMethodNames; myOptions = options; } @@ -37,7 +39,7 @@ public class MethodCellRenderer extends PsiElementListCellRenderer{ final PsiNamedElement container = fetchContainer(element); String text = container instanceof PsiClass ? myClassListCellRenderer.getElementText((PsiClass)container) : container.getName(); if (myShowMethodNames) { - text += "."+PsiFormatUtil.formatMethod(element, PsiSubstitutor.EMPTY, myOptions, PsiFormatUtil.SHOW_TYPE); + text += "."+PsiFormatUtil.formatMethod(element, PsiSubstitutor.EMPTY, myOptions, PsiFormatUtilBase.SHOW_TYPE); } return text; } diff --git a/java/java-impl/src/com/intellij/psi/formatter/java/JavaSpacePropertyProcessor.java b/java/java-impl/src/com/intellij/psi/formatter/java/JavaSpacePropertyProcessor.java index dc15e06bb357..f27234ef9a5c 100644 --- a/java/java-impl/src/com/intellij/psi/formatter/java/JavaSpacePropertyProcessor.java +++ b/java/java-impl/src/com/intellij/psi/formatter/java/JavaSpacePropertyProcessor.java @@ -465,11 +465,11 @@ public class JavaSpacePropertyProcessor extends JavaElementVisitor { } ASTNode lbraceCandidate = leftNode.getTreePrev(); - return (lbraceCandidate != null && lbraceCandidate.getElementType() == JavaTokenType.LBRACE) ? 0 : 1; + return lbraceCandidate != null && lbraceCandidate.getElementType() == JavaTokenType.LBRACE ? 0 : 1; } private int getLinesAroundMethod() { - boolean useInterfaceMethodSpacing = !isClass(myParent) || (isAbstractMethod(myChild1) && isAbstractMethod(myChild2)); + boolean useInterfaceMethodSpacing = !isClass(myParent) || isAbstractMethod(myChild1) && isAbstractMethod(myChild2); return useInterfaceMethodSpacing ? mySettings.BLANK_LINES_AROUND_METHOD_IN_INTERFACE : mySettings.BLANK_LINES_AROUND_METHOD; } @@ -628,8 +628,8 @@ public class JavaSpacePropertyProcessor extends JavaElementVisitor { if (putRightChildOnNewLine) { processOnNewLineCondition(true); } else { - boolean useSpace = (myRole2 == ChildRole.CATCH_SECTION && mySettings.SPACE_BEFORE_CATCH_KEYWORD) - || (myRole2 == ChildRole.FINALLY_KEYWORD && mySettings.SPACE_BEFORE_FINALLY_KEYWORD); + boolean useSpace = myRole2 == ChildRole.CATCH_SECTION && mySettings.SPACE_BEFORE_CATCH_KEYWORD + || myRole2 == ChildRole.FINALLY_KEYWORD && mySettings.SPACE_BEFORE_FINALLY_KEYWORD; createSpaceProperty(useSpace, false, 0); } return; @@ -655,8 +655,8 @@ public class JavaSpacePropertyProcessor extends JavaElementVisitor { else if (myRole1 == ChildRole.LPARENTH || myRole2 == ChildRole.RPARENTH) { createSpaceInCode(mySettings.SPACE_WITHIN_FOR_PARENTHESES); } - else if ((myRole1 == ChildRole.FOR_ITERATION_PARAMETER && myRole2 == ChildRole.COLON) || - (myRole1 == ChildRole.COLON && myRole2 == ChildRole.FOR_ITERATED_VALUE)) + else if (myRole1 == ChildRole.FOR_ITERATION_PARAMETER && myRole2 == ChildRole.COLON || + myRole1 == ChildRole.COLON && myRole2 == ChildRole.FOR_ITERATED_VALUE) { createSpaceInCode(true); } @@ -713,7 +713,7 @@ public class JavaSpacePropertyProcessor extends JavaElementVisitor { myResult = Spacing.createSpacing(0, 0, 1, mySettings.KEEP_LINE_BREAKS, mySettings.KEEP_BLANK_LINES_IN_CODE); } - else if ((myRole1 == ChildRoleBase.NONE && !lhsStatement) || (myRole2 == ChildRoleBase.NONE && !rhsStatement)) { + else if (myRole1 == ChildRoleBase.NONE && !lhsStatement || myRole2 == ChildRoleBase.NONE && !rhsStatement) { final IElementType firstElementType = myChild1.getElementType(); if ( firstElementType == JavaTokenType.END_OF_LINE_COMMENT @@ -767,7 +767,7 @@ public class JavaSpacePropertyProcessor extends JavaElementVisitor { int minSpaces = 0; int minLineFeeds = 1; PsiElement psi = myChild1.getPsi(); - if (mySettings.KEEP_MULTIPLE_EXPRESSIONS_IN_ONE_LINE || (psi != null && PsiTreeUtil.hasErrorElements(psi))) { + if (mySettings.KEEP_MULTIPLE_EXPRESSIONS_IN_ONE_LINE || psi != null && PsiTreeUtil.hasErrorElements(psi)) { minSpaces = 1; minLineFeeds = 0; } @@ -866,7 +866,7 @@ public class JavaSpacePropertyProcessor extends JavaElementVisitor { } private Spacing getSpaceBeforeLBrace(final boolean spaceBeforeLbrace, - int braceStyle, + @CommonCodeStyleSettings.BraceStyleConstant int braceStyle, @Nullable TextRange dependantRange, boolean keepOneLine, boolean useParentBlockAsDependencyAllTheTime) @@ -1258,9 +1258,9 @@ public class JavaSpacePropertyProcessor extends JavaElementVisitor { } @Override public void visitReferenceParameterList(PsiReferenceParameterList list) { - if ((myRole1 == ChildRole.LT_IN_TYPE_LIST && myRole2 == ChildRole.TYPE_IN_REFERENCE_PARAMETER_LIST) - || (myRole1 == ChildRole.LT_IN_TYPE_LIST && myRole2 == ChildRole.GT_IN_TYPE_LIST) - || (myRole1 == ChildRole.TYPE_IN_REFERENCE_PARAMETER_LIST && myRole2 == ChildRole.COMMA)) + if (myRole1 == ChildRole.LT_IN_TYPE_LIST && myRole2 == ChildRole.TYPE_IN_REFERENCE_PARAMETER_LIST + || myRole1 == ChildRole.LT_IN_TYPE_LIST && myRole2 == ChildRole.GT_IN_TYPE_LIST + || myRole1 == ChildRole.TYPE_IN_REFERENCE_PARAMETER_LIST && myRole2 == ChildRole.COMMA) { createSpaceInCode(false); } diff --git a/java/java-impl/src/com/intellij/refactoring/changeSignature/ChangeSignatureProcessor.java b/java/java-impl/src/com/intellij/refactoring/changeSignature/ChangeSignatureProcessor.java index a125e7146ab3..1f9ec4d9b894 100644 --- a/java/java-impl/src/com/intellij/refactoring/changeSignature/ChangeSignatureProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/changeSignature/ChangeSignatureProcessor.java @@ -50,7 +50,7 @@ public class ChangeSignatureProcessor extends ChangeSignatureProcessorBase { public ChangeSignatureProcessor(Project project, PsiMethod method, final boolean generateDelegate, - @Modifier String newVisibility, + @PsiModifier.ModifierConstant String newVisibility, String newName, PsiType newType, @NotNull ParameterInfoImpl[] parameterInfo) { @@ -62,7 +62,7 @@ public class ChangeSignatureProcessor extends ChangeSignatureProcessorBase { public ChangeSignatureProcessor(Project project, PsiMethod method, final boolean generateDelegate, - String newVisibility, + @PsiModifier.ModifierConstant String newVisibility, String newName, PsiType newType, ParameterInfoImpl[] parameterInfo, @@ -75,7 +75,7 @@ public class ChangeSignatureProcessor extends ChangeSignatureProcessorBase { public ChangeSignatureProcessor(Project project, PsiMethod method, boolean generateDelegate, - @Modifier String newVisibility, + @PsiModifier.ModifierConstant String newVisibility, String newName, CanonicalTypes.Type newType, @NotNull ParameterInfoImpl[] parameterInfo, @@ -93,7 +93,7 @@ public class ChangeSignatureProcessor extends ChangeSignatureProcessorBase { private static JavaChangeInfo generateChangeInfo(PsiMethod method, boolean generateDelegate, - @Modifier String newVisibility, + @PsiModifier.ModifierConstant String newVisibility, String newName, CanonicalTypes.Type newType, @NotNull ParameterInfoImpl[] parameterInfo, diff --git a/java/java-impl/src/com/intellij/refactoring/changeSignature/DetectedJavaChangeInfo.java b/java/java-impl/src/com/intellij/refactoring/changeSignature/DetectedJavaChangeInfo.java index f33a4ca355bc..9755a46d10da 100644 --- a/java/java-impl/src/com/intellij/refactoring/changeSignature/DetectedJavaChangeInfo.java +++ b/java/java-impl/src/com/intellij/refactoring/changeSignature/DetectedJavaChangeInfo.java @@ -43,7 +43,7 @@ class DetectedJavaChangeInfo extends JavaChangeInfoImpl { private PsiMethod mySuperMethod; private String[] myModifiers; - DetectedJavaChangeInfo(String newVisibility, + DetectedJavaChangeInfo(@PsiModifier.ModifierConstant String newVisibility, PsiMethod method, CanonicalTypes.Type newType, @NotNull ParameterInfoImpl[] newParms, diff --git a/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeInfo.java b/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeInfo.java index 2c64ba694987..6466f8302385 100644 --- a/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeInfo.java +++ b/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeInfo.java @@ -38,7 +38,7 @@ public interface JavaChangeInfo extends ChangeInfo { @NotNull JavaParameterInfo[] getNewParameters(); - @Modifier + @PsiModifier.ModifierConstant String getNewVisibility(); @NotNull diff --git a/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeInfoImpl.java b/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeInfoImpl.java index 71d79e106759..83948f951be6 100644 --- a/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeInfoImpl.java +++ b/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeInfoImpl.java @@ -35,7 +35,7 @@ import java.util.*; class JavaChangeInfoImpl implements JavaChangeInfo { private static final Logger LOG = Logger.getInstance("#com.intellij.refactoring.changeSignature.JavaChangeInfoImpl"); - @Modifier + @PsiModifier.ModifierConstant final String newVisibility; private PsiMethod method; String oldName; @@ -71,7 +71,7 @@ class JavaChangeInfoImpl implements JavaChangeInfo { /** * @param newExceptions null if not changed */ - public JavaChangeInfoImpl(@Modifier String newVisibility, + public JavaChangeInfoImpl(@PsiModifier.ModifierConstant String newVisibility, PsiMethod method, String newName, CanonicalTypes.Type newType, @@ -88,7 +88,7 @@ class JavaChangeInfoImpl implements JavaChangeInfo { * @param newExceptions null if not changed * @param oldName */ - public JavaChangeInfoImpl(String newVisibility, + public JavaChangeInfoImpl(@PsiModifier.ModifierConstant String newVisibility, PsiMethod method, String newName, CanonicalTypes.Type newType, @@ -222,7 +222,7 @@ class JavaChangeInfoImpl implements JavaChangeInfo { return newParms; } - @Modifier + @PsiModifier.ModifierConstant public String getNewVisibility() { return newVisibility; } diff --git a/java/java-impl/src/com/intellij/refactoring/encapsulateFields/EncapsulateFieldsDescriptor.java b/java/java-impl/src/com/intellij/refactoring/encapsulateFields/EncapsulateFieldsDescriptor.java index edd0e3a9faf2..8f1162e34bc0 100644 --- a/java/java-impl/src/com/intellij/refactoring/encapsulateFields/EncapsulateFieldsDescriptor.java +++ b/java/java-impl/src/com/intellij/refactoring/encapsulateFields/EncapsulateFieldsDescriptor.java @@ -20,9 +20,9 @@ */ package com.intellij.refactoring.encapsulateFields; -import com.intellij.psi.Modifier; import com.intellij.psi.PsiField; import com.intellij.psi.PsiMethod; +import com.intellij.psi.PsiModifier; import org.jetbrains.annotations.Nullable; public interface EncapsulateFieldsDescriptor { @@ -44,10 +44,10 @@ public interface EncapsulateFieldsDescriptor { boolean isToUseAccessorsWhenAccessible(); - @Modifier + @PsiModifier.ModifierConstant String getFieldsVisibility(); - @Modifier + @PsiModifier.ModifierConstant String getAccessorsVisibility(); int getJavadocPolicy(); diff --git a/java/java-impl/src/com/intellij/refactoring/encapsulateFields/EncapsulateFieldsDialog.java b/java/java-impl/src/com/intellij/refactoring/encapsulateFields/EncapsulateFieldsDialog.java index 6a8011e49d98..2b588a92e74e 100644 --- a/java/java-impl/src/com/intellij/refactoring/encapsulateFields/EncapsulateFieldsDialog.java +++ b/java/java-impl/src/com/intellij/refactoring/encapsulateFields/EncapsulateFieldsDialog.java @@ -210,7 +210,7 @@ public class EncapsulateFieldsDialog extends RefactoringDialog implements Encaps return myCbUseAccessorsWhenAccessible.isSelected(); } - @Modifier + @PsiModifier.ModifierConstant public String getFieldsVisibility() { if (myRbFieldPrivate.isSelected()) { return PsiModifier.PRIVATE; @@ -234,7 +234,7 @@ public class EncapsulateFieldsDialog extends RefactoringDialog implements Encaps return "#com.intellij.refactoring.encapsulateFields.EncalpsulateFieldsDialog"; } -@Modifier + @PsiModifier.ModifierConstant public String getAccessorsVisibility() { if (myRbAccessorPublic.isSelected()) { return PsiModifier.PUBLIC; diff --git a/java/java-impl/src/com/intellij/refactoring/extractMethod/AbstractExtractDialog.java b/java/java-impl/src/com/intellij/refactoring/extractMethod/AbstractExtractDialog.java index 08f66fe47fe4..2e4531c7578d 100644 --- a/java/java-impl/src/com/intellij/refactoring/extractMethod/AbstractExtractDialog.java +++ b/java/java-impl/src/com/intellij/refactoring/extractMethod/AbstractExtractDialog.java @@ -22,6 +22,7 @@ package com.intellij.refactoring.extractMethod; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; +import com.intellij.psi.PsiModifier; import com.intellij.refactoring.util.ParameterTablePanel; public abstract class AbstractExtractDialog extends DialogWrapper { @@ -34,6 +35,7 @@ public abstract class AbstractExtractDialog extends DialogWrapper { public abstract ParameterTablePanel.VariableData[] getChosenParameters(); + @PsiModifier.ModifierConstant public abstract String getVisibility(); public abstract boolean isMakeStatic(); diff --git a/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodProcessor.java b/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodProcessor.java index fce426c5cb07..a9c46f8bb322 100644 --- a/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodProcessor.java @@ -55,10 +55,7 @@ import com.intellij.psi.search.PsiElementProcessor; import com.intellij.psi.search.SearchScope; import com.intellij.psi.search.searches.ReferencesSearch; import com.intellij.psi.tree.IElementType; -import com.intellij.psi.util.PsiFormatUtil; -import com.intellij.psi.util.PsiTreeUtil; -import com.intellij.psi.util.PsiUtil; -import com.intellij.psi.util.PsiUtilBase; +import com.intellij.psi.util.*; import com.intellij.refactoring.HelpID; import com.intellij.refactoring.RefactoringBundle; import com.intellij.refactoring.extractMethodObject.ExtractMethodObjectHandler; @@ -128,7 +125,7 @@ public class ExtractMethodProcessor implements MatchProvider { protected boolean myIsChainedConstructor; private DuplicatesFinder myDuplicatesFinder; private List myDuplicates; - @Modifier private String myMethodVisibility = PsiModifier.PRIVATE; + @PsiModifier.ModifierConstant private String myMethodVisibility = PsiModifier.PRIVATE; protected boolean myGenerateConditionalExit; private PsiStatement myFirstExitStatementCopy; private PsiMethod myExtractedMethod; @@ -185,7 +182,7 @@ public class ExtractMethodProcessor implements MatchProvider { } } - return PsiUtilBase.toPsiElementArray(result); + return PsiUtilCore.toPsiElementArray(result); } /** @@ -524,12 +521,12 @@ public class ExtractMethodProcessor implements MatchProvider { } } if (myExpression != null) { - myDuplicatesFinder = new DuplicatesFinder(PsiUtilBase.toPsiElementArray(elements), myInputVariables.copy(), + myDuplicatesFinder = new DuplicatesFinder(PsiUtilCore.toPsiElementArray(elements), myInputVariables.copy(), new ArrayList()); myDuplicates = myDuplicatesFinder.findDuplicates(myTargetClass); } else if (elements.size() > 0){ - myDuplicatesFinder = new DuplicatesFinder(PsiUtilBase.toPsiElementArray(elements), myInputVariables.copy(), + myDuplicatesFinder = new DuplicatesFinder(PsiUtilCore.toPsiElementArray(elements), myInputVariables.copy(), myOutputVariable != null ? new VariableReturnValue(myOutputVariable) : null, Arrays.asList(myOutputVariables)); myDuplicates = myDuplicatesFinder.findDuplicates(myTargetClass); diff --git a/java/java-impl/src/com/intellij/refactoring/inheritanceToDelegation/InheritanceToDelegationProcessor.java b/java/java-impl/src/com/intellij/refactoring/inheritanceToDelegation/InheritanceToDelegationProcessor.java index 4c94ed2ec2f2..e982d8809d10 100644 --- a/java/java-impl/src/com/intellij/refactoring/inheritanceToDelegation/InheritanceToDelegationProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/inheritanceToDelegation/InheritanceToDelegationProcessor.java @@ -807,7 +807,7 @@ public class InheritanceToDelegationProcessor extends BaseRefactoringProcessor { final MethodSignature signature = myMethod.getSignature(substitutor); PsiMethod outerMethod = MethodSignatureUtil.findMethodBySignature(myClass, signature, false); if (outerMethod == null) { - @Modifier String visibility = checkOuterClassAbstractMethod(signature); + String visibility = checkOuterClassAbstractMethod(signature); PsiMethod newOuterMethod = (PsiMethod)myClass.add(myMethod); PsiUtil.setModifierProperty(newOuterMethod, visibility, true); final PsiDocComment docComment = newOuterMethod.getDocComment(); @@ -862,9 +862,9 @@ public class InheritanceToDelegationProcessor extends BaseRefactoringProcessor { * @param methodSignature * @return Visibility */ - @Modifier + @PsiModifier.ModifierConstant private String checkOuterClassAbstractMethod(MethodSignature methodSignature) { - @Modifier String visibility = PsiModifier.PROTECTED; + String visibility = PsiModifier.PROTECTED; for (PsiMethod method : myDelegatedMethods) { MethodSignature otherSignature = method.getSignature(getSuperSubstitutor(method.getContainingClass())); diff --git a/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldDialog.java b/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldDialog.java index 9fbc1f61749a..7d3ee870175c 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldDialog.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldDialog.java @@ -101,7 +101,7 @@ class IntroduceFieldDialog extends DialogWrapper { return myCentralPanel.getInitializerPlace(); } - @Modifier + @PsiModifier.ModifierConstant public String getFieldVisibility() { return myCentralPanel.getFieldVisibility(); } diff --git a/java/java-impl/src/com/intellij/refactoring/replaceConstructorWithFactory/ReplaceConstructorWithFactoryProcessor.java b/java/java-impl/src/com/intellij/refactoring/replaceConstructorWithFactory/ReplaceConstructorWithFactoryProcessor.java index f0f5a2cc16aa..019529402fdb 100644 --- a/java/java-impl/src/com/intellij/refactoring/replaceConstructorWithFactory/ReplaceConstructorWithFactoryProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/replaceConstructorWithFactory/ReplaceConstructorWithFactoryProcessor.java @@ -283,7 +283,8 @@ public class ReplaceConstructorWithFactoryProcessor extends BaseRefactoringProce return (PsiMethod)CodeStyleManager.getInstance(myProject).reformat(factoryMethod); } - @Modifier private String getDefaultFactoryVisibility() { + @PsiModifier.ModifierConstant + private String getDefaultFactoryVisibility() { final PsiModifierList modifierList; if (myConstructor != null) { modifierList = myConstructor.getModifierList(); diff --git a/java/java-impl/src/com/intellij/refactoring/util/RefactoringConflictsUtil.java b/java/java-impl/src/com/intellij/refactoring/util/RefactoringConflictsUtil.java index ae4118a82547..cbb81cdc07ac 100644 --- a/java/java-impl/src/com/intellij/refactoring/util/RefactoringConflictsUtil.java +++ b/java/java-impl/src/com/intellij/refactoring/util/RefactoringConflictsUtil.java @@ -71,7 +71,7 @@ public class RefactoringConflictsUtil { } public static void checkAccessibilityConflicts(@NotNull PsiMember member, - @Nullable String newVisibility, + @PsiModifier.ModifierConstant @Nullable String newVisibility, @Nullable PsiClass targetClass, @NotNull Set membersToMove, @NotNull MultiMap conflicts) { diff --git a/java/java-psi-api/src/com/intellij/psi/Modifier.java b/java/java-psi-api/src/com/intellij/psi/Modifier.java deleted file mode 100644 index b17cd5ad0cf8..000000000000 --- a/java/java-psi-api/src/com/intellij/psi/Modifier.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 2000-2009 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. - */ -package com.intellij.psi; - -import org.intellij.lang.annotations.Pattern; - -@Pattern(PsiModifier.PUBLIC - + "|" + PsiModifier.PROTECTED - + "|" + PsiModifier.PRIVATE - + "|" + PsiModifier.ABSTRACT - + "|" + PsiModifier.FINAL - + "|" + PsiModifier.NATIVE - + "|" + PsiModifier.PACKAGE_LOCAL - + "|" + PsiModifier.STATIC - + "|" + PsiModifier.STRICTFP - + "|" + PsiModifier.SYNCHRONIZED - + "|" + PsiModifier.TRANSIENT - + "|" + PsiModifier.VOLATILE -) -/** - * Represents Java member modifier. - * When String method or variable is annotated with this, - * the corresponding value must be one of the string constants defined in {@link com.intellij.psi.PsiModifier} - */ -public @interface Modifier { -} diff --git a/java/java-psi-api/src/com/intellij/psi/PsiModifier.java b/java/java-psi-api/src/com/intellij/psi/PsiModifier.java index 656be7da8580..f74bfae070aa 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiModifier.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiModifier.java @@ -15,6 +15,7 @@ */ package com.intellij.psi; +import org.intellij.lang.annotations.MagicConstant; import org.jetbrains.annotations.NonNls; /** @@ -37,4 +38,7 @@ public interface PsiModifier { @NonNls String[] MODIFIERS = { PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, STRICTFP, TRANSIENT, VOLATILE }; + + @MagicConstant(stringValues = {PUBLIC, PROTECTED, PRIVATE, STATIC, ABSTRACT, FINAL, NATIVE, SYNCHRONIZED, STRICTFP, TRANSIENT, VOLATILE, PACKAGE_LOCAL}) + @interface ModifierConstant {} } diff --git a/java/java-psi-api/src/com/intellij/psi/PsiModifierList.java b/java/java-psi-api/src/com/intellij/psi/PsiModifierList.java index d402a4a43ca4..908c9bdadfa5 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiModifierList.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiModifierList.java @@ -34,7 +34,7 @@ public interface PsiModifierList extends PsiElement, PsiAnnotationOwner { * @return true if the list has the modifier, false otherwise * @see #hasExplicitModifier(String) */ - boolean hasModifierProperty(@Modifier @NotNull @NonNls String name); + boolean hasModifierProperty(@PsiModifier.ModifierConstant @NotNull @NonNls String name); /** * Checks if the modifier list has the specified modifier set by an explicit keyword. @@ -43,7 +43,7 @@ public interface PsiModifierList extends PsiElement, PsiAnnotationOwner { * @return true if the list has the modifier, false otherwise * @see #hasModifierProperty(String) */ - boolean hasExplicitModifier(@Modifier @NotNull @NonNls String name); + boolean hasExplicitModifier(@PsiModifier.ModifierConstant @NotNull @NonNls String name); /** * Adds or removes the specified modifier to the modifier list. @@ -52,7 +52,7 @@ public interface PsiModifierList extends PsiElement, PsiAnnotationOwner { * @param value true if the modifier should be added, false if it should be removed. * @throws IncorrectOperationException if the modification fails for some reason. */ - void setModifierProperty(@Modifier @NotNull @NonNls String name, boolean value) throws IncorrectOperationException; + void setModifierProperty(@PsiModifier.ModifierConstant @NotNull @NonNls String name, boolean value) throws IncorrectOperationException; /** * Checks if it is possible to add or remove the specified modifier to the modifier list, @@ -63,6 +63,6 @@ public interface PsiModifierList extends PsiElement, PsiAnnotationOwner { * @param value true if the modifier should be added, false if it should be removed. * @throws IncorrectOperationException if the modification fails for some reason. */ - void checkSetModifierProperty(@Modifier @NotNull @NonNls String name, boolean value) throws IncorrectOperationException; + void checkSetModifierProperty(@PsiModifier.ModifierConstant @NotNull @NonNls String name, boolean value) throws IncorrectOperationException; } diff --git a/java/java-psi-api/src/com/intellij/psi/PsiModifierListOwner.java b/java/java-psi-api/src/com/intellij/psi/PsiModifierListOwner.java index 4cf3fd404689..6d10d14a8aeb 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiModifierListOwner.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiModifierListOwner.java @@ -40,5 +40,5 @@ public interface PsiModifierListOwner extends PsiElement { * @param name the name of the modifier to check. * @return true if the element has the modifier, false otherwise */ - boolean hasModifierProperty(@Modifier @NonNls @NotNull String name); + boolean hasModifierProperty(@PsiModifier.ModifierConstant @NonNls @NotNull String name); } diff --git a/java/java-psi-api/src/com/intellij/psi/codeStyle/JavaCodeStyleManager.java b/java/java-psi-api/src/com/intellij/psi/codeStyle/JavaCodeStyleManager.java index 50be5176d073..5bc23c8e1cf1 100644 --- a/java/java-psi-api/src/com/intellij/psi/codeStyle/JavaCodeStyleManager.java +++ b/java/java-psi-api/src/com/intellij/psi/codeStyle/JavaCodeStyleManager.java @@ -23,6 +23,7 @@ import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.project.Project; import com.intellij.psi.*; import com.intellij.util.IncorrectOperationException; +import org.intellij.lang.annotations.MagicConstant; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -38,7 +39,7 @@ public abstract class JavaCodeStyleManager { public static final int UNCOMPLETE_CODE = 0x2000; public abstract boolean addImport(@NotNull PsiJavaFile file, @NotNull PsiClass refClass); - public abstract PsiElement shortenClassReferences(@NotNull PsiElement element, int flags) throws IncorrectOperationException; + public abstract PsiElement shortenClassReferences(@NotNull PsiElement element, @MagicConstant(flags = {DO_NOT_ADD_IMPORTS, UNCOMPLETE_CODE}) int flags) throws IncorrectOperationException; @NotNull public abstract String getPrefixByVariableKind(VariableKind variableKind); @NotNull public abstract String getSuffixByVariableKind(VariableKind variableKind); diff --git a/java/java-psi-api/src/com/intellij/psi/infos/MethodCandidateInfo.java b/java/java-psi-api/src/com/intellij/psi/infos/MethodCandidateInfo.java index 38d55b3c82fd..1c757d51ed26 100644 --- a/java/java-psi-api/src/com/intellij/psi/infos/MethodCandidateInfo.java +++ b/java/java-psi-api/src/com/intellij/psi/infos/MethodCandidateInfo.java @@ -20,13 +20,14 @@ import com.intellij.psi.*; import com.intellij.psi.impl.source.resolve.DefaultParameterTypeInferencePolicy; import com.intellij.psi.impl.source.resolve.ParameterTypeInferencePolicy; import com.intellij.psi.util.PsiUtil; +import org.intellij.lang.annotations.MagicConstant; import org.jetbrains.annotations.Nullable; /** * @author ik, dsl */ public class MethodCandidateInfo extends CandidateInfo{ - private int myApplicabilityLevel = 0; + @ApplicabilityLevelConstant private int myApplicabilityLevel = 0; private final PsiElement myArgumentList; private final PsiType[] myArgumentTypes; private final PsiType[] myTypeArguments; @@ -65,6 +66,7 @@ public class MethodCandidateInfo extends CandidateInfo{ return getApplicabilityLevel() != ApplicabilityLevel.NOT_APPLICABLE; } + @ApplicabilityLevelConstant private int getApplicabilityLevelInner() { if (myArgumentTypes == null) return ApplicabilityLevel.NOT_APPLICABLE; @@ -74,6 +76,7 @@ public class MethodCandidateInfo extends CandidateInfo{ } + @ApplicabilityLevelConstant public int getApplicabilityLevel() { if(myApplicabilityLevel == 0){ myApplicabilityLevel = getApplicabilityLevelInner(); @@ -150,4 +153,8 @@ public class MethodCandidateInfo extends CandidateInfo{ public static final int VARARGS = 2; public static final int FIXED_ARITY = 3; } + + @MagicConstant(intValues = {ApplicabilityLevel.NOT_APPLICABLE, ApplicabilityLevel.VARARGS, ApplicabilityLevel.FIXED_ARITY}) + public @interface ApplicabilityLevelConstant { + } } diff --git a/java/java-psi-api/src/com/intellij/psi/util/PsiUtil.java b/java/java-psi-api/src/com/intellij/psi/util/PsiUtil.java index 941f60a55208..728c714321cd 100644 --- a/java/java-psi-api/src/com/intellij/psi/util/PsiUtil.java +++ b/java/java-psi-api/src/com/intellij/psi/util/PsiUtil.java @@ -24,6 +24,7 @@ import com.intellij.openapi.vfs.VfsUtilCore; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.pom.java.LanguageLevel; import com.intellij.psi.*; +import com.intellij.psi.infos.MethodCandidateInfo; import com.intellij.psi.infos.MethodCandidateInfo.ApplicabilityLevel; import com.intellij.psi.javadoc.PsiDocComment; import com.intellij.psi.meta.PsiMetaData; @@ -303,7 +304,7 @@ public final class PsiUtil extends PsiUtilCore { } } - @Modifier + @PsiModifier.ModifierConstant @Nullable public static String getAccessModifier(int accessLevel) { return accessLevel > accessModifiers.length ? null : accessModifiers[accessLevel - 1]; @@ -434,10 +435,12 @@ public final class PsiUtil extends PsiUtilCore { return getApplicabilityLevel(method, substitutorForMethod, types, getLanguageLevel(method)) != ApplicabilityLevel.NOT_APPLICABLE; } + @MethodCandidateInfo.ApplicabilityLevelConstant public static int getApplicabilityLevel(PsiMethod method, PsiSubstitutor substitutorForMethod, PsiExpressionList argList) { return getApplicabilityLevel(method, substitutorForMethod, argList.getExpressionTypes(), getLanguageLevel(argList)); } + @MethodCandidateInfo.ApplicabilityLevelConstant public static int getApplicabilityLevel(@NotNull final PsiMethod method, @NotNull final PsiSubstitutor substitutorForMethod, @NotNull final PsiType[] args, @NotNull final LanguageLevel languageLevel) { final PsiParameter[] parms = method.getParameterList().getParameters(); @@ -900,7 +903,7 @@ public final class PsiUtil extends PsiUtilCore { } }; - public static void setModifierProperty(@NotNull PsiModifierListOwner owner, @NotNull @Modifier String property, boolean value) { + public static void setModifierProperty(@NotNull PsiModifierListOwner owner, @NotNull @PsiModifier.ModifierConstant String property, boolean value) { final PsiModifierList modifierList = owner.getModifierList(); assert modifierList != null : owner; modifierList.setModifierProperty(property, value); diff --git a/java/java-psi-impl/src/com/intellij/psi/filters/element/ModifierFilter.java b/java/java-psi-impl/src/com/intellij/psi/filters/element/ModifierFilter.java index 1600284574fd..1c95ccf23559 100644 --- a/java/java-psi-impl/src/com/intellij/psi/filters/element/ModifierFilter.java +++ b/java/java-psi-impl/src/com/intellij/psi/filters/element/ModifierFilter.java @@ -15,10 +15,7 @@ */ package com.intellij.psi.filters.element; -import com.intellij.psi.Modifier; -import com.intellij.psi.PsiElement; -import com.intellij.psi.PsiModifierList; -import com.intellij.psi.PsiModifierListOwner; +import com.intellij.psi.*; import com.intellij.psi.filters.ClassFilter; import org.jetbrains.annotations.NonNls; @@ -40,19 +37,19 @@ public class ModifierFilter extends ClassFilter{ super(PsiModifierListOwner.class); } - public ModifierFilter(@Modifier String modifier, boolean hasToBe){ + public ModifierFilter(@PsiModifier.ModifierConstant String modifier, boolean hasToBe){ this(); addModiferRestriction(modifier, hasToBe); } public ModifierFilter(String... modifiers){ this(); - for (@Modifier String modifier : modifiers) { + for (@PsiModifier.ModifierConstant String modifier : modifiers) { addModiferRestriction(modifier, true); } } - private void addModiferRestriction(@Modifier String mod, boolean hasToBe){ + private void addModiferRestriction(@PsiModifier.ModifierConstant String mod, boolean hasToBe){ myModifierRestrictions.add(new ModifierRestriction(mod, hasToBe)); } @@ -74,10 +71,10 @@ public class ModifierFilter extends ClassFilter{ } protected static final class ModifierRestriction{ - @Modifier public final String myModifierName; + @PsiModifier.ModifierConstant public final String myModifierName; public final boolean myIsSet; - ModifierRestriction(@Modifier String modifierName, boolean isSet){ + ModifierRestriction(@PsiModifier.ModifierConstant String modifierName, boolean isSet){ myModifierName = modifierName; myIsSet = isSet; } diff --git a/java/java-psi-impl/src/com/intellij/psi/scope/conflictResolvers/JavaMethodsConflictResolver.java b/java/java-psi-impl/src/com/intellij/psi/scope/conflictResolvers/JavaMethodsConflictResolver.java index 46c6321d0df7..848700fea850 100644 --- a/java/java-psi-impl/src/com/intellij/psi/scope/conflictResolvers/JavaMethodsConflictResolver.java +++ b/java/java-psi-impl/src/com/intellij/psi/scope/conflictResolvers/JavaMethodsConflictResolver.java @@ -91,7 +91,7 @@ public class JavaMethodsConflictResolver implements PsiConflictResolver{ return null; } - private void checkSpecifics(List conflicts, int applicabilityLevel) { + private void checkSpecifics(List conflicts, @MethodCandidateInfo.ApplicabilityLevelConstant int applicabilityLevel) { final boolean applicable = applicabilityLevel > MethodCandidateInfo.ApplicabilityLevel.NOT_APPLICABLE; int conflictsCount = conflicts.size(); @@ -273,11 +273,12 @@ public class JavaMethodsConflictResolver implements PsiConflictResolver{ return atLeastOneMatch; } + @MethodCandidateInfo.ApplicabilityLevelConstant private static int checkApplicability(List conflicts) { - int maxApplicabilityLevel = 0; + @MethodCandidateInfo.ApplicabilityLevelConstant int maxApplicabilityLevel = 0; boolean toFilter = false; for (CandidateInfo conflict : conflicts) { - final int level = ((MethodCandidateInfo)conflict).getApplicabilityLevel(); + @MethodCandidateInfo.ApplicabilityLevelConstant final int level = ((MethodCandidateInfo)conflict).getApplicabilityLevel(); if (maxApplicabilityLevel > 0 && maxApplicabilityLevel != level) { toFilter = true; } @@ -341,7 +342,7 @@ public class JavaMethodsConflictResolver implements PsiConflictResolver{ return TypeConversionUtil.boxingConversionApplicable(parameterType, argType); } - private Specifics isMoreSpecific(final CandidateInfo info1, final CandidateInfo info2, final int applicabilityLevel) { + private Specifics isMoreSpecific(final CandidateInfo info1, final CandidateInfo info2, @MethodCandidateInfo.ApplicabilityLevelConstant int applicabilityLevel) { PsiMethod method1 = (PsiMethod)info1.getElement(); PsiMethod method2 = (PsiMethod)info2.getElement(); final PsiClass class1 = method1.getContainingClass(); diff --git a/java/java-tests/testSrc/com/intellij/refactoring/ChangeSignatureTest.java b/java/java-tests/testSrc/com/intellij/refactoring/ChangeSignatureTest.java index 642e965260b2..3189e82f2ea7 100644 --- a/java/java-tests/testSrc/com/intellij/refactoring/ChangeSignatureTest.java +++ b/java/java-tests/testSrc/com/intellij/refactoring/ChangeSignatureTest.java @@ -299,7 +299,7 @@ public class ChangeSignatureTest extends LightRefactoringTestCase { public void testMethodParametersAlignmentAfterMethodVisibilityChange() throws Exception { getCurrentCodeStyleSettings().ALIGN_MULTILINE_PARAMETERS = true; getCurrentCodeStyleSettings().ALIGN_MULTILINE_PARAMETERS_IN_CALLS = true; - doTest("protected", null, null, new SimpleParameterGen(), new SimpleExceptionsGen(), false); + doTest(PsiModifier.PROTECTED, null, null, new SimpleParameterGen(), new SimpleExceptionsGen(), false); } public void testMethodParametersAlignmentAfterMethodReturnTypeChange() throws Exception { @@ -318,7 +318,7 @@ public class ChangeSignatureTest extends LightRefactoringTestCase { doTest(null, null, newReturnType, parameterInfos, new ThrownExceptionInfo[0], generateDelegate); } - private void doTest(@Nullable String newVisibility, + private void doTest(@PsiModifier.ModifierConstant @Nullable String newVisibility, @Nullable String newName, @Nullable String newReturnType, ParameterInfoImpl[] parameterInfo, @@ -327,14 +327,14 @@ public class ChangeSignatureTest extends LightRefactoringTestCase { doTest(newVisibility, newName, newReturnType, new SimpleParameterGen(parameterInfo), new SimpleExceptionsGen(exceptionInfo), generateDelegate); } - private void doTest(@Nullable String newVisibility, + private void doTest(@PsiModifier.ModifierConstant @Nullable String newVisibility, @Nullable String newName, @Nullable @NonNls String newReturnType, GenParams gen, final boolean generateDelegate) throws Exception { doTest(newVisibility, newName, newReturnType, gen, new SimpleExceptionsGen(), generateDelegate); } - private void doTest(@Nullable String newVisibility, + private void doTest(@PsiModifier.ModifierConstant @Nullable String newVisibility, @Nullable String newName, @Nullable String newReturnType, GenParams genParams, diff --git a/java/openapi/src/com/intellij/codeInsight/intention/QuickFixFactory.java b/java/openapi/src/com/intellij/codeInsight/intention/QuickFixFactory.java index 23727763adca..b3bfc4994f78 100644 --- a/java/openapi/src/com/intellij/codeInsight/intention/QuickFixFactory.java +++ b/java/openapi/src/com/intellij/codeInsight/intention/QuickFixFactory.java @@ -31,13 +31,13 @@ public abstract class QuickFixFactory { } public abstract LocalQuickFixAndIntentionActionOnPsiElement createModifierListFix(@NotNull PsiModifierList modifierList, - @Modifier @NotNull String modifier, - boolean shouldHave, - final boolean showContainingClass); + @PsiModifier.ModifierConstant @NotNull String modifier, + boolean shouldHave, + final boolean showContainingClass); public abstract LocalQuickFixAndIntentionActionOnPsiElement createModifierListFix(@NotNull PsiModifierListOwner owner, - @Modifier @NotNull String modifier, - boolean shouldHave, - final boolean showContainingClass); + @PsiModifier.ModifierConstant @NotNull String modifier, + boolean shouldHave, + final boolean showContainingClass); public abstract LocalQuickFixAndIntentionActionOnPsiElement createMethodReturnFix(@NotNull PsiMethod method, @NotNull PsiType toReturn, boolean fixWholeHierarchy); public abstract LocalQuickFixAndIntentionActionOnPsiElement createAddMethodFix(@NotNull PsiMethod method, @NotNull PsiClass toClass); @@ -50,7 +50,7 @@ public abstract class QuickFixFactory { public abstract LocalQuickFixAndIntentionActionOnPsiElement createImplementMethodsFix(@NotNull PsiClass psiElement); public abstract LocalQuickFixAndIntentionActionOnPsiElement createMethodThrowsFix(@NotNull PsiMethod method, @NotNull PsiClassType exceptionClass, boolean shouldThrow, boolean showContainingClass); public abstract LocalQuickFixAndIntentionActionOnPsiElement createAddDefaultConstructorFix(@NotNull PsiClass aClass); - public abstract LocalQuickFixAndIntentionActionOnPsiElement createAddConstructorFix(@NotNull PsiClass aClass, @Modifier String modifier); + public abstract LocalQuickFixAndIntentionActionOnPsiElement createAddConstructorFix(@NotNull PsiClass aClass, @PsiModifier.ModifierConstant String modifier); public abstract LocalQuickFixAndIntentionActionOnPsiElement createMethodParameterTypeFix(@NotNull PsiMethod method, int index, @NotNull PsiType newType, boolean fixWholeHierarchy); public abstract LocalQuickFixAndIntentionActionOnPsiElement createMakeClassInterfaceFix(@NotNull PsiClass aClass); public abstract LocalQuickFixAndIntentionActionOnPsiElement createMakeClassInterfaceFix(@NotNull PsiClass aClass, final boolean makeInterface); diff --git a/java/openapi/src/com/intellij/codeInspection/reference/RefJavaElement.java b/java/openapi/src/com/intellij/codeInspection/reference/RefJavaElement.java index edd8d634f669..59e9cb01bb18 100644 --- a/java/openapi/src/com/intellij/codeInspection/reference/RefJavaElement.java +++ b/java/openapi/src/com/intellij/codeInspection/reference/RefJavaElement.java @@ -20,7 +20,7 @@ */ package com.intellij.codeInspection.reference; -import com.intellij.psi.Modifier; +import com.intellij.psi.PsiModifier; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -70,6 +70,6 @@ public interface RefJavaElement extends RefElement { * @return the modifier, or null if the element does not have any access modifier. */ @Nullable - @Modifier + @PsiModifier.ModifierConstant String getAccessModifier(); } \ No newline at end of file diff --git a/java/openapi/src/com/intellij/ide/IconUtilEx.java b/java/openapi/src/com/intellij/ide/IconUtilEx.java index 517f943c50a7..1662af848569 100644 --- a/java/openapi/src/com/intellij/ide/IconUtilEx.java +++ b/java/openapi/src/com/intellij/ide/IconUtilEx.java @@ -28,12 +28,12 @@ import javax.swing.*; public class IconUtilEx { - public static Icon getIcon(Object object, int flags, Project project) { + public static Icon getIcon(Object object, @Iconable.IconFlags int flags, Project project) { if (object instanceof PsiElement) { return ((PsiElement)object).getIcon(flags); } if (object instanceof Module) { - return ModuleType.get(((Module)object)).getNodeIcon((flags & Iconable.ICON_FLAG_OPEN) != 0); + return ModuleType.get((Module)object).getNodeIcon((flags & Iconable.ICON_FLAG_OPEN) != 0); } if (object instanceof VirtualFile) { VirtualFile file = (VirtualFile)object; diff --git a/java/openapi/src/com/intellij/psi/JavaCodeFragmentFactory.java b/java/openapi/src/com/intellij/psi/JavaCodeFragmentFactory.java index cb7b11b2dc31..a942f8cad9de 100644 --- a/java/openapi/src/com/intellij/psi/JavaCodeFragmentFactory.java +++ b/java/openapi/src/com/intellij/psi/JavaCodeFragmentFactory.java @@ -17,6 +17,7 @@ package com.intellij.psi; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.project.Project; +import org.intellij.lang.annotations.MagicConstant; import org.jetbrains.annotations.NotNull; public abstract class JavaCodeFragmentFactory { @@ -90,7 +91,9 @@ public abstract class JavaCodeFragmentFactory { * @return the created code fragment. */ @NotNull - public abstract PsiTypeCodeFragment createTypeCodeFragment(@NotNull String text, PsiElement context, boolean isPhysical, int flags); + public abstract PsiTypeCodeFragment createTypeCodeFragment(@NotNull String text, PsiElement context, boolean isPhysical, + @MagicConstant(flags = {ALLOW_VOID, ALLOW_ELLIPSIS, ALLOW_DISJUNCTION}) + int flags); /** * Creates a Java reference code fragment from the text of a Java reference to a diff --git a/java/openapi/src/com/intellij/psi/util/PsiMatchers.java b/java/openapi/src/com/intellij/psi/util/PsiMatchers.java index 4ec9bf8dc30c..32be1cdb136e 100644 --- a/java/openapi/src/com/intellij/psi/util/PsiMatchers.java +++ b/java/openapi/src/com/intellij/psi/util/PsiMatchers.java @@ -29,7 +29,7 @@ public class PsiMatchers { private PsiMatchers() { } - public static PsiMatcherExpression hasModifier(@Modifier final String modifier, final boolean shouldHave) { + public static PsiMatcherExpression hasModifier(@PsiModifier.ModifierConstant final String modifier, final boolean shouldHave) { return new PsiMatcherExpression() { @Override public Boolean match(PsiElement element) { diff --git a/java/openapi/src/com/intellij/util/VisibilityUtil.java b/java/openapi/src/com/intellij/util/VisibilityUtil.java index 773717d07a02..fe72be59937d 100644 --- a/java/openapi/src/com/intellij/util/VisibilityUtil.java +++ b/java/openapi/src/com/intellij/util/VisibilityUtil.java @@ -45,12 +45,12 @@ public class VisibilityUtil { private VisibilityUtil() { } - public static int compare(@Modifier String v1, @Modifier String v2) { + public static int compare(@PsiModifier.ModifierConstant String v1, @PsiModifier.ModifierConstant String v2) { return ArrayUtil.find(visibilityModifiers, v2) - ArrayUtil.find(visibilityModifiers, v1); } - @Modifier - public static String getHighestVisibility(@Modifier String v1, @Modifier String v2) { + @PsiModifier.ModifierConstant + public static String getHighestVisibility(@PsiModifier.ModifierConstant String v1, @PsiModifier.ModifierConstant String v2) { if(v1.equals(v2)) return v1; if(PsiModifier.PRIVATE.equals(v1)) return v2; @@ -68,13 +68,13 @@ public class VisibilityUtil { if(modifier.equals(visibilityModifier)) break; } for(;index < visibilityModifiers.length && !PsiUtil.isAccessible(modifierListOwner, place, null); index++) { - @Modifier String modifier = visibilityModifiers[index]; + @PsiModifier.ModifierConstant String modifier = visibilityModifiers[index]; PsiUtil.setModifierProperty(modifierListOwner, modifier, true); } } - @Modifier + @PsiModifier.ModifierConstant public static String getPossibleVisibility(final PsiMember psiMethod, final PsiElement place) { if (PsiUtil.isAccessible(psiMethod, place, null)) return getVisibilityModifier(psiMethod.getModifierList()); if (JavaPsiFacade.getInstance(psiMethod.getProject()).arePackagesTheSame(psiMethod, place)) { @@ -87,10 +87,10 @@ public class VisibilityUtil { return PsiModifier.PUBLIC; } - @Modifier + @PsiModifier.ModifierConstant public static String getVisibilityModifier(PsiModifierList list) { if (list == null) return PsiModifier.PACKAGE_LOCAL; - for (@Modifier String modifier : visibilityModifiers) { + for (@PsiModifier.ModifierConstant String modifier : visibilityModifiers) { if (list.hasModifierProperty(modifier)) { return modifier; } @@ -98,7 +98,7 @@ public class VisibilityUtil { return PsiModifier.PACKAGE_LOCAL; } - public static String getVisibilityString(@Modifier String visibilityModifier) { + public static String getVisibilityString(@PsiModifier.ModifierConstant String visibilityModifier) { if(PsiModifier.PACKAGE_LOCAL.equals(visibilityModifier)) { return ""; } @@ -119,11 +119,11 @@ public class VisibilityUtil { return toPresentableText(PsiModifier.PACKAGE_LOCAL); } - public static String toPresentableText(@Modifier String modifier) { + public static String toPresentableText(@PsiModifier.ModifierConstant String modifier) { return PsiBundle.visibilityPresentation(modifier); } - public static void fixVisibility(UsageInfo[] usageInfos, PsiMember member, final String newVisibility) { + public static void fixVisibility(UsageInfo[] usageInfos, PsiMember member, @PsiModifier.ModifierConstant String newVisibility) { if (newVisibility == null) return; if (ESCALATE_VISIBILITY.equals(newVisibility)) { for (UsageInfo info : usageInfos) { @@ -137,7 +137,7 @@ public class VisibilityUtil { } } - public static void setVisibility(PsiModifierList modifierList, @Modifier String newVisibility) throws IncorrectOperationException { + public static void setVisibility(PsiModifierList modifierList, @PsiModifier.ModifierConstant String newVisibility) throws IncorrectOperationException { modifierList.setModifierProperty(PsiModifier.PRIVATE, false); modifierList.setModifierProperty(PsiModifier.PUBLIC, false); modifierList.setModifierProperty(PsiModifier.PROTECTED, false); diff --git a/platform/core-api/src/com/intellij/ide/FileIconPatcher.java b/platform/core-api/src/com/intellij/ide/FileIconPatcher.java index 06788a36aeff..74993a9f9925 100644 --- a/platform/core-api/src/com/intellij/ide/FileIconPatcher.java +++ b/platform/core-api/src/com/intellij/ide/FileIconPatcher.java @@ -21,6 +21,7 @@ package com.intellij.ide; import com.intellij.openapi.extensions.ExtensionPointName; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.Iconable; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.Nullable; @@ -29,5 +30,5 @@ import javax.swing.*; public interface FileIconPatcher { ExtensionPointName EP_NAME = ExtensionPointName.create("com.intellij.fileIconPatcher"); - Icon patchIcon(Icon baseIcon, VirtualFile file, int flags, @Nullable Project project); + Icon patchIcon(Icon baseIcon, VirtualFile file, @Iconable.IconFlags int flags, @Nullable Project project); } \ No newline at end of file diff --git a/platform/core-api/src/com/intellij/ide/FileIconProvider.java b/platform/core-api/src/com/intellij/ide/FileIconProvider.java index 50a58191ede9..9caacdeea1b7 100644 --- a/platform/core-api/src/com/intellij/ide/FileIconProvider.java +++ b/platform/core-api/src/com/intellij/ide/FileIconProvider.java @@ -21,6 +21,7 @@ package com.intellij.ide; import com.intellij.openapi.extensions.ExtensionPointName; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.Iconable; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.Nullable; @@ -30,5 +31,5 @@ public interface FileIconProvider { ExtensionPointName EP_NAME = ExtensionPointName.create("com.intellij.fileIconProvider"); @Nullable - Icon getIcon(VirtualFile file, int flags, @Nullable Project project); + Icon getIcon(VirtualFile file, @Iconable.IconFlags int flags, @Nullable Project project); } \ No newline at end of file diff --git a/platform/core-api/src/com/intellij/ide/IconProvider.java b/platform/core-api/src/com/intellij/ide/IconProvider.java index 63783898a763..cd11d68a804e 100644 --- a/platform/core-api/src/com/intellij/ide/IconProvider.java +++ b/platform/core-api/src/com/intellij/ide/IconProvider.java @@ -16,6 +16,7 @@ package com.intellij.ide; import com.intellij.openapi.extensions.ExtensionPointName; +import com.intellij.openapi.util.Iconable; import com.intellij.psi.PsiElement; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -37,5 +38,5 @@ public abstract class IconProvider { * @see com.intellij.openapi.util.Iconable */ @Nullable - public abstract Icon getIcon(@NotNull PsiElement element, int flags); + public abstract Icon getIcon(@NotNull PsiElement element, @Iconable.IconFlags int flags); } diff --git a/platform/core-api/src/com/intellij/openapi/util/Iconable.java b/platform/core-api/src/com/intellij/openapi/util/Iconable.java index a4d12ea807ef..239fd86cabbc 100644 --- a/platform/core-api/src/com/intellij/openapi/util/Iconable.java +++ b/platform/core-api/src/com/intellij/openapi/util/Iconable.java @@ -16,6 +16,7 @@ package com.intellij.openapi.util; import com.intellij.util.containers.HashMap; +import org.intellij.lang.annotations.MagicConstant; import org.jetbrains.annotations.Nullable; import javax.swing.*; @@ -27,8 +28,10 @@ public interface Iconable { int ICON_FLAG_OPEN = 0x0004; int ICON_FLAG_CLOSED = 0x0008; - Icon getIcon(int flags); + @MagicConstant(flags = {ICON_FLAG_VISIBILITY, ICON_FLAG_OPEN, ICON_FLAG_CLOSED, ICON_FLAG_READ_STATUS}) + @interface IconFlags {} + Icon getIcon(@IconFlags int flags); class LastComputedIcon { private static final Key> LAST_COMPUTED_ICON = Key.create("lastComputedIcon"); diff --git a/platform/core-api/src/com/intellij/psi/impl/ElementBase.java b/platform/core-api/src/com/intellij/psi/impl/ElementBase.java index f3a46d39df0f..0a5d79dde188 100644 --- a/platform/core-api/src/com/intellij/psi/impl/ElementBase.java +++ b/platform/core-api/src/com/intellij/psi/impl/ElementBase.java @@ -100,7 +100,7 @@ public abstract class ElementBase extends UserDataHolderBase implements Iconable } @Nullable - private Icon computeIcon(final int flags) { + private Icon computeIcon(@Iconable.IconFlags int flags) { PsiElement psiElement = (PsiElement)this; if (!psiElement.isValid()) return null; @@ -125,7 +125,7 @@ public abstract class ElementBase extends UserDataHolderBase implements Iconable } @Nullable - private static Icon computeIconNow(PsiElement element, int flags) { + private static Icon computeIconNow(PsiElement element, @Iconable.IconFlags int flags) { final Icon providersIcon = PsiIconUtil.getProvidersIcon(element, flags); if (providersIcon != null) { return providersIcon instanceof RowIcon ? (RowIcon)providersIcon : createLayeredIcon(element, providersIcon, flags); @@ -207,6 +207,7 @@ public abstract class ElementBase extends UserDataHolderBase implements Iconable return pointer.getElement(); } + @Iconable.IconFlags public int getFlags() { return (Integer)getEqualityObjects()[1]; } @@ -272,7 +273,7 @@ public abstract class ElementBase extends UserDataHolderBase implements Iconable return baseIcon; } - public static int transformFlags(PsiElement element, int _flags) { + public static int transformFlags(PsiElement element, @IconFlags int _flags) { int flags = _flags & ~ICON_FLAG_READ_STATUS; final boolean isLocked = (_flags & ICON_FLAG_READ_STATUS) != 0 && !element.isWritable(); if (isLocked) flags |= FLAGS_LOCKED; diff --git a/platform/core-api/src/com/intellij/util/FileIconKey.java b/platform/core-api/src/com/intellij/util/FileIconKey.java index a93e392f2fe2..7124c5ccca65 100644 --- a/platform/core-api/src/com/intellij/util/FileIconKey.java +++ b/platform/core-api/src/com/intellij/util/FileIconKey.java @@ -16,6 +16,7 @@ package com.intellij.util; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.Iconable; import com.intellij.openapi.vfs.VirtualFile; /** @@ -24,9 +25,9 @@ import com.intellij.openapi.vfs.VirtualFile; class FileIconKey { private final VirtualFile myFile; private final Project myProject; - private final int myFlags; + @Iconable.IconFlags private final int myFlags; - FileIconKey(final VirtualFile file, final Project project, final int flags) { + FileIconKey(final VirtualFile file, final Project project, @Iconable.IconFlags int flags) { myFile = file; myProject = project; myFlags = flags; @@ -62,6 +63,7 @@ class FileIconKey { return myProject; } + @Iconable.IconFlags public int getFlags() { return myFlags; } diff --git a/platform/core-api/src/com/intellij/util/IconUtil.java b/platform/core-api/src/com/intellij/util/IconUtil.java index 5dd20cf9a3d9..58b39d3287b6 100644 --- a/platform/core-api/src/com/intellij/util/IconUtil.java +++ b/platform/core-api/src/com/intellij/util/IconUtil.java @@ -43,7 +43,7 @@ import java.awt.image.BufferedImage; * @author Konstantin Bulenkov */ public class IconUtil { - private static Key PROJECT_WAS_EVER_INITIALIZED = Key.create("iconDeferrer:projectWasEverInitialized"); + private static final Key PROJECT_WAS_EVER_INITIALIZED = Key.create("iconDeferrer:projectWasEverInitialized"); private static boolean wasEverInitialized(Project project) { Boolean was = project.getUserData(PROJECT_WAS_EVER_INITIALIZED); @@ -89,7 +89,7 @@ public class IconUtil { return new ImageIcon(img); } - public static Icon getIcon(final VirtualFile file, final int flags, final Project project) { + public static Icon getIcon(final VirtualFile file, @Iconable.IconFlags final int flags, final Project project) { Icon lastIcon = Iconable.LastComputedIcon.get(file, flags); final Icon base = lastIcon != null ? lastIcon : VirtualFilePresentation.getIcon(file); @@ -130,7 +130,7 @@ public class IconUtil { } @Nullable - private static Icon getProvidersIcon(VirtualFile file, int flags, Project project) { + private static Icon getProvidersIcon(VirtualFile file, @Iconable.IconFlags int flags, Project project) { for (FileIconProvider provider : getProviders()) { final Icon icon = provider.getIcon(file, flags, project); if (icon != null) return icon; diff --git a/platform/core-api/src/com/intellij/util/PsiIconUtil.java b/platform/core-api/src/com/intellij/util/PsiIconUtil.java index 2661844281cd..e46ba964a752 100644 --- a/platform/core-api/src/com/intellij/util/PsiIconUtil.java +++ b/platform/core-api/src/com/intellij/util/PsiIconUtil.java @@ -22,6 +22,7 @@ package com.intellij.util; import com.intellij.ide.IconProvider; import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.project.DumbService; +import com.intellij.openapi.util.Iconable; import com.intellij.psi.PsiElement; import org.jetbrains.annotations.Nullable; @@ -30,7 +31,7 @@ import javax.swing.*; public class PsiIconUtil { @Nullable - public static Icon getProvidersIcon(PsiElement element, int flags) { + public static Icon getProvidersIcon(PsiElement element, @Iconable.IconFlags int flags) { final boolean dumb = DumbService.getInstance(element.getProject()).isDumb(); for (final IconProvider iconProvider : getIconProviders()) { if (dumb && !DumbService.isDumbAware(iconProvider)) { diff --git a/platform/lang-api/src/com/intellij/codeInsight/highlighting/HighlightManager.java b/platform/lang-api/src/com/intellij/codeInsight/highlighting/HighlightManager.java index 8a2ae051be08..18fc16fccd74 100644 --- a/platform/lang-api/src/com/intellij/codeInsight/highlighting/HighlightManager.java +++ b/platform/lang-api/src/com/intellij/codeInsight/highlighting/HighlightManager.java @@ -21,6 +21,7 @@ import com.intellij.openapi.editor.markup.TextAttributes; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiReference; +import org.intellij.lang.annotations.MagicConstant; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -53,6 +54,9 @@ public abstract class HighlightManager { */ public static final int HIDE_BY_TEXT_CHANGE = 0x04; + @MagicConstant(flags = {HIDE_BY_ESCAPE, HIDE_BY_ANY_KEY, HIDE_BY_TEXT_CHANGE}) + public @interface HideFlags {} + /** * Highlights a specified range of text in an editor. The highlighting is removed when the user presses the Esc key, and optionally * when the editor text is changed. If the highlighter added by this method needs to be removed @@ -152,7 +156,7 @@ public abstract class HighlightManager { int start, int end, TextAttributes attributes, - int flags, + @HideFlags int flags, @Nullable Collection outHighlighters, @Nullable Color scrollmarkColor); diff --git a/platform/lang-api/src/com/intellij/psi/codeStyle/CommonCodeStyleSettings.java b/platform/lang-api/src/com/intellij/psi/codeStyle/CommonCodeStyleSettings.java index 7c834cdc616a..ae0ad3b46409 100644 --- a/platform/lang-api/src/com/intellij/psi/codeStyle/CommonCodeStyleSettings.java +++ b/platform/lang-api/src/com/intellij/psi/codeStyle/CommonCodeStyleSettings.java @@ -21,6 +21,7 @@ import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.util.*; import com.intellij.util.xmlb.SkipDefaultValuesSerializationFilters; import com.intellij.util.xmlb.XmlSerializer; +import org.intellij.lang.annotations.MagicConstant; import org.jdom.Element; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -331,9 +332,12 @@ public class CommonCodeStyleSettings { public static final int NEXT_LINE_SHIFTED2 = 4; public static final int NEXT_LINE_IF_WRAPPED = 5; - public int BRACE_STYLE = 1; - public int CLASS_BRACE_STYLE = 1; - public int METHOD_BRACE_STYLE = 1; + @MagicConstant(intValues = {END_OF_LINE, NEXT_LINE, NEXT_LINE_SHIFTED, NEXT_LINE_SHIFTED2, NEXT_LINE_IF_WRAPPED}) + public @interface BraceStyleConstant {} + + @BraceStyleConstant public int BRACE_STYLE = END_OF_LINE; + @BraceStyleConstant public int CLASS_BRACE_STYLE = END_OF_LINE; + @BraceStyleConstant public int METHOD_BRACE_STYLE = END_OF_LINE; /** * Defines if 'flying geese' style should be used for curly braces formatting, e.g. if we want to format code like diff --git a/platform/lang-impl/src/com/intellij/application/options/CodeCompletionPanel.java b/platform/lang-impl/src/com/intellij/application/options/CodeCompletionPanel.java index 2e796432649d..db94c08bf8f0 100644 --- a/platform/lang-impl/src/com/intellij/application/options/CodeCompletionPanel.java +++ b/platform/lang-impl/src/com/intellij/application/options/CodeCompletionPanel.java @@ -23,6 +23,7 @@ import com.intellij.ide.ui.UISettings; import com.intellij.openapi.actionSystem.PlatformDataKeys; import com.intellij.openapi.application.ApplicationBundle; import com.intellij.openapi.project.Project; +import org.intellij.lang.annotations.MagicConstant; import javax.swing.*; import java.awt.event.ActionEvent; @@ -172,8 +173,8 @@ public class CodeCompletionPanel { CodeInsightSettings codeInsightSettings = CodeInsightSettings.getInstance(); boolean isModified = false; - isModified |= (getCaseSensitiveValue() != codeInsightSettings.COMPLETION_CASE_SENSITIVE); - isModified |= (getFocusLookupValue() != codeInsightSettings.AUTOPOPUP_FOCUS_POLICY); + isModified |= getCaseSensitiveValue() != codeInsightSettings.COMPLETION_CASE_SENSITIVE; + isModified |= getFocusLookupValue() != codeInsightSettings.AUTOPOPUP_FOCUS_POLICY; isModified |= isModified(myCbOnCodeCompletion, codeInsightSettings.AUTOCOMPLETE_ON_CODE_COMPLETION); isModified |= isModified(myCbOnSmartTypeCompletion, codeInsightSettings.AUTOCOMPLETE_ON_SMART_TYPE_COMPLETION); @@ -214,6 +215,7 @@ public class CodeCompletionPanel { return value; } + @MagicConstant(intValues = {CodeInsightSettings.ALL, CodeInsightSettings.NONE, CodeInsightSettings.FIRST_LETTER}) private int getCaseSensitiveValue() { Object value = myCaseSensitiveCombo.getSelectedItem(); if (CASE_SENSITIVE_ALL.equals(value)){ @@ -227,6 +229,7 @@ public class CodeCompletionPanel { } } + @MagicConstant(intValues = {CodeInsightSettings.NEVER, CodeInsightSettings.SMART, CodeInsightSettings.ALWAYS}) private int getFocusLookupValue() { return myFocusLookup.getSelectedIndex() + 1; } diff --git a/platform/lang-impl/src/com/intellij/application/options/colors/ClickNavigator.java b/platform/lang-impl/src/com/intellij/application/options/colors/ClickNavigator.java index f229c5233a66..f63eb8d8514d 100644 --- a/platform/lang-impl/src/com/intellij/application/options/colors/ClickNavigator.java +++ b/platform/lang-impl/src/com/intellij/application/options/colors/ClickNavigator.java @@ -34,6 +34,7 @@ import com.intellij.openapi.fileTypes.SyntaxHighlighter; import com.intellij.psi.tree.IElementType; import com.intellij.ui.ListScrollingUtil; import com.intellij.util.ui.UIUtil; +import org.intellij.lang.annotations.JdkConstants; import javax.swing.*; import java.awt.*; @@ -169,7 +170,7 @@ public class ClickNavigator { } } - public static void setCursor(final Editor view, int type) { + public static void setCursor(final Editor view, @JdkConstants.CursorType int type) { final Cursor cursor = type == Cursor.TEXT_CURSOR && view instanceof EditorEx ? UIUtil.getTextCursor(((EditorEx)view).getBackgroundColor()) : Cursor.getPredefinedCursor(type); view.getContentComponent().setCursor(cursor); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/CodeInsightSettings.java b/platform/lang-impl/src/com/intellij/codeInsight/CodeInsightSettings.java index 2d2ae032c7f2..fa13e44cc6a5 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/CodeInsightSettings.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/CodeInsightSettings.java @@ -25,6 +25,7 @@ import com.intellij.util.xmlb.XmlSerializationException; import com.intellij.util.xmlb.XmlSerializer; import com.intellij.util.xmlb.annotations.AbstractCollection; import com.intellij.util.xmlb.annotations.Property; +import org.intellij.lang.annotations.MagicConstant; import org.jdom.Element; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -76,12 +77,14 @@ public class CodeInsightSettings implements PersistentStateComponent, C public boolean AUTO_POPUP_COMPLETION_LOOKUP = true; public int AUTO_LOOKUP_DELAY = 0; - public int COMPLETION_CASE_SENSITIVE = FIRST_LETTER; // ALL, NONE or FIRST_LETTER + @MagicConstant(intValues = {ALL, NONE, FIRST_LETTER}) + public int COMPLETION_CASE_SENSITIVE = FIRST_LETTER; public static final int ALL = 1; public static final int NONE = 2; public static final int FIRST_LETTER = 3; - public int AUTOPOPUP_FOCUS_POLICY = SMART; // NEVER, SMART or ALWAYS + @MagicConstant(intValues = {NEVER, SMART, ALWAYS}) + public int AUTOPOPUP_FOCUS_POLICY = SMART; public static final int NEVER = 1; public static final int SMART = 2; public static final int ALWAYS = 3; @@ -130,7 +133,8 @@ public class CodeInsightSettings implements PersistentStateComponent, C public boolean ADD_UNAMBIGIOUS_IMPORTS_ON_THE_FLY = false; public boolean JSP_ADD_UNAMBIGIOUS_IMPORTS_ON_THE_FLY = false; - @Property(surroundWithTag = false) @AbstractCollection( + @Property(surroundWithTag = false) + @AbstractCollection( surroundWithTag = false, elementTag = "EXCLUDED_PACKAGE", elementValueAttribute = "NAME") diff --git a/platform/lang-impl/src/com/intellij/codeInsight/highlighting/HighlightManagerImpl.java b/platform/lang-impl/src/com/intellij/codeInsight/highlighting/HighlightManagerImpl.java index 129042abe75d..255f2353d97e 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/highlighting/HighlightManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/highlighting/HighlightManagerImpl.java @@ -101,7 +101,7 @@ public class HighlightManagerImpl extends HighlightManager implements ProjectCom } @Nullable - public Map getHighlightInfoMap(Editor editor, boolean toCreate) { + public Map getHighlightInfoMap(@NotNull Editor editor, boolean toCreate) { if (editor instanceof EditorWindow) return getHighlightInfoMap(((EditorWindow)editor).getDelegate(), toCreate); Map map = editor.getUserData(HIGHLIGHT_INFO_MAP_KEY); if (map == null && toCreate) { @@ -111,7 +111,7 @@ public class HighlightManagerImpl extends HighlightManager implements ProjectCom } @NotNull - public RangeHighlighter[] getHighlighters(Editor editor) { + public RangeHighlighter[] getHighlighters(@NotNull Editor editor) { Map highlightersMap = getHighlightInfoMap(editor, false); if (highlightersMap == null) return RangeHighlighter.EMPTY_ARRAY; Set set = new HashSet(); @@ -122,7 +122,7 @@ public class HighlightManagerImpl extends HighlightManager implements ProjectCom return set.toArray(new RangeHighlighter[set.size()]); } - private RangeHighlighter addSegmentHighlighter(Editor editor, int startOffset, int endOffset, TextAttributes attributes, int flags) { + private RangeHighlighter addSegmentHighlighter(@NotNull Editor editor, int startOffset, int endOffset, TextAttributes attributes, @HideFlags int flags) { RangeHighlighter highlighter = editor.getMarkupModel() .addRangeHighlighter(startOffset, endOffset, HighlighterLayer.SELECTION - 1, attributes, HighlighterTargetArea.EXACT_RANGE); HighlightInfo info = new HighlightInfo(editor instanceof EditorWindow ? ((EditorWindow)editor).getDelegate() : editor, flags); @@ -255,13 +255,13 @@ public class HighlightManagerImpl extends HighlightManager implements ProjectCom } @Nullable - private static Color getScrollMarkColor(final TextAttributes attributes) { + private static Color getScrollMarkColor(@NotNull TextAttributes attributes) { if (attributes.getErrorStripeColor() != null) return attributes.getErrorStripeColor(); if (attributes.getBackgroundColor() != null) return attributes.getBackgroundColor().darker(); return null; } - public boolean hideHighlights(Editor editor, int mask) { + public boolean hideHighlights(@NotNull Editor editor, @HideFlags int mask) { Map map = getHighlightInfoMap(editor, false); if (map == null) return false; @@ -308,9 +308,9 @@ public class HighlightManagerImpl extends HighlightManager implements ProjectCom static class HighlightInfo { final Editor editor; - final int flags; + @HideFlags final int flags; - public HighlightInfo(Editor editor, int flags) { + public HighlightInfo(Editor editor, @HideFlags int flags) { this.editor = editor; this.flags = flags; } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupCellRenderer.java b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupCellRenderer.java index 86b669fab28e..85c82c2e348b 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupCellRenderer.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupCellRenderer.java @@ -247,7 +247,7 @@ public class LookupCellRenderer implements ListCellRenderer { private void renderItemName(LookupElement item, Color foreground, boolean selected, - int style, + @SimpleTextAttributes.StyleAttributeConstant int style, String name, final SimpleColoredComponent nameComponent) { final SimpleTextAttributes base = new SimpleTextAttributes(style, foreground); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/navigation/CtrlMouseHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/navigation/CtrlMouseHandler.java index ffbf205de653..0e36a1bb12df 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/navigation/CtrlMouseHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/navigation/CtrlMouseHandler.java @@ -68,6 +68,7 @@ import com.intellij.ui.LightweightHint; import com.intellij.usageView.UsageViewShortNameLocation; import com.intellij.usageView.UsageViewTypeLocation; import com.intellij.util.Processor; +import org.intellij.lang.annotations.JdkConstants; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.TestOnly; @@ -82,7 +83,7 @@ import java.util.List; public class CtrlMouseHandler extends AbstractProjectComponent { private final TextAttributes ourReferenceAttributes; private HighlightersSet myHighlighter; - private int myStoredModifiers = 0; + @JdkConstants.InputEventMask private int myStoredModifiers = 0; private TooltipProvider myTooltipProvider = null; private final FileEditorManager myFileEditorManager; @@ -204,7 +205,7 @@ public class CtrlMouseHandler extends AbstractProjectComponent { return "CtrlMouseHandler"; } - private static BrowseMode getBrowseMode(final int modifiers) { + private static BrowseMode getBrowseMode(@JdkConstants.InputEventMask int modifiers) { if (modifiers != 0) { final Keymap activeKeymap = KeymapManager.getInstance().getActiveKeymap(); if (matchMouseShortcut(activeKeymap, modifiers, IdeActions.ACTION_GOTO_DECLARATION)) return BrowseMode.Declaration; @@ -215,7 +216,7 @@ public class CtrlMouseHandler extends AbstractProjectComponent { return BrowseMode.None; } - private static boolean matchMouseShortcut(final Keymap activeKeymap, final int modifiers, final String actionId) { + private static boolean matchMouseShortcut(final Keymap activeKeymap, @JdkConstants.InputEventMask int modifiers, final String actionId) { final MouseShortcut syntheticShortcut = new MouseShortcut(MouseEvent.BUTTON1, modifiers, 1); for (Shortcut shortcut : activeKeymap.getShortcuts(actionId)) { if (shortcut instanceof MouseShortcut) { diff --git a/platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/AbstractPsiBasedNode.java b/platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/AbstractPsiBasedNode.java index c46da8e8b256..229ede8e3d3a 100644 --- a/platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/AbstractPsiBasedNode.java +++ b/platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/AbstractPsiBasedNode.java @@ -164,6 +164,7 @@ public abstract class AbstractPsiBasedNode extends ProjectViewNode } } + @Iconable.IconFlags protected int getIconableFlags() { int flags = Iconable.ICON_FLAG_VISIBILITY; if (isMarkReadOnly()) { diff --git a/platform/lang-impl/src/com/intellij/ide/util/PsiElementListCellRenderer.java b/platform/lang-impl/src/com/intellij/ide/util/PsiElementListCellRenderer.java index ccea303ccfa7..c67b431b981d 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/PsiElementListCellRenderer.java +++ b/platform/lang-impl/src/com/intellij/ide/util/PsiElementListCellRenderer.java @@ -25,6 +25,7 @@ import com.intellij.openapi.editor.colors.TextAttributesKey; import com.intellij.openapi.editor.markup.EffectType; import com.intellij.openapi.editor.markup.TextAttributes; import com.intellij.openapi.ui.popup.PopupChooserBuilder; +import com.intellij.openapi.util.Iconable; import com.intellij.openapi.vcs.FileStatus; import com.intellij.openapi.vcs.FileStatusManager; import com.intellij.openapi.vfs.VirtualFile; @@ -192,6 +193,7 @@ public abstract class PsiElementListCellRenderer extends J @Nullable protected abstract String getContainerText(T element, final String name); + @Iconable.IconFlags protected abstract int getIconFlags(); protected Icon getIcon(PsiElement element) { diff --git a/platform/lang-impl/src/com/intellij/openapi/module/impl/ModuleImpl.java b/platform/lang-impl/src/com/intellij/openapi/module/impl/ModuleImpl.java index 1c7c2b8b8c9d..ce1a463bbd08 100644 --- a/platform/lang-impl/src/com/intellij/openapi/module/impl/ModuleImpl.java +++ b/platform/lang-impl/src/com/intellij/openapi/module/impl/ModuleImpl.java @@ -279,7 +279,7 @@ public class ModuleImpl extends ComponentManagerImpl implements Module { } @NotNull - public GlobalSearchScope getCachedScope(int options) { + public GlobalSearchScope getCachedScope(@ModuleWithDependenciesScope.ScopeConstant int options) { GlobalSearchScope scope = myScopeCache.get(options); if (scope == null) { scope = new ModuleWithDependenciesScope(this, options); diff --git a/platform/lang-impl/src/com/intellij/openapi/module/impl/scopes/ModuleWithDependenciesScope.java b/platform/lang-impl/src/com/intellij/openapi/module/impl/scopes/ModuleWithDependenciesScope.java index 8c7136c1e2cd..bd97a36bb5e8 100644 --- a/platform/lang-impl/src/com/intellij/openapi/module/impl/scopes/ModuleWithDependenciesScope.java +++ b/platform/lang-impl/src/com/intellij/openapi/module/impl/scopes/ModuleWithDependenciesScope.java @@ -23,6 +23,7 @@ import com.intellij.psi.search.GlobalSearchScope; import com.intellij.util.NotNullFunction; import com.intellij.util.Processor; import com.intellij.util.containers.ContainerUtil; +import org.intellij.lang.annotations.MagicConstant; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.TestOnly; @@ -34,14 +35,18 @@ import java.util.Set; public class ModuleWithDependenciesScope extends GlobalSearchScope { - public final static int COMPILE = 0x01; - public final static int LIBRARIES = 0x02; - public final static int MODULES = 0x04; - public final static int TESTS = 0x08; - public final static int RUNTIME = 0x10; - public final static int CONTENT = 0x20; + public static final int COMPILE = 0x01; + public static final int LIBRARIES = 0x02; + public static final int MODULES = 0x04; + public static final int TESTS = 0x08; + public static final int RUNTIME = 0x10; + public static final int CONTENT = 0x20; + + @MagicConstant(flags = {COMPILE, LIBRARIES, MODULES, TESTS, RUNTIME, CONTENT}) + public @interface ScopeConstant {} private final Module myModule; + @ScopeConstant private final int myOptions; private final ProjectFileIndex myProjectFileIndex; @@ -49,7 +54,7 @@ public class ModuleWithDependenciesScope extends GlobalSearchScope { private final Set myModules = new LinkedHashSet(); private final Set myRoots = new LinkedHashSet(); - public ModuleWithDependenciesScope(Module module, int options) { + public ModuleWithDependenciesScope(Module module, @ScopeConstant int options) { super(module.getProject()); myModule = module; myOptions = options; @@ -102,7 +107,7 @@ public class ModuleWithDependenciesScope extends GlobalSearchScope { } } - private boolean hasOption(int option) { + private boolean hasOption(@ScopeConstant int option) { return (myOptions & option) != 0; } @@ -155,7 +160,7 @@ public class ModuleWithDependenciesScope extends GlobalSearchScope { } @Nullable - private VirtualFile getFileRoot(VirtualFile file) { + private VirtualFile getFileRoot(@NotNull VirtualFile file) { if (myProjectFileIndex.isInContent(file)) { return myProjectFileIndex.getSourceRootForFile(file); } diff --git a/platform/lang-impl/src/com/intellij/refactoring/ui/AbstractMemberSelectionTable.java b/platform/lang-impl/src/com/intellij/refactoring/ui/AbstractMemberSelectionTable.java index 578b811818d8..77b88fa59a5b 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/ui/AbstractMemberSelectionTable.java +++ b/platform/lang-impl/src/com/intellij/refactoring/ui/AbstractMemberSelectionTable.java @@ -21,6 +21,7 @@ import com.intellij.openapi.actionSystem.DataSink; import com.intellij.openapi.actionSystem.LangDataKeys; import com.intellij.openapi.actionSystem.TypeSafeDataProvider; import com.intellij.openapi.util.IconLoader; +import com.intellij.openapi.util.Iconable; import com.intellij.psi.PsiElement; import com.intellij.refactoring.RefactoringBundle; import com.intellij.refactoring.classMembers.MemberInfoBase; @@ -376,7 +377,7 @@ public abstract class AbstractMemberSelectionTable { @NotNull private final DataContext myDataContext; @NotNull private final String myPlace; @NotNull private final Presentation myPresentation; - private final int myModifiers; + @JdkConstants.InputEventMask private final int myModifiers; private boolean myWorksInInjected; @NonNls private static final String ourInjectedPrefix = "$injected$."; private static final Map ourInjectedIds = new HashMap(); @@ -54,7 +55,7 @@ public class AnActionEvent implements PlaceProvider { @NotNull @NonNls String place, @NotNull Presentation presentation, ActionManager actionManager, - int modifiers + @JdkConstants.InputEventMask int modifiers ){ // TODO[vova,anton] make this constructor package local. No one is allowed to create AnActionEvents myInputEvent = inputEvent; @@ -159,6 +160,7 @@ public class AnActionEvent implements PlaceProvider { * Returns the modifier keys held down during this action event. * @return the modifier keys. */ + @JdkConstants.InputEventMask public int getModifiers() { return myModifiers; } diff --git a/platform/platform-api/src/com/intellij/openapi/actionSystem/MouseShortcut.java b/platform/platform-api/src/com/intellij/openapi/actionSystem/MouseShortcut.java index 7727808bddfd..48bf72a2bd0e 100644 --- a/platform/platform-api/src/com/intellij/openapi/actionSystem/MouseShortcut.java +++ b/platform/platform-api/src/com/intellij/openapi/actionSystem/MouseShortcut.java @@ -15,8 +15,9 @@ */ package com.intellij.openapi.actionSystem; +import org.intellij.lang.annotations.JdkConstants; + import java.awt.event.InputEvent; -import java.awt.event.MouseEvent; /** * A mouse shortcut, which can consist of a specific mouse button, click count and modifier keys @@ -24,10 +25,10 @@ import java.awt.event.MouseEvent; */ public final class MouseShortcut extends Shortcut { private final int myButton; - private final int myModifiers; + @JdkConstants.InputEventMask private final int myModifiers; private final int myClickCount; - public MouseShortcut(int button, int modifiers, int clickCount) { + public MouseShortcut(int button, @JdkConstants.InputEventMask int modifiers, int clickCount) { myButton = button; // TODO[vova] check modifiers? myModifiers = mapOldModifiers(modifiers); @@ -41,6 +42,7 @@ public final class MouseShortcut extends Shortcut { return myButton; } + @JdkConstants.InputEventMask public int getModifiers() { return myModifiers; } @@ -62,7 +64,8 @@ public final class MouseShortcut extends Shortcut { return myButton + myModifiers + myClickCount; } - private static int mapOldModifiers(int modifiers) { + @JdkConstants.InputEventMask + private static int mapOldModifiers(@JdkConstants.InputEventMask int modifiers) { if ((modifiers & InputEvent.SHIFT_MASK) != 0) { modifiers |= InputEvent.SHIFT_DOWN_MASK; } diff --git a/platform/platform-api/src/com/intellij/openapi/editor/markup/AttributesFlyweight.java b/platform/platform-api/src/com/intellij/openapi/editor/markup/AttributesFlyweight.java index d12a26e1fa10..1efd221fc0d1 100644 --- a/platform/platform-api/src/com/intellij/openapi/editor/markup/AttributesFlyweight.java +++ b/platform/platform-api/src/com/intellij/openapi/editor/markup/AttributesFlyweight.java @@ -33,7 +33,7 @@ public class AttributesFlyweight { @NotNull public static AttributesFlyweight create(Color foreground, Color background, - int fontType, + @TextAttributes.FontStyle int fontType, Color effectColor, EffectType effectType, Color errorStripeColor) { @@ -43,6 +43,7 @@ public class AttributesFlyweight { private final Color myForeground; private final Color myBackground; + @TextAttributes.FontStyle private final int myFontType; private final Color myEffectColor ; private final EffectType myEffectType; @@ -50,7 +51,7 @@ public class AttributesFlyweight { private AttributesFlyweight(Color foreground, Color background, - int fontType, + @TextAttributes.FontStyle int fontType, Color effectColor, EffectType effectType, Color errorStripeColor) { @@ -81,6 +82,7 @@ public class AttributesFlyweight { return myBackground; } + @TextAttributes.FontStyle public int getFontType() { return myFontType; } @@ -105,7 +107,7 @@ public class AttributesFlyweight { return create(myForeground, back, myFontType, myEffectColor, myEffectType, myErrorStripeColor); } - public AttributesFlyweight withFontType(int fontType) { + public AttributesFlyweight withFontType(@TextAttributes.FontStyle int fontType) { return create(myForeground, myBackground, fontType, myEffectColor, myEffectType, myErrorStripeColor); } diff --git a/platform/platform-api/src/com/intellij/openapi/editor/markup/TextAttributes.java b/platform/platform-api/src/com/intellij/openapi/editor/markup/TextAttributes.java index acd46961f624..1e36f90c52c4 100644 --- a/platform/platform-api/src/com/intellij/openapi/editor/markup/TextAttributes.java +++ b/platform/platform-api/src/com/intellij/openapi/editor/markup/TextAttributes.java @@ -17,6 +17,7 @@ package com.intellij.openapi.editor.markup; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.*; +import org.intellij.lang.annotations.MagicConstant; import org.jdom.Element; import java.awt.*; @@ -60,6 +61,7 @@ public class TextAttributes implements JDOMExternalizable, Cloneable { public Color FOREGROUND = null; public Color BACKGROUND = null; + @FontStyle public int FONT_TYPE = Font.PLAIN; public Color EFFECT_COLOR = null; @@ -139,7 +141,7 @@ public class TextAttributes implements JDOMExternalizable, Cloneable { myAttrs = AttributesFlyweight.create(null, null, Font.PLAIN, null, EffectType.BOXED, null); } - public TextAttributes(Color foregroundColor, Color backgroundColor, Color effectColor, EffectType effectType, int fontType) { + public TextAttributes(Color foregroundColor, Color backgroundColor, Color effectColor, EffectType effectType, @FontStyle int fontType) { myAttrs = AttributesFlyweight.create(foregroundColor, backgroundColor, fontType, effectColor, effectType, null); } @@ -197,11 +199,15 @@ public class TextAttributes implements JDOMExternalizable, Cloneable { myAttrs = myAttrs.withEffectType(effectType); } + @FontStyle public int getFontType() { return myAttrs.getFontType(); } - public void setFontType(int type) { + @MagicConstant(flags = {Font.PLAIN, Font.BOLD, Font.ITALIC}) + public @interface FontStyle {} + + public void setFontType(@FontStyle int type) { if (type < 0 || type > 3) { LOG.error("Wrong font type: " + type); type = 0; diff --git a/platform/platform-api/src/com/intellij/openapi/keymap/KeymapUtil.java b/platform/platform-api/src/com/intellij/openapi/keymap/KeymapUtil.java index d5927a42838a..b64f0c369cbb 100644 --- a/platform/platform-api/src/com/intellij/openapi/keymap/KeymapUtil.java +++ b/platform/platform-api/src/com/intellij/openapi/keymap/KeymapUtil.java @@ -23,6 +23,7 @@ import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.registry.Registry; import com.intellij.openapi.util.registry.RegistryValue; import com.intellij.openapi.util.registry.RegistryValueListener; +import org.intellij.lang.annotations.JdkConstants; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -70,12 +71,12 @@ public class KeymapUtil { KeyboardShortcut keyboardShortcut = (KeyboardShortcut)shortcut; String acceleratorText = getKeystrokeText(keyboardShortcut.getFirstKeyStroke()); - if (acceleratorText.length() > 0) { + if (!acceleratorText.isEmpty()) { s = acceleratorText; } acceleratorText = getKeystrokeText(keyboardShortcut.getSecondKeyStroke()); - if (acceleratorText.length() > 0) { + if (!acceleratorText.isEmpty()) { s += ", " + acceleratorText; } } @@ -107,7 +108,7 @@ public class KeymapUtil { * @param clickCount target clicks count * @return string representation of passed mouse shortcut. */ - public static String getMouseShortcutText(int button, int modifiers, int clickCount) { + public static String getMouseShortcutText(int button, @JdkConstants.InputEventMask int modifiers, int clickCount) { // Modal keys final int buttonNum; @@ -140,7 +141,8 @@ public class KeymapUtil { } } - private static int mapNewModifiers(int modifiers) { + @JdkConstants.InputEventMask + private static int mapNewModifiers(@JdkConstants.InputEventMask int modifiers) { if ((modifiers & InputEvent.SHIFT_DOWN_MASK) != 0) { modifiers |= InputEvent.SHIFT_MASK; } @@ -178,7 +180,7 @@ public class KeymapUtil { return acceleratorText.trim(); } - private static String getModifiersText(int modifiers) { + private static String getModifiersText(@JdkConstants.InputEventMask int modifiers) { if (SystemInfo.isMac) { try { Class appleLaf = Class.forName(APPLE_LAF_AQUA_LOOK_AND_FEEL_CLASS_NAME); @@ -195,7 +197,7 @@ public class KeymapUtil { } final String keyModifiersText = KeyEvent.getKeyModifiersText(modifiers); - if (keyModifiersText.length() > 0) { + if (!keyModifiersText.isEmpty()) { return keyModifiersText + "+"; } else { return keyModifiersText; @@ -274,7 +276,7 @@ public class KeymapUtil { return new MouseShortcut(button, modifiers, clickCount); } - public static String getKeyModifiersTextForMacOSLeopard(int modifiers) { + public static String getKeyModifiersTextForMacOSLeopard(@JdkConstants.InputEventMask int modifiers) { StringBuilder buf = new StringBuilder(); if ((modifiers & InputEvent.META_MASK) != 0) { buf.append(Toolkit.getProperty("AWT.meta", "Meta")); @@ -322,7 +324,7 @@ public class KeymapUtil { final int code = keyEvent.getKeyCode(); - return code == KeyEvent.VK_META || code == KeyEvent.VK_CONTROL || code == KeyEvent.VK_SHIFT | code == KeyEvent.VK_ALT; + return code == KeyEvent.VK_META || code == KeyEvent.VK_CONTROL || code == KeyEvent.VK_SHIFT || code == KeyEvent.VK_ALT; } private static void updateTooltipRequestKey(RegistryValue value) { @@ -332,7 +334,7 @@ public class KeymapUtil { ourOtherTooltipKeys.clear(); processKey(text.contains("meta"), InputEvent.META_MASK); - processKey(text.contains("control") | text.contains("ctrl"), InputEvent.CTRL_MASK); + processKey(text.contains("control") || text.contains("ctrl"), InputEvent.CTRL_MASK); processKey(text.contains("shift"), InputEvent.SHIFT_MASK); processKey(text.contains("alt"), InputEvent.ALT_MASK); @@ -360,7 +362,7 @@ public class KeymapUtil { } @Nullable - public static KeyStroke getKeyStroke(final @NotNull ShortcutSet shortcutSet) { + public static KeyStroke getKeyStroke(@NotNull final ShortcutSet shortcutSet) { final Shortcut[] shortcuts = shortcutSet.getShortcuts(); if (shortcuts.length == 0 || !(shortcuts[0] instanceof KeyboardShortcut)) return null; final KeyboardShortcut shortcut = (KeyboardShortcut)shortcuts[0]; diff --git a/platform/platform-api/src/com/intellij/openapi/ui/DialogBuilder.java b/platform/platform-api/src/com/intellij/openapi/ui/DialogBuilder.java index 4687500e1244..cf8c4948089b 100644 --- a/platform/platform-api/src/com/intellij/openapi/ui/DialogBuilder.java +++ b/platform/platform-api/src/com/intellij/openapi/ui/DialogBuilder.java @@ -22,6 +22,7 @@ import com.intellij.openapi.help.HelpManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Disposer; import com.intellij.util.containers.ContainerUtil; +import org.intellij.lang.annotations.MagicConstant; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -128,8 +129,8 @@ public class DialogBuilder implements Disposable { Disposer.register(this, disposable); } - public void setButtonsAlignment(int alignment) { - myDialogWrapper.setButtonsAlignment1(alignment); + public void setButtonsAlignment(@MagicConstant(intValues = {SwingConstants.CENTER, SwingConstants.RIGHT}) int alignment) { + myDialogWrapper.setButtonsAlignment(alignment); } public DialogWrapper getDialogWrapper() { @@ -293,7 +294,7 @@ public class DialogBuilder implements Disposable { public void init() { super.init(); } public Action getOKAction() { return super.getOKAction(); } // Make it public public Action getCancelAction() { return super.getCancelAction(); } // Make it public - public void setButtonsAlignment1(int alignment) { setButtonsAlignment(alignment);} + protected JComponent createCenterPanel() { return myCenterPanel; } public void dispose() { diff --git a/platform/platform-api/src/com/intellij/openapi/ui/DialogWrapper.java b/platform/platform-api/src/com/intellij/openapi/ui/DialogWrapper.java index 63c853ea532c..ccd09e11ce14 100644 --- a/platform/platform-api/src/com/intellij/openapi/ui/DialogWrapper.java +++ b/platform/platform-api/src/com/intellij/openapi/ui/DialogWrapper.java @@ -42,6 +42,7 @@ import com.intellij.util.ArrayUtil; import com.intellij.util.ui.AwtVisitor; import com.intellij.util.ui.DialogUtil; import com.intellij.util.ui.UIUtil; +import org.intellij.lang.annotations.MagicConstant; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -1133,7 +1134,7 @@ public abstract class DialogWrapper { * @throws java.lang.IllegalArgumentException * if alignment isn't acceptable */ - protected final void setButtonsAlignment(int alignment) { + protected final void setButtonsAlignment(@MagicConstant(intValues = {SwingConstants.CENTER, SwingConstants.RIGHT}) int alignment) { if (SwingConstants.CENTER != alignment && SwingConstants.RIGHT != alignment) { throw new IllegalArgumentException("unknown alignment: " + alignment); } diff --git a/platform/platform-api/src/com/intellij/openapi/ui/SelectFromListDialog.java b/platform/platform-api/src/com/intellij/openapi/ui/SelectFromListDialog.java index f2d18b4d04c2..85ec4f269086 100644 --- a/platform/platform-api/src/com/intellij/openapi/ui/SelectFromListDialog.java +++ b/platform/platform-api/src/com/intellij/openapi/ui/SelectFromListDialog.java @@ -21,6 +21,7 @@ import com.intellij.ui.ColoredListCellRenderer; import com.intellij.ui.ScrollPaneFactory; import com.intellij.ui.SimpleTextAttributes; import com.intellij.ui.components.JBList; +import org.intellij.lang.annotations.JdkConstants; import org.jetbrains.annotations.NotNull; import javax.swing.*; @@ -41,7 +42,7 @@ public class SelectFromListDialog extends DialogWrapper { Object[] objects, ToStringAspect toStringAspect, String title, - int selectionMode) { + @JdkConstants.ListSelectionMode int selectionMode) { super(project, true); myToStringAspect = toStringAspect; myList.setSelectionMode(selectionMode); diff --git a/platform/platform-api/src/com/intellij/openapi/ui/TreeComboBox.java b/platform/platform-api/src/com/intellij/openapi/ui/TreeComboBox.java index 54d7a6b6bed7..c043615187df 100644 --- a/platform/platform-api/src/com/intellij/openapi/ui/TreeComboBox.java +++ b/platform/platform-api/src/com/intellij/openapi/ui/TreeComboBox.java @@ -40,10 +40,10 @@ import java.util.List; * User: spLeaner */ public class TreeComboBox extends ComboBoxWithWidePopup { - final static int INDENT = UIUtil.getTreeLeftChildIndent(); + private static final int INDENT = UIUtil.getTreeLeftChildIndent(); private TreeModel myTreeModel; - private String myDefaultText; - private boolean myShowRootNode; + private final String myDefaultText; + private final boolean myShowRootNode; public TreeComboBox(@NotNull final TreeModel model) { this(model, true); @@ -82,12 +82,12 @@ public class TreeComboBox extends ComboBoxWithWidePopup { private boolean mySelected; private boolean myInList; - private JComboBox myComboBox; + private final JComboBox myComboBox; private boolean myChecked; private boolean myEditable; - private boolean myUnderAquaLookAndFeel; - private boolean myShowRootNode; - private String myDefaultText; + private final boolean myUnderAquaLookAndFeel; + private final boolean myShowRootNode; + private final String myDefaultText; private TreeListCellRenderer(@NotNull final JComboBox comboBox, final boolean showRootNode, @Nullable final String defaultText) { myComboBox = comboBox; @@ -100,7 +100,8 @@ public class TreeComboBox extends ComboBoxWithWidePopup { private static Icon getValueIcon(final Object value, final int index) { if (value instanceof CustomPresentation) { return ((CustomPresentation)value).getIcon(index, Iconable.ICON_FLAG_OPEN); - } else if (value instanceof Iconable) { + } + if (value instanceof Iconable) { return ((Iconable)value).getIcon(Iconable.ICON_FLAG_OPEN); } @@ -108,7 +109,7 @@ public class TreeComboBox extends ComboBoxWithWidePopup { } private TreeModelWrapper getTreeModelWrapper() { - return ((TreeModelWrapper)myComboBox.getModel()); + return (TreeModelWrapper)myComboBox.getModel(); } @Override @@ -131,10 +132,11 @@ public class TreeComboBox extends ComboBoxWithWidePopup { int indent = 0; if (myInList) { final TreePath path = getTreeModelWrapper().getPathForRow(index); - indent = path == null ? 0 : (path.getPathCount() - 1 - (myShowRootNode ? 0 : 1)) * ((UIUtil.isUnderAquaLookAndFeel() ? 2 : 1) * INDENT); + indent = path == null ? 0 : (path.getPathCount() - 1 - (myShowRootNode ? 0 : 1)) * + (UIUtil.isUnderAquaLookAndFeel() ? 2 : 1) * INDENT; } - setIpad(new Insets(1, !myInList || myEditable ? (myUnderAquaLookAndFeel ? 0 : 5) : (myUnderAquaLookAndFeel ? 23 : 5) + indent, 1, 5)); + setIpad(new Insets(1, !myInList || myEditable ? myUnderAquaLookAndFeel ? 0 : 5 : (myUnderAquaLookAndFeel ? 23 : 5) + indent, 1, 5)); setIcon(getValueIcon(value, index)); setIconOpaque(!myUnderAquaLookAndFeel); @@ -193,10 +195,10 @@ public class TreeComboBox extends ComboBoxWithWidePopup { } private static class TreeModelWrapper extends AbstractListModel implements ComboBoxModel { - private TreeModel myTreeModel; + private final TreeModel myTreeModel; private Object mySelectedItem; - private boolean myShowRootNode; - private List myTreeModelAsList = new ArrayList(); + private final boolean myShowRootNode; + private final List myTreeModelAsList = new ArrayList(); private TreeModelWrapper(@NotNull final TreeModel treeModel, final boolean showRootNode) { myTreeModel = treeModel; @@ -293,8 +295,8 @@ public class TreeComboBox extends ComboBoxWithWidePopup { } public boolean hasMoreElements() { - return (!myStack.empty() && - myStack.peek().hasMoreElements()); + return !myStack.empty() && + myStack.peek().hasMoreElements(); } public Object nextElement() { @@ -313,7 +315,7 @@ public class TreeComboBox extends ComboBoxWithWidePopup { public interface CustomPresentation { void append(SimpleColoredComponent component, int index); - Icon getIcon(int index, int flags); + Icon getIcon(int index, @Iconable.IconFlags int flags); } } diff --git a/platform/platform-api/src/com/intellij/openapi/ui/VerticalFlowLayout.java b/platform/platform-api/src/com/intellij/openapi/ui/VerticalFlowLayout.java index 782257819c0b..b68dffd01b62 100644 --- a/platform/platform-api/src/com/intellij/openapi/ui/VerticalFlowLayout.java +++ b/platform/platform-api/src/com/intellij/openapi/ui/VerticalFlowLayout.java @@ -15,6 +15,8 @@ */ package com.intellij.openapi.ui; +import org.intellij.lang.annotations.MagicConstant; + import java.awt.*; import java.io.Serializable; @@ -27,11 +29,14 @@ public class VerticalFlowLayout extends FlowLayout implements Serializable { private final int vGap; private final int hGap; + @MagicConstant(intValues = {TOP, MIDDLE, BOTTOM}) + public @interface VerticalFlowAlignment {} + public VerticalFlowLayout() { this(TOP, 5, 5, true, false); } - public VerticalFlowLayout(int alignment) { + public VerticalFlowLayout(@VerticalFlowAlignment int alignment) { this(alignment, 5, 5, true, false); } @@ -39,11 +44,11 @@ public class VerticalFlowLayout extends FlowLayout implements Serializable { this(TOP, 5, 5, fillHorizontally, fillVertically); } - public VerticalFlowLayout(int alignment, boolean fillHorizontally, boolean fillVertically) { + public VerticalFlowLayout(@VerticalFlowAlignment int alignment, boolean fillHorizontally, boolean fillVertically) { this(alignment, 5, 5, fillHorizontally, fillVertically); } - public VerticalFlowLayout(int alignment, int hGap, int vGap, boolean fillHorizontally, boolean fillVertically) { + public VerticalFlowLayout(@VerticalFlowAlignment int alignment, int hGap, int vGap, boolean fillHorizontally, boolean fillVertically) { setAlignment(alignment); this.hGap = hGap; this.vGap = vGap; diff --git a/platform/platform-api/src/com/intellij/openapi/ui/popup/JBPopup.java b/platform/platform-api/src/com/intellij/openapi/ui/popup/JBPopup.java index 23d424a71bed..85d8cc1068ee 100644 --- a/platform/platform-api/src/com/intellij/openapi/ui/popup/JBPopup.java +++ b/platform/platform-api/src/com/intellij/openapi/ui/popup/JBPopup.java @@ -23,6 +23,7 @@ import com.intellij.openapi.actionSystem.DataProvider; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.project.Project; import com.intellij.ui.awt.RelativePoint; +import org.intellij.lang.annotations.JdkConstants; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -186,7 +187,7 @@ public interface JBPopup extends Disposable, LightweightWindow { void pack(boolean with, boolean height); - void setAdText(String s, int alignment); + void setAdText(String s, @JdkConstants.HorizontalAlignment int alignment); void setDataProvider(@NotNull DataProvider dataProvider); } diff --git a/platform/platform-api/src/com/intellij/ui/CommandButtonGroup.java b/platform/platform-api/src/com/intellij/ui/CommandButtonGroup.java index fc7e0c30b064..9b7a4de593b3 100644 --- a/platform/platform-api/src/com/intellij/ui/CommandButtonGroup.java +++ b/platform/platform-api/src/com/intellij/ui/CommandButtonGroup.java @@ -15,6 +15,8 @@ */ package com.intellij.ui; +import org.intellij.lang.annotations.JdkConstants; + import javax.swing.*; import java.awt.*; @@ -23,7 +25,7 @@ public class CommandButtonGroup extends JPanel { public static final int RIGHT = 2; private int myPreferredH = 0; private int myPreferredW = 0; - private int myAxis; + @JdkConstants.BoxLayoutAxis private final int myAxis; public CommandButtonGroup() { this(BoxLayout.X_AXIS); @@ -35,7 +37,7 @@ public class CommandButtonGroup extends JPanel { * @see javax.swing.BoxLayout#X_AXIS * @see javax.swing.BoxLayout#Y_AXIS */ - public CommandButtonGroup(int axis) { + public CommandButtonGroup(@JdkConstants.BoxLayoutAxis int axis) { myAxis = axis; setLayout(new BoxLayout(this, axis)); //setBorder(new EmptyBorder(5, 5, 5, 5)); diff --git a/platform/platform-api/src/com/intellij/ui/GuiUtils.java b/platform/platform-api/src/com/intellij/ui/GuiUtils.java index ab241fb4ee60..52729878f6f3 100644 --- a/platform/platform-api/src/com/intellij/ui/GuiUtils.java +++ b/platform/platform-api/src/com/intellij/ui/GuiUtils.java @@ -31,6 +31,7 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.ArrayUtil; import com.intellij.util.Consumer; import com.intellij.util.ui.UIUtil; +import org.intellij.lang.annotations.JdkConstants; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -107,7 +108,7 @@ public class GuiUtils { }); } - public static JComponent constructLabeledComponent(String aLabelText, JComponent aComponent, int aAxis) { + public static JComponent constructLabeledComponent(String aLabelText, JComponent aComponent, @JdkConstants.BoxLayoutAxis int aAxis) { JPanel result = new JPanel(); BoxLayout boxLayout = new BoxLayout(result, aAxis); result.setLayout(boxLayout); diff --git a/platform/platform-api/src/com/intellij/ui/ListScrollingUtil.java b/platform/platform-api/src/com/intellij/ui/ListScrollingUtil.java index 5c4899f977a9..f9613558d672 100644 --- a/platform/platform-api/src/com/intellij/ui/ListScrollingUtil.java +++ b/platform/platform-api/src/com/intellij/ui/ListScrollingUtil.java @@ -18,6 +18,7 @@ package com.intellij.ui; import com.intellij.ide.ui.UISettings; import com.intellij.openapi.diagnostic.Logger; import com.intellij.util.ui.UIUtil; +import org.intellij.lang.annotations.JdkConstants; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -179,7 +180,7 @@ public class ListScrollingUtil { return list.getLastVisibleIndex() - list.getFirstVisibleIndex() + 1; } - public static void moveDown(JList list, final int modifiers) { + public static void moveDown(JList list, @JdkConstants.InputEventMask final int modifiers) { int size = list.getModel().getSize(); if (size == 0) { return; @@ -209,7 +210,7 @@ public class ListScrollingUtil { } } - public static void moveUp(JList list, int modifiers) { + public static void moveUp(JList list, @JdkConstants.InputEventMask int modifiers) { int size = list.getModel().getSize(); final ListSelectionModel selectionModel = list.getSelectionModel(); int index = selectionModel.getMinSelectionIndex(); diff --git a/platform/platform-api/src/com/intellij/ui/SimpleTextAttributes.java b/platform/platform-api/src/com/intellij/ui/SimpleTextAttributes.java index 81b3e4b28f80..06ec63bdf736 100644 --- a/platform/platform-api/src/com/intellij/ui/SimpleTextAttributes.java +++ b/platform/platform-api/src/com/intellij/ui/SimpleTextAttributes.java @@ -19,6 +19,7 @@ import com.intellij.openapi.editor.markup.EffectType; import com.intellij.openapi.editor.markup.TextAttributes; import com.intellij.openapi.util.Comparing; import com.intellij.util.ui.UIUtil; +import org.intellij.lang.annotations.MagicConstant; import org.jetbrains.annotations.Nullable; import java.awt.*; @@ -28,6 +29,10 @@ import java.awt.*; */ @SuppressWarnings({"PointlessBitwiseExpression"}) public final class SimpleTextAttributes { + + @MagicConstant(flags = {STYLE_PLAIN, STYLE_BOLD, STYLE_ITALIC, STYLE_STRIKEOUT, STYLE_WAVED, STYLE_UNDERLINE, STYLE_BOLD_DOTTED_LINE, STYLE_SEARCH_MATCH, STYLE_SMALLER}) + public @interface StyleAttributeConstant { } + public static final int STYLE_PLAIN = Font.PLAIN; public static final int STYLE_BOLD = Font.BOLD; public static final int STYLE_ITALIC = Font.ITALIC; @@ -62,6 +67,7 @@ public final class SimpleTextAttributes { private final Color myBgColor; private final Color myFgColor; private final Color myWaveColor; + @StyleAttributeConstant private final int myStyle; /** @@ -70,15 +76,15 @@ public final class SimpleTextAttributes { * null. In that case SimpleColoredComponent will * use its foreground to paint the text fragment. */ - public SimpleTextAttributes(int style, Color fgColor) { + public SimpleTextAttributes(@StyleAttributeConstant int style, Color fgColor) { this(style, fgColor, null); } - public SimpleTextAttributes(int style, Color fgColor, Color waveColor) { + public SimpleTextAttributes(@StyleAttributeConstant int style, Color fgColor, Color waveColor) { this(null, fgColor, waveColor, style); } - public SimpleTextAttributes(final Color bgColor, final Color fgColor, final Color waveColor, final int style) { + public SimpleTextAttributes(final Color bgColor, final Color fgColor, final Color waveColor, @StyleAttributeConstant int style) { if ((~(STYLE_PLAIN | STYLE_BOLD | STYLE_ITALIC | @@ -120,6 +126,7 @@ public final class SimpleTextAttributes { return myWaveColor; } + @StyleAttributeConstant public int getStyle() { return myStyle; } @@ -184,6 +191,7 @@ public final class SimpleTextAttributes { return new SimpleTextAttributes(attributes.getBackgroundColor(), foregroundColor, attributes.getEffectColor(), style); } + @TextAttributes.FontStyle public int getFontStyle() { return myStyle & FONT_MASK; } @@ -218,7 +226,7 @@ public final class SimpleTextAttributes { return new TextAttributes(myFgColor, null, effectColor, effectType, myStyle & FONT_MASK); } - public SimpleTextAttributes derive(int style, @Nullable Color fg, @Nullable Color bg, @Nullable Color wave) { + public SimpleTextAttributes derive(@StyleAttributeConstant int style, @Nullable Color fg, @Nullable Color bg, @Nullable Color wave) { return new SimpleTextAttributes(bg != null ? bg : getBgColor(), fg != null ? fg : getFgColor(), wave != null ? wave : getWaveColor(), style == -1 ? getStyle() : style); } @@ -226,27 +234,31 @@ public final class SimpleTextAttributes { // take what differs from REGULAR public static SimpleTextAttributes merge(final SimpleTextAttributes weak, final SimpleTextAttributes strong) { final int style; - final Color wave; - final Color fg; - final Color bg; if (strong.getStyle() != REGULAR_ATTRIBUTES.getStyle()) { style = strong.getStyle(); - } else { + } + else { style = weak.getStyle(); } - if (! Comparing.equal(strong.getWaveColor(), REGULAR_ATTRIBUTES.getWaveColor())) { + final Color wave; + if (!Comparing.equal(strong.getWaveColor(), REGULAR_ATTRIBUTES.getWaveColor())) { wave = strong.getWaveColor(); - } else { + } + else { wave = weak.getWaveColor(); } - if (! Comparing.equal(strong.getFgColor(), REGULAR_ATTRIBUTES.getFgColor())) { + final Color fg; + if (!Comparing.equal(strong.getFgColor(), REGULAR_ATTRIBUTES.getFgColor())) { fg = strong.getFgColor(); - } else { + } + else { fg = weak.getFgColor(); } - if (! Comparing.equal(strong.getBgColor(), REGULAR_ATTRIBUTES.getBgColor())) { + final Color bg; + if (!Comparing.equal(strong.getBgColor(), REGULAR_ATTRIBUTES.getBgColor())) { bg = strong.getBgColor(); - } else { + } + else { bg = weak.getBgColor(); } diff --git a/platform/platform-api/src/com/intellij/ui/TableScrollingUtil.java b/platform/platform-api/src/com/intellij/ui/TableScrollingUtil.java index 6f382fdc3667..d3fd4590a245 100644 --- a/platform/platform-api/src/com/intellij/ui/TableScrollingUtil.java +++ b/platform/platform-api/src/com/intellij/ui/TableScrollingUtil.java @@ -20,6 +20,7 @@ import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.CustomShortcutSet; import com.intellij.openapi.util.Pair; +import org.intellij.lang.annotations.JdkConstants; import javax.swing.*; import java.awt.*; @@ -104,7 +105,7 @@ public class TableScrollingUtil { } - public static void moveDown(JTable list, final int modifiers) { + public static void moveDown(JTable list, @JdkConstants.InputEventMask int modifiers) { int size = list.getModel().getRowCount(); if (size == 0) { return; @@ -134,7 +135,7 @@ public class TableScrollingUtil { } } - public static void moveUp(JTable list, int modifiers) { + public static void moveUp(JTable list, @JdkConstants.InputEventMask int modifiers) { int size = list.getModel().getRowCount(); final ListSelectionModel selectionModel = list.getSelectionModel(); int index = selectionModel.getMinSelectionIndex(); diff --git a/platform/platform-api/src/com/intellij/ui/components/JBScrollBar.java b/platform/platform-api/src/com/intellij/ui/components/JBScrollBar.java index 6cf8483e3a6e..1685caa23461 100644 --- a/platform/platform-api/src/com/intellij/ui/components/JBScrollBar.java +++ b/platform/platform-api/src/com/intellij/ui/components/JBScrollBar.java @@ -16,6 +16,7 @@ package com.intellij.ui.components; import com.intellij.util.ui.ButtonlessScrollBarUI; +import org.intellij.lang.annotations.JdkConstants; import javax.swing.*; @@ -24,12 +25,12 @@ public class JBScrollBar extends JScrollBar{ init(); } - public JBScrollBar(int orientation) { + public JBScrollBar(@JdkConstants.AdjustableOrientation int orientation) { super(orientation); init(); } - public JBScrollBar(int orientation, int value, int extent, int min, int max) { + public JBScrollBar(@JdkConstants.AdjustableOrientation int orientation, int value, int extent, int min, int max) { super(orientation, value, extent, min, max); init(); } diff --git a/platform/platform-api/src/com/intellij/ui/switcher/QuickAccessSettings.java b/platform/platform-api/src/com/intellij/ui/switcher/QuickAccessSettings.java index 914ce5b37bd7..0a1a305d4a2a 100644 --- a/platform/platform-api/src/com/intellij/ui/switcher/QuickAccessSettings.java +++ b/platform/platform-api/src/com/intellij/ui/switcher/QuickAccessSettings.java @@ -30,10 +30,12 @@ import com.intellij.openapi.util.registry.Registry; import com.intellij.openapi.util.registry.RegistryValue; import com.intellij.openapi.util.registry.RegistryValueListener; import com.intellij.util.containers.ContainerUtil; +import org.intellij.lang.annotations.JdkConstants; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import javax.swing.*; +import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.util.HashSet; import java.util.Set; @@ -128,7 +130,7 @@ public class QuickAccessSettings implements ApplicationComponent, KeymapManagerL } } - private void reassignActionShortcut(String actionId, int modifiers, int actionCode) { + private void reassignActionShortcut(String actionId, @JdkConstants.InputEventMask int modifiers, int actionCode) { removeShortcuts(actionId); if (modifiers > 0) { myKeymap.addShortcut(actionId, new KeyboardShortcut(KeyStroke.getKeyStroke(actionCode, modifiers), null)); @@ -144,17 +146,18 @@ public class QuickAccessSettings implements ApplicationComponent, KeymapManagerL } } + @JdkConstants.InputEventMask int getModiferMask(Set codeTexts) { int mask = 0; for (String each : codeTexts) { if ("control".equals(each)) { - mask |= KeyEvent.CTRL_MASK; + mask |= InputEvent.CTRL_MASK; } else if ("shift".equals(each)) { - mask |= KeyEvent.SHIFT_MASK; + mask |= InputEvent.SHIFT_MASK; } else if ("alt".equals(each)) { - mask |= KeyEvent.ALT_MASK; + mask |= InputEvent.ALT_MASK; } else if ("meta".equals(each)) { - mask |= KeyEvent.META_MASK; + mask |= InputEvent.META_MASK; } } @@ -163,18 +166,18 @@ public class QuickAccessSettings implements ApplicationComponent, KeymapManagerL public static Set getModifiersVKs(int mask) { Set codes = new HashSet(); - if ((mask & KeyEvent.SHIFT_MASK) > 0) { + if ((mask & InputEvent.SHIFT_MASK) > 0) { codes.add(KeyEvent.VK_SHIFT); } - if ((mask & KeyEvent.CTRL_MASK) > 0) { + if ((mask & InputEvent.CTRL_MASK) > 0) { codes.add(KeyEvent.VK_CONTROL); } - if ((mask & KeyEvent.META_MASK) > 0) { + if ((mask & InputEvent.META_MASK) > 0) { codes.add(KeyEvent.VK_META); } - if ((mask & KeyEvent.ALT_MASK) > 0) { + if ((mask & InputEvent.ALT_MASK) > 0) { codes.add(KeyEvent.VK_ALT); } diff --git a/platform/platform-api/src/com/intellij/ui/switcher/SwitchManager.java b/platform/platform-api/src/com/intellij/ui/switcher/SwitchManager.java index 703d55e3f019..20a4c44f6eef 100644 --- a/platform/platform-api/src/com/intellij/ui/switcher/SwitchManager.java +++ b/platform/platform-api/src/com/intellij/ui/switcher/SwitchManager.java @@ -29,6 +29,7 @@ import com.intellij.openapi.wm.IdeFocusManager; import com.intellij.openapi.wm.IdeFrame; import com.intellij.util.Alarm; import com.intellij.util.ui.UIUtil; +import org.intellij.lang.annotations.JdkConstants; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -154,7 +155,7 @@ public class SwitchManager implements ProjectComponent, KeyEventDispatcher, AnAc } - public static boolean areAllModifiersPressed(int modifiers, Set modifierCodes) { + public static boolean areAllModifiersPressed(@JdkConstants.InputEventMask int modifiers, Set modifierCodes) { int mask = 0; for (Integer each : modifierCodes) { if (each == KeyEvent.VK_SHIFT) { diff --git a/platform/platform-api/src/com/intellij/ui/tabs/TabInfo.java b/platform/platform-api/src/com/intellij/ui/tabs/TabInfo.java index 0a17ff9e0258..169ed6b514f6 100644 --- a/platform/platform-api/src/com/intellij/ui/tabs/TabInfo.java +++ b/platform/platform-api/src/com/intellij/ui/tabs/TabInfo.java @@ -295,7 +295,7 @@ public final class TabInfo implements Queryable, PlaceProvider { return myEnabled; } - public TabInfo setDefaultStyle(final int style) { + public TabInfo setDefaultStyle(@SimpleTextAttributes.StyleAttributeConstant int style) { myDefaultStyle = style; myDefaultAttributes = null; update(); diff --git a/platform/platform-impl/src/com/intellij/codeInsight/hint/HintManagerImpl.java b/platform/platform-impl/src/com/intellij/codeInsight/hint/HintManagerImpl.java index 8f58f2919fe0..4f5719558f1b 100644 --- a/platform/platform-impl/src/com/intellij/codeInsight/hint/HintManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/codeInsight/hint/HintManagerImpl.java @@ -84,10 +84,10 @@ public class HintManagerImpl extends HintManager implements Disposable { private static class HintInfo { final LightweightHint hint; - final int flags; + @HideFlags final int flags; private final boolean reviveOnEditorChange; - private HintInfo(LightweightHint hint, int flags, boolean reviveOnEditorChange) { + private HintInfo(LightweightHint hint, @HideFlags int flags, boolean reviveOnEditorChange) { this.hint = hint; this.flags = flags; this.reviveOnEditorChange = reviveOnEditorChange; @@ -234,7 +234,7 @@ public class HintManagerImpl extends HintManager implements Disposable { } } - public void showEditorHint(LightweightHint hint, Editor editor, short constraint, int flags, int timeout, boolean reviveOnEditorChange) { + public void showEditorHint(LightweightHint hint, Editor editor, @PositionFlags short constraint, @HideFlags int flags, int timeout, boolean reviveOnEditorChange) { LogicalPosition pos = editor.getCaretModel().getLogicalPosition(); Point p = getHintPosition(hint, editor, pos, constraint); showEditorHint(hint, editor, p, flags, timeout, reviveOnEditorChange, createHintHint(editor, p, hint, constraint)); @@ -247,20 +247,20 @@ public class HintManagerImpl extends HintManager implements Disposable { public void showEditorHint(@NotNull final LightweightHint hint, @NotNull Editor editor, @NotNull Point p, - int flags, + @HideFlags int flags, int timeout, boolean reviveOnEditorChange) { - showEditorHint(hint, editor, p, flags, timeout, reviveOnEditorChange, HintManagerImpl.ABOVE); + showEditorHint(hint, editor, p, flags, timeout, reviveOnEditorChange, HintManager.ABOVE); } public void showEditorHint(@NotNull final LightweightHint hint, @NotNull Editor editor, @NotNull Point p, - int flags, + @HideFlags int flags, int timeout, boolean reviveOnEditorChange, - short position) { + @PositionFlags short position) { showEditorHint(hint, editor, p, flags, timeout, reviveOnEditorChange, createHintHint(editor, p, hint, position)); } @@ -268,7 +268,7 @@ public class HintManagerImpl extends HintManager implements Disposable { public void showEditorHint(@NotNull final LightweightHint hint, @NotNull Editor editor, @NotNull Point p, - int flags, + @HideFlags int flags, int timeout, boolean reviveOnEditorChange, HintHint hintInfo) { @@ -382,7 +382,7 @@ public class HintManagerImpl extends HintManager implements Disposable { p = rectangle.getLocation(); SwingUtilities.convertPointFromScreen(p, layeredPane); } - else if ((layeredPane.getWidth() < p.x + size.width) && !hintInfo.isAwtTooltip()) { + else if (layeredPane.getWidth() < p.x + size.width && !hintInfo.isAwtTooltip()) { p.x = Math.max(0, layeredPane.getWidth() - size.width); } @@ -402,7 +402,7 @@ public class HintManagerImpl extends HintManager implements Disposable { doShowInGivenLocation(hint, editor, p, createHintHint(editor, p, hint, UNDER), false); } - public static void adjustEditorHintPosition(final LightweightHint hint, final Editor editor, final Point p, short constraint) { + public static void adjustEditorHintPosition(final LightweightHint hint, final Editor editor, final Point p, @PositionFlags short constraint) { doShowInGivenLocation(hint, editor, p, createHintHint(editor, p, hint, constraint), true); } @@ -425,7 +425,7 @@ public class HintManagerImpl extends HintManager implements Disposable { /** * @return coordinates in layered pane coordinate system. */ - public Point getHintPosition(LightweightHint hint, Editor editor, short constraint) { + public Point getHintPosition(LightweightHint hint, Editor editor, @PositionFlags short constraint) { JLayeredPane lp = editor.getComponent().getRootPane().getLayeredPane(); LogicalPosition pos = editor.getCaretModel().getLogicalPosition(); @@ -485,7 +485,7 @@ public class HintManagerImpl extends HintManager implements Disposable { private static Point getHintPositionRelativeTo(final LightweightHint hint, final Editor editor, - final short constraint, + @PositionFlags short constraint, final Rectangle lookupBounds, final LogicalPosition pos) { @@ -541,11 +541,11 @@ public class HintManagerImpl extends HintManager implements Disposable { /** * @return position of hint in layered pane coordinate system */ - public static Point getHintPosition(LightweightHint hint, Editor editor, LogicalPosition pos, short constraint) { + public static Point getHintPosition(LightweightHint hint, Editor editor, LogicalPosition pos, @PositionFlags short constraint) { return getHintPosition(hint, editor, pos, pos, constraint); } - private static Point getHintPosition(LightweightHint hint, Editor editor, LogicalPosition pos1, LogicalPosition pos2, short constraint) { + private static Point getHintPosition(LightweightHint hint, Editor editor, LogicalPosition pos1, LogicalPosition pos2, @PositionFlags short constraint) { return getHintPosition(hint, editor, pos1, pos2, constraint, Registry.is("editor.balloonHints")); } @@ -553,7 +553,7 @@ public class HintManagerImpl extends HintManager implements Disposable { Editor editor, LogicalPosition pos1, LogicalPosition pos2, - short constraint, + @PositionFlags short constraint, boolean showByBalloon) { Point p = _getHintPosition(hint, editor, pos1, pos2, constraint, showByBalloon); JLayeredPane layeredPane = editor.getComponent().getRootPane().getLayeredPane(); @@ -578,15 +578,11 @@ public class HintManagerImpl extends HintManager implements Disposable { return p; } - private static Point _getHintPosition(LightweightHint hint, Editor editor, LogicalPosition pos1, LogicalPosition pos2, short constraint) { - return _getHintPosition(hint, editor, pos1, pos2, constraint, false); - } - private static Point _getHintPosition(LightweightHint hint, Editor editor, LogicalPosition pos1, LogicalPosition pos2, - short constraint, + @PositionFlags short constraint, boolean showByBalloon) { Dimension hintSize = hint.getComponent().getPreferredSize(); int line1 = pos1.line; @@ -686,7 +682,7 @@ public class HintManagerImpl extends HintManager implements Disposable { final int offset2, @NotNull final LightweightHint hint, @NotNull final QuestionAction action, - final short constraint) { + @PositionFlags short constraint) { final LogicalPosition pos1 = editor.offsetToLogicalPosition(offset1); final LogicalPosition pos2 = editor.offsetToLogicalPosition(offset2); final Point p = getHintPosition(hint, editor, pos1, pos2, constraint); @@ -700,7 +696,7 @@ public class HintManagerImpl extends HintManager implements Disposable { final int offset2, @NotNull final LightweightHint hint, @NotNull final QuestionAction action, - short constraint) { + @PositionFlags short constraint) { TextAttributes attributes = new TextAttributes(); attributes.setEffectColor(HintUtil.QUESTION_UNDERSCORE_COLOR); attributes.setEffectType(EffectType.LINE_UNDERSCORE); @@ -730,14 +726,14 @@ public class HintManagerImpl extends HintManager implements Disposable { myQuestionHint = hint; } - public static HintHint createHintHint(Editor editor, Point p, LightweightHint hint, short constraint) { + public static HintHint createHintHint(Editor editor, Point p, LightweightHint hint, @PositionFlags short constraint) { return createHintHint(editor, p, hint, constraint, false); } //todo[nik,kirillk] perhaps 'createInEditorComponent' parameter should always be 'true' //old 'createHintHint' method uses LayeredPane as original component for HintHint so IdeTooltipManager.eventDispatched() //wasn't able to correctly hide tooltip after mouse move. - public static HintHint createHintHint(Editor editor, Point p, LightweightHint hint, short constraint, boolean createInEditorComponent) { + public static HintHint createHintHint(Editor editor, Point p, LightweightHint hint, @PositionFlags short constraint, boolean createInEditorComponent) { JRootPane rootPane = editor.getComponent().getRootPane(); if (rootPane == null) { return new HintHint(editor, p); diff --git a/platform/platform-impl/src/com/intellij/codeInsight/hint/HintUtil.java b/platform/platform-impl/src/com/intellij/codeInsight/hint/HintUtil.java index c18cc487041f..ef9259d2c2da 100644 --- a/platform/platform-impl/src/com/intellij/codeInsight/hint/HintUtil.java +++ b/platform/platform-impl/src/com/intellij/codeInsight/hint/HintUtil.java @@ -17,12 +17,12 @@ package com.intellij.codeInsight.hint; import com.intellij.ide.IdeTooltipManager; import com.intellij.openapi.util.IconLoader; -import com.intellij.openapi.util.JDOMUtil; import com.intellij.ui.ColoredSideBorder; import com.intellij.ui.HintHint; import com.intellij.ui.SimpleColoredComponent; import com.intellij.ui.SimpleColoredText; import com.intellij.util.ui.UIUtil; +import org.intellij.lang.annotations.JdkConstants; import javax.swing.*; import javax.swing.border.Border; @@ -139,7 +139,7 @@ public class HintUtil { return createAdComponent(bottomText, border, SwingUtilities.LEFT); } - public static JLabel createAdComponent(final String bottomText, final Border border, int alignment) { + public static JLabel createAdComponent(final String bottomText, final Border border, @JdkConstants.HorizontalAlignment int alignment) { JLabel label = new JLabel(); label.setText(bottomText); label.setHorizontalAlignment(alignment); diff --git a/platform/platform-impl/src/com/intellij/ide/actionMacro/ActionMacro.java b/platform/platform-impl/src/com/intellij/ide/actionMacro/ActionMacro.java index f7e45efc1259..905332a9346a 100644 --- a/platform/platform-impl/src/com/intellij/ide/actionMacro/ActionMacro.java +++ b/platform/platform-impl/src/com/intellij/ide/actionMacro/ActionMacro.java @@ -27,6 +27,7 @@ import com.intellij.openapi.util.JDOMExternalizable; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.WriteExternalException; import com.intellij.openapi.util.text.StringUtil; +import org.intellij.lang.annotations.JdkConstants; import org.jdom.Element; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -186,7 +187,7 @@ public class ActionMacro implements JDOMExternalizable { myActions.add(new ShortcutActionDesciption(text)); } - public void appendKeytyped(char c, int keyCode, int modifiers) { + public void appendKeytyped(char c, int keyCode, @JdkConstants.InputEventMask int modifiers) { ActionDescriptor lastAction = myActions.size() > 0 ? myActions.get(myActions.size() - 1) : null; if (lastAction instanceof TypedDescriptor) { ((TypedDescriptor)lastAction).addChar(c, keyCode, modifiers); @@ -223,13 +224,13 @@ public class ActionMacro implements JDOMExternalizable { assert myKeyCodes.size() == myModifiers.size() : "codes=" + myKeyCodes.toString() + " modifiers=" + myModifiers.toString(); } - public TypedDescriptor(char c, int keyCode, int modifiers) { + public TypedDescriptor(char c, int keyCode, @JdkConstants.InputEventMask int modifiers) { myText = String.valueOf(c); myKeyCodes.add(keyCode); myModifiers.add(modifiers); } - public void addChar(char c, int keyCode, int modifier) { + public void addChar(char c, int keyCode, @JdkConstants.InputEventMask int modifier) { myText = myText + c; myKeyCodes.add(keyCode); myModifiers.add(modifier); diff --git a/platform/platform-impl/src/com/intellij/ide/ui/search/SearchUtil.java b/platform/platform-impl/src/com/intellij/ide/ui/search/SearchUtil.java index f5cd0b3e7c66..162c2cd3203c 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/search/SearchUtil.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/search/SearchUtil.java @@ -394,7 +394,7 @@ public class SearchUtil { public static void appendFragments(String filter, @NonNls String text, - final int style, + @SimpleTextAttributes.StyleAttributeConstant int style, final Color foreground, final Color background, final SimpleColoredComponent textRenderer) { diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/ex/EditorEx.java b/platform/platform-impl/src/com/intellij/openapi/editor/ex/EditorEx.java index 0aaccbdcae34..2165e73880e7 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/ex/EditorEx.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/ex/EditorEx.java @@ -31,6 +31,7 @@ import com.intellij.openapi.editor.markup.TextAttributes; import com.intellij.openapi.util.Key; import com.intellij.openapi.util.TextRange; import com.intellij.openapi.vfs.VirtualFile; +import org.intellij.lang.annotations.MagicConstant; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -65,7 +66,7 @@ public interface EditorEx extends Editor { int VERTICAL_SCROLLBAR_LEFT = 0; int VERTICAL_SCROLLBAR_RIGHT = 1; - void setVerticalScrollbarOrientation(int type); + void setVerticalScrollbarOrientation(@MagicConstant(intValues = {VERTICAL_SCROLLBAR_LEFT, VERTICAL_SCROLLBAR_RIGHT}) int type); void setVerticalScrollbarVisible(boolean b); diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/ex/util/EditorUtil.java b/platform/platform-impl/src/com/intellij/openapi/editor/ex/util/EditorUtil.java index f0b4720bf534..f4fb39634d33 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/ex/util/EditorUtil.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/ex/util/EditorUtil.java @@ -25,6 +25,7 @@ import com.intellij.openapi.editor.impl.ComplementaryFontsRegistry; import com.intellij.openapi.editor.impl.EditorImpl; import com.intellij.openapi.editor.impl.FontInfo; import com.intellij.openapi.editor.impl.IterationState; +import com.intellij.openapi.editor.markup.TextAttributes; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.text.StringUtil; @@ -419,16 +420,16 @@ public class EditorUtil { } } - public static FontInfo fontForChar(final char c, int style, Editor editor) { + public static FontInfo fontForChar(final char c, @TextAttributes.FontStyle int style, Editor editor) { EditorColorsScheme colorsScheme = editor.getColorsScheme(); return ComplementaryFontsRegistry.getFontAbleToDisplay(c, colorsScheme.getEditorFontSize(), style, colorsScheme.getEditorFontName()); } - public static int charWidth(char c, int fontType, Editor editor) { + public static int charWidth(char c, @TextAttributes.FontStyle int fontType, Editor editor) { return fontForChar(c, fontType, editor).charWidth(c, editor.getContentComponent()); } - public static int getSpaceWidth(int fontType, Editor editor) { + public static int getSpaceWidth(@TextAttributes.FontStyle int fontType, Editor editor) { int width = charWidth(' ', fontType, editor); return width > 0 ? width : 1; } @@ -559,7 +560,7 @@ public class EditorUtil { * from [1; tab size] (check {@link #nextTabStop(int, Editor)} for more details) * @return width in pixels required for target text representation */ - public static int textWidth(@NotNull Editor editor, CharSequence text, int start, int end, int fontType, int x) { + public static int textWidth(@NotNull Editor editor, CharSequence text, int start, int end, @TextAttributes.FontStyle int fontType, int x) { int result = 0; for (int i = start; i < end; i++) { char c = text.charAt(i); diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/ComplementaryFontsRegistry.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/ComplementaryFontsRegistry.java index ade1655f8a25..a66871e77195 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/ComplementaryFontsRegistry.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/ComplementaryFontsRegistry.java @@ -16,6 +16,7 @@ package com.intellij.openapi.editor.impl; import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.editor.markup.TextAttributes; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.SystemInfo; import gnu.trove.TIntHashSet; @@ -46,7 +47,7 @@ public class ComplementaryFontsRegistry { public int mySize; public int myStyle; - public FontKey(@NotNull String familyName, final int size, final int style) { + public FontKey(@NotNull String familyName, final int size, @TextAttributes.FontStyle int style) { myFamilyName = familyName; mySize = size; myStyle = style; @@ -117,7 +118,7 @@ public class ComplementaryFontsRegistry { return Pair.create(found ? styledFamilyName : familyName, found ? Font.PLAIN : style); } - public static FontInfo getFontAbleToDisplay(char c, int size, int style, @NotNull String defaultFontFamily) { + public static FontInfo getFontAbleToDisplay(char c, int size, @TextAttributes.FontStyle int style, @NotNull String defaultFontFamily) { synchronized (lock) { Pair p = fontFamily(defaultFontFamily, style); if (ourSharedKeyInstance.mySize == size && diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/DefaultEditorTextRepresentationHelper.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/DefaultEditorTextRepresentationHelper.java index 0c7b8f44a788..44463add8569 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/DefaultEditorTextRepresentationHelper.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/DefaultEditorTextRepresentationHelper.java @@ -18,6 +18,7 @@ package com.intellij.openapi.editor.impl; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.colors.EditorColorsScheme; import com.intellij.openapi.editor.ex.util.EditorUtil; +import com.intellij.openapi.editor.markup.TextAttributes; import gnu.trove.TObjectIntHashMap; import org.jetbrains.annotations.NotNull; @@ -119,14 +120,14 @@ public class DefaultEditorTextRepresentationHelper implements EditorTextRepresen private static class Key { public String fontName; private int fontSize; - private int fontType; + @TextAttributes.FontStyle private int fontType; private char c; private Key() { this(null, 0, 0, ' '); } - Key(String fontName, int fontSize, int fontType, char c) { + Key(String fontName, int fontSize, @TextAttributes.FontStyle int fontType, char c) { this.fontName = fontName; this.fontSize = fontSize; this.fontType = fontType; diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java index 902eed35263b..6128e26ec2b7 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java @@ -85,6 +85,7 @@ import com.intellij.util.ui.update.UiNotifyConnector; import gnu.trove.TIntArrayList; import gnu.trove.TIntHashSet; import gnu.trove.TIntIntHashMap; +import org.intellij.lang.annotations.JdkConstants; import org.jdom.Element; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -1146,7 +1147,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi * @return width required to represent given char with the given settings on a screen; * '0' if given char is a line break */ - private int charToVisibleWidth(char c, int fontType, int currentX) { + private int charToVisibleWidth(char c, @TextAttributes.FontStyle int fontType, int currentX) { if (c == '\n') { return 0; } @@ -2111,7 +2112,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi } private int drawSoftWrapAwareBackground(Graphics g, Color backColor, CharSequence text, int start, int end, Point position, - int fontType, Color defaultBackground, Rectangle clip, TIntHashSet softWrapsToSkip, + @TextAttributes.FontStyle int fontType, Color defaultBackground, Rectangle clip, TIntHashSet softWrapsToSkip, boolean[] caretRowPainted) { int startToUse = start; @@ -2145,7 +2146,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi return position.x; } - private void drawSoftWrap(Graphics g, SoftWrap softWrap, Point position, int fontType, Color backColor, + private void drawSoftWrap(Graphics g, SoftWrap softWrap, Point position, @TextAttributes.FontStyle int fontType, Color backColor, boolean drawCustomBackgroundAtSoftWrapVirtualSpace, Color defaultBackground, Rectangle clip, boolean[] caretRowPainted) { @@ -2203,7 +2204,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi * @param fontType current font type */ private void paintSelectionOnFirstSoftWrapLineIfNecessary(Graphics g, Point position, Rectangle clip, Color defaultBackground, - int fontType) + @TextAttributes.FontStyle int fontType) { // There is a possible case that the user performed selection at soft wrap virtual space. We need to paint corresponding background // there then. @@ -2261,7 +2262,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi * @param softWrap target soft wrap which second line virtual space may contain selection */ private void paintSelectionOnSecondSoftWrapLineIfNecessary(Graphics g, Point position, Rectangle clip, Color defaultBackground, - int fontType, SoftWrap softWrap) + @TextAttributes.FontStyle int fontType, SoftWrap softWrap) { // There is a possible case that the user performed selection at soft wrap virtual space. We need to paint corresponding background // there then. @@ -2296,7 +2297,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi drawBackground(g, getColorsScheme().getColor(EditorColors.SELECTION_BACKGROUND_COLOR), width, position, defaultBackground, clip); } - private int drawBackground(Graphics g, Color backColor, CharSequence text, Point position, int fontType, Color defaultBackground, + private int drawBackground(Graphics g, Color backColor, CharSequence text, Point position, @TextAttributes.FontStyle int fontType, Color defaultBackground, Rectangle clip) { int width = getTextSegmentWidth(text, position.x, fontType, clip); @@ -2670,7 +2671,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi Rectangle clip, Color effectColor, EffectType effectType, - int fontType, + @TextAttributes.FontStyle int fontType, Color fontColor, Ref startDrawingLogicalPosition) { @@ -2686,7 +2687,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi Rectangle clip, Color effectColor, EffectType effectType, - int fontType, + @TextAttributes.FontStyle int fontType, Color fontColor, Ref startDrawingLogicalPosition) { int startToUse = start; @@ -2802,7 +2803,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi Rectangle clip, @Nullable Color effectColor, @Nullable EffectType effectType, - int fontType, + @TextAttributes.FontStyle int fontType, Color fontColor) { if (start >= end) return position.x; @@ -2821,7 +2822,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi Rectangle clip, Color effectColor, EffectType effectType, - int fontType, + @TextAttributes.FontStyle int fontType, Color fontColor) { boolean isInClip = getLineHeight() + position.y >= clip.y && position.y <= clip.y + clip.height; @@ -2841,7 +2842,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi int y, Color effectColor, EffectType effectType, - int fontType, + @TextAttributes.FontStyle int fontType, Color fontColor, final Rectangle clip) { int xStart = x; @@ -2913,7 +2914,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi final Graphics g, int x, final int y, - final int fontType, + @TextAttributes.FontStyle final int fontType, final Color fontColor, final Rectangle clip) { int endX = x; @@ -2971,7 +2972,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi } } - private void drawCharsCached(Graphics g, char[] data, int start, int end, int x, int y, int fontType, Color color) { + private void drawCharsCached(Graphics g, char[] data, int start, int end, int x, int y, @TextAttributes.FontStyle int fontType, Color color) { if (!myForceRefreshFont && myCommonSpaceWidth > 0 && myLastCache != null && spacesOnly(data, start, end)) { myLastCache.addContent(g, data, start, end, x, y, null); } @@ -3043,7 +3044,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi UIUtil.drawLine(g, x + WAVE_SEGMENT_LENGTH / 2, y, x + WAVE_SEGMENT_LENGTH, y + WAVE_HEIGHT); } - private int getTextSegmentWidth(CharSequence text, int xStart, int fontType, Rectangle clip) { + private int getTextSegmentWidth(CharSequence text, int xStart, @TextAttributes.FontStyle int fontType, Rectangle clip) { int x = xStart; final int textLength = text.length(); @@ -3088,7 +3089,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi return myDescent; } - FontMetrics getFontMetrics(int fontType) { + FontMetrics getFontMetrics(@TextAttributes.FontStyle int fontType) { if (myPlainFontMetrics == null) { assertIsDispatchThread(); myPlainFontMetrics = myEditorComponent.getFontMetrics(myScheme.getFont(EditorFontType.PLAIN)); @@ -3100,7 +3101,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi if (fontType == Font.PLAIN) return myPlainFontMetrics; if (fontType == Font.BOLD) return myBoldFontMetrics; if (fontType == Font.ITALIC) return myItalicFontMetrics; - if (fontType == Font.BOLD + Font.ITALIC) return myBoldItalicFontMetrics; + if (fontType == (Font.BOLD | Font.ITALIC)) return myBoldItalicFontMetrics; LOG.error("Unknown font type: " + fontType); @@ -4250,7 +4251,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi @NonNls private static final String APPLE_LAF_AQUA_SCROLL_BAR_UI_CLASS = "apple.laf.AquaScrollBarUI"; private ScrollBarUI myPersistentUI; - private MyScrollBar(int orientation) { + private MyScrollBar(@JdkConstants.AdjustableOrientation int orientation) { super(orientation); } @@ -5402,7 +5403,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi Font plainFont = new Font(editorFontName, Font.PLAIN, editorFontSize); Font boldFont = new Font(editorFontName, Font.BOLD, editorFontSize); Font italicFont = new Font(editorFontName, Font.ITALIC, editorFontSize); - Font boldItalicFont = new Font(editorFontName, Font.BOLD + Font.ITALIC, editorFontSize); + Font boldItalicFont = new Font(editorFontName, Font.BOLD | Font.ITALIC, editorFontSize); myFontsMap.put(EditorFontType.PLAIN, plainFont); myFontsMap.put(EditorFontType.BOLD, boldFont); diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorTextRepresentationHelper.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorTextRepresentationHelper.java index 0633fcb82021..ce176bc67766 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorTextRepresentationHelper.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorTextRepresentationHelper.java @@ -15,6 +15,7 @@ */ package com.intellij.openapi.editor.impl; +import com.intellij.openapi.editor.markup.TextAttributes; import org.jetbrains.annotations.NotNull; /** @@ -58,7 +59,7 @@ public interface EditorTextRepresentationHelper { * @param x 'x' offset from the visual line start * @return width in pixels necessary for the target text sub-sequence representation */ - int textWidth(@NotNull CharSequence text, int start, int end, int fontType, int x); + int textWidth(@NotNull CharSequence text, int start, int end, @TextAttributes.FontStyle int fontType, int x); /** * This is specification of {@link #textWidth(CharSequence, int, int, int, int)} in case of the single character @@ -70,5 +71,5 @@ public interface EditorTextRepresentationHelper { * @param fontType font type used for the given char representation * @return width in pixels necessary for the target char representation */ - int charWidth(char c, int fontType); + int charWidth(char c, @TextAttributes.FontStyle int fontType); } diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/FontInfo.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/FontInfo.java index 8b612758e410..69d874014831 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/FontInfo.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/FontInfo.java @@ -15,6 +15,7 @@ */ package com.intellij.openapi.editor.impl; +import com.intellij.openapi.editor.markup.TextAttributes; import gnu.trove.TIntHashSet; import javax.swing.*; @@ -27,12 +28,12 @@ public class FontInfo { private final String myFamilyName; private final Font myFont; private final int mySize; - private final int myStyle; + @TextAttributes.FontStyle private final int myStyle; private final TIntHashSet mySafeCharacters = new TIntHashSet(); private FontMetrics myFontMetrics = null; private final int[] charWidth = new int[128]; - public FontInfo(final String familyName, final int size, final int style) { + public FontInfo(final String familyName, final int size, @TextAttributes.FontStyle int style) { myFamilyName = familyName; mySize = size; myStyle = style; @@ -79,6 +80,7 @@ public class FontInfo { return mySize; } + @TextAttributes.FontStyle public int getStyle() { return myStyle; } diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/softwrap/mapping/SoftWrapApplianceManager.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/softwrap/mapping/SoftWrapApplianceManager.java index cb7e9f51571f..03926b35682f 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/softwrap/mapping/SoftWrapApplianceManager.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/softwrap/mapping/SoftWrapApplianceManager.java @@ -1113,6 +1113,7 @@ public class SoftWrapApplianceManager implements SoftWrapFoldingListener, Docume public int rangeEndOffset; public int tokenStartOffset; public int tokenEndOffset; + @TextAttributes.FontStyle public int fontType; public boolean notifyListenersOnLineStartPosition; public boolean skipToLineEnd; @@ -1139,7 +1140,7 @@ public class SoftWrapApplianceManager implements SoftWrapFoldingListener, Docume return getSpaceWidth(fontType); } - public int getSpaceWidth(int fontType) { + public int getSpaceWidth(@TextAttributes.FontStyle int fontType) { int result = fontType2spaceWidth.get(fontType); if (result <= 0) { result = EditorUtil.getSpaceWidth(fontType, myEditor); diff --git a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/MacOSDefaultKeymap.java b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/MacOSDefaultKeymap.java index 5955480be451..373794a0901c 100644 --- a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/MacOSDefaultKeymap.java +++ b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/MacOSDefaultKeymap.java @@ -18,6 +18,7 @@ package com.intellij.openapi.keymap.impl; import com.intellij.openapi.actionSystem.KeyboardShortcut; import com.intellij.openapi.actionSystem.MouseShortcut; import com.intellij.openapi.actionSystem.Shortcut; +import org.intellij.lang.annotations.JdkConstants; import javax.swing.*; import java.awt.event.InputEvent; @@ -66,7 +67,8 @@ public class MacOSDefaultKeymap extends DefaultKeymapImpl { macShortcut.getClickCount()); } - private static int mapModifiers(int modifiers) { + @JdkConstants.InputEventMask + private static int mapModifiers(@JdkConstants.InputEventMask int modifiers) { boolean meta = false; if ((modifiers & InputEvent.META_MASK) != 0) { diff --git a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/MouseShortcutDialog.java b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/MouseShortcutDialog.java index b11f2fef2886..ed6af986372e 100644 --- a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/MouseShortcutDialog.java +++ b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/MouseShortcutDialog.java @@ -25,6 +25,7 @@ import com.intellij.openapi.util.IconLoader; import com.intellij.ui.IdeBorderFactory; import com.intellij.ui.ScrollPaneFactory; import com.intellij.util.ui.UIUtil; +import org.intellij.lang.annotations.JdkConstants; import org.jetbrains.annotations.NotNull; import javax.swing.*; @@ -46,7 +47,7 @@ class MouseShortcutDialog extends DialogWrapper{ private final JTextArea myTarConflicts; private int myButton; - private int myModifiers; + @JdkConstants.InputEventMask private int myModifiers; /** * @param shortcut dialog will be initialized with this shortcut. It can be null diff --git a/platform/platform-impl/src/com/intellij/openapi/ui/playback/commands/TypeCommand.java b/platform/platform-impl/src/com/intellij/openapi/ui/playback/commands/TypeCommand.java index f8c10df2cea6..535d7c9c06a6 100644 --- a/platform/platform-impl/src/com/intellij/openapi/ui/playback/commands/TypeCommand.java +++ b/platform/platform-impl/src/com/intellij/openapi/ui/playback/commands/TypeCommand.java @@ -15,8 +15,8 @@ */ package com.intellij.openapi.ui.playback.commands; -import com.intellij.openapi.ui.playback.commands.KeyStokeMap; import com.intellij.openapi.util.registry.Registry; +import org.intellij.lang.annotations.JdkConstants; import javax.swing.*; import java.awt.*; @@ -28,9 +28,9 @@ public abstract class TypeCommand extends AbstractCommand { public TypeCommand(String text, int line) { super(text, line); - } + } - protected void type(Robot robot, int code, int modfiers) { + protected void type(Robot robot, int code, @JdkConstants.InputEventMask int modfiers) { type(robot, KeyStroke.getKeyStroke(code, modfiers)); } diff --git a/platform/platform-impl/src/com/intellij/ui/ResizeComponentListener.java b/platform/platform-impl/src/com/intellij/ui/ResizeComponentListener.java index dfe5a8207f35..836752aae880 100644 --- a/platform/platform-impl/src/com/intellij/ui/ResizeComponentListener.java +++ b/platform/platform-impl/src/com/intellij/ui/ResizeComponentListener.java @@ -19,6 +19,7 @@ package com.intellij.ui; import com.intellij.openapi.wm.IdeGlassPane; import com.intellij.ui.awt.RelativePoint; import com.intellij.ui.popup.AbstractPopup; +import org.intellij.lang.annotations.JdkConstants; import javax.swing.*; import java.awt.*; @@ -35,7 +36,7 @@ public class ResizeComponentListener extends MouseAdapter implements MouseMotion private final AbstractPopup myPopup; private final AbstractPopup.MyContentPanel myComponent; private Point myStartPoint = null; - private int myDirection = -1; + @JdkConstants.CursorType private int myDirection = -1; private IdeGlassPane myGlassPane; public ResizeComponentListener(final AbstractPopup popup, IdeGlassPane glassPane) { @@ -181,7 +182,7 @@ public class ResizeComponentListener extends MouseAdapter implements MouseMotion } } - private void setWindowCursor(final int cursor) { + private void setWindowCursor(@JdkConstants.CursorType int cursor) { myGlassPane.setCursor(Cursor.getPredefinedCursor(cursor), this); } @@ -212,6 +213,7 @@ public class ResizeComponentListener extends MouseAdapter implements MouseMotion } } + @JdkConstants.CursorType private int getDirection(Point startPoint, Rectangle bounds){ if (myPopup.isToDrawMacCorner()){ if (bounds.x + bounds.width - startPoint.x < 16 && //inside icon diff --git a/platform/platform-impl/src/com/intellij/ui/popup/WizardPopup.java b/platform/platform-impl/src/com/intellij/ui/popup/WizardPopup.java index d1622f1e6eca..2e31bc563db3 100644 --- a/platform/platform-impl/src/com/intellij/ui/popup/WizardPopup.java +++ b/platform/platform-impl/src/com/intellij/ui/popup/WizardPopup.java @@ -16,7 +16,6 @@ package com.intellij.ui.popup; import com.intellij.ide.DataManager; -import com.intellij.openapi.actionSystem.DataProvider; import com.intellij.openapi.actionSystem.PlatformDataKeys; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; @@ -32,6 +31,7 @@ import com.intellij.ui.popup.util.MnemonicsSearch; import com.intellij.ui.speedSearch.ElementFilter; import com.intellij.ui.speedSearch.SpeedSearch; import com.intellij.util.ui.UIUtil; +import org.intellij.lang.annotations.JdkConstants; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -250,7 +250,7 @@ public abstract class WizardPopup extends AbstractPopup implements ActionListene } } - public final void registerAction(@NonNls String aActionName, int aKeyCode, int aModifier, Action aAction) { + public final void registerAction(@NonNls String aActionName, int aKeyCode, @JdkConstants.InputEventMask int aModifier, Action aAction) { myInputMap.put(KeyStroke.getKeyStroke(aKeyCode, aModifier), aActionName); myActionMap.put(aActionName, aAction); } diff --git a/platform/testFramework/src/com/intellij/idea/Bombed.java b/platform/testFramework/src/com/intellij/idea/Bombed.java index 2f63df69ff90..7556f928d857 100644 --- a/platform/testFramework/src/com/intellij/idea/Bombed.java +++ b/platform/testFramework/src/com/intellij/idea/Bombed.java @@ -15,6 +15,8 @@ */ package com.intellij.idea; +import org.intellij.lang.annotations.JdkConstants; + import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -24,7 +26,7 @@ import java.lang.annotation.Target; @Target({ElementType.TYPE, ElementType.METHOD}) public @interface Bombed { int year() default 2012; - int month(); + @JdkConstants.CalendarMonth int month(); int day(); int time() default 0; String user() default "unknown, or, rather, Max"; diff --git a/platform/util/src/com/intellij/util/ui/ScrollUtil.java b/platform/util/src/com/intellij/util/ui/ScrollUtil.java index 790a2b9dc692..8d17612ca34e 100644 --- a/platform/util/src/com/intellij/util/ui/ScrollUtil.java +++ b/platform/util/src/com/intellij/util/ui/ScrollUtil.java @@ -16,6 +16,7 @@ package com.intellij.util.ui; +import org.intellij.lang.annotations.JdkConstants; import org.jetbrains.annotations.Nullable; import javax.swing.*; @@ -45,7 +46,7 @@ public class ScrollUtil { } @Nullable - private static JScrollBar findScrollBar(JComponent c, int orientation) { + private static JScrollBar findScrollBar(JComponent c, @JdkConstants.AdjustableOrientation int orientation) { if (c == null) return null; if (c instanceof JScrollBar && ((JScrollBar)c).getOrientation() == orientation) { return (JScrollBar)c; diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangesViewManager.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangesViewManager.java index 261041040983..64e673d64c7a 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangesViewManager.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangesViewManager.java @@ -51,6 +51,7 @@ import com.intellij.util.PlatformIcons; import com.intellij.util.messages.MessageBusConnection; import com.intellij.util.ui.UIUtil; import com.intellij.util.ui.tree.TreeUtil; +import org.intellij.lang.annotations.JdkConstants; import org.jdom.Element; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -64,8 +65,6 @@ import javax.swing.tree.TreePath; import java.awt.*; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; -import java.io.PrintWriter; -import java.io.StringWriter; import java.util.Collection; import java.util.Collections; import java.util.List; @@ -317,7 +316,8 @@ public class ChangesViewManager implements ChangesViewI, JDOMExternalizable, Pro mySplitter.repaint(); } - private int ctrlMask() { + @JdkConstants.InputEventMask + private static int ctrlMask() { return SystemInfo.isMac ? InputEvent.META_DOWN_MASK : InputEvent.CTRL_DOWN_MASK; } diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangeNodeDecorator.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangeNodeDecorator.java index bd0a3102232b..27240f73cf45 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangeNodeDecorator.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangeNodeDecorator.java @@ -21,7 +21,6 @@ import com.intellij.ui.SimpleColoredComponent; import com.intellij.ui.SimpleTextAttributes; import org.jetbrains.annotations.Nullable; -import java.awt.*; import java.util.List; public interface ChangeNodeDecorator { @@ -32,14 +31,15 @@ public interface ChangeNodeDecorator { void preDecorate(Change change, ChangesBrowserNodeRenderer renderer, boolean showFlatten); enum Stress { - BOLD(Font.BOLD), - ITALIC(Font.ITALIC), - BOLD_ITALIC(Font.BOLD | Font.ITALIC), - PLAIN(Font.PLAIN); + BOLD(SimpleTextAttributes.STYLE_BOLD), + ITALIC(SimpleTextAttributes.STYLE_ITALIC), + BOLD_ITALIC(SimpleTextAttributes.STYLE_BOLD | SimpleTextAttributes.STYLE_ITALIC), + PLAIN(SimpleTextAttributes.STYLE_PLAIN); + @SimpleTextAttributes.StyleAttributeConstant private final int myFontStyle; - private Stress(int fontStyle) { + private Stress(@SimpleTextAttributes.StyleAttributeConstant int fontStyle) { myFontStyle = fontStyle; } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/quick/common/AbstractValueHint.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/quick/common/AbstractValueHint.java index 58e5c49bf25e..bbd8c0a1b0cf 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/quick/common/AbstractValueHint.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/quick/common/AbstractValueHint.java @@ -32,6 +32,7 @@ import com.intellij.openapi.util.TextRange; import com.intellij.ui.*; import com.intellij.ui.awt.RelativePoint; import com.intellij.ui.treeStructure.Tree; +import org.intellij.lang.annotations.JdkConstants; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -326,7 +327,7 @@ public abstract class AbstractValueHint { }; } - private static boolean isAltMask(int modifiers) { + private static boolean isAltMask(@JdkConstants.InputEventMask int modifiers) { return modifiers == InputEvent.ALT_MASK; } diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/classlayout/PublicConstructorInNonPublicClassInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/classlayout/PublicConstructorInNonPublicClassInspection.java index 9bd88199ebd1..4a19a15d5821 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/classlayout/PublicConstructorInNonPublicClassInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/classlayout/PublicConstructorInNonPublicClassInspection.java @@ -69,9 +69,9 @@ public class PublicConstructorInNonPublicClassInspection private static class SetConstructorModifierFix extends InspectionGadgetsFix { - @Modifier private final String modifier; + @PsiModifier.ModifierConstant private final String modifier; - SetConstructorModifierFix(@Modifier String modifier) { + SetConstructorModifierFix(@PsiModifier.ModifierConstant String modifier) { this.modifier = modifier; } diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/fixes/ChangeModifierFix.java b/plugins/InspectionGadgets/src/com/siyeh/ig/fixes/ChangeModifierFix.java index d782e70d34cf..d5ec08723a57 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/fixes/ChangeModifierFix.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/fixes/ChangeModifierFix.java @@ -17,10 +17,7 @@ package com.siyeh.ig.fixes; import com.intellij.codeInspection.ProblemDescriptor; import com.intellij.openapi.project.Project; -import com.intellij.psi.Modifier; -import com.intellij.psi.PsiElement; -import com.intellij.psi.PsiModifierList; -import com.intellij.psi.PsiModifierListOwner; +import com.intellij.psi.*; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.util.IncorrectOperationException; import com.siyeh.InspectionGadgetsBundle; @@ -30,9 +27,9 @@ import org.jetbrains.annotations.NotNull; public class ChangeModifierFix extends InspectionGadgetsFix { - @Modifier private final String modifierText; + @PsiModifier.ModifierConstant private final String modifierText; - public ChangeModifierFix(@NonNls @Modifier String modifierText) { + public ChangeModifierFix(@NonNls @PsiModifier.ModifierConstant String modifierText) { this.modifierText = modifierText; } diff --git a/plugins/android/src/org/jetbrains/android/logcat/AndroidConfiguredLogFilters.java b/plugins/android/src/org/jetbrains/android/logcat/AndroidConfiguredLogFilters.java index 44f693d44e56..8c4cc5093592 100644 --- a/plugins/android/src/org/jetbrains/android/logcat/AndroidConfiguredLogFilters.java +++ b/plugins/android/src/org/jetbrains/android/logcat/AndroidConfiguredLogFilters.java @@ -8,6 +8,7 @@ import com.intellij.openapi.project.Project; import com.intellij.util.xmlb.XmlSerializerUtil; import com.intellij.util.xmlb.annotations.AbstractCollection; import com.intellij.util.xmlb.annotations.Tag; +import org.intellij.lang.annotations.JdkConstants; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -61,6 +62,7 @@ public class AndroidConfiguredLogFilters implements PersistentStateComponent errorCallback) { super(new BorderLayout()); myProject = project; diff --git a/plugins/cvs/cvs-plugin/src/com/intellij/cvsSupport2/ui/experts/SelectCvsElementStep.java b/plugins/cvs/cvs-plugin/src/com/intellij/cvsSupport2/ui/experts/SelectCvsElementStep.java index 80251ee48140..995106a79b83 100644 --- a/plugins/cvs/cvs-plugin/src/com/intellij/cvsSupport2/ui/experts/SelectCvsElementStep.java +++ b/plugins/cvs/cvs-plugin/src/com/intellij/cvsSupport2/ui/experts/SelectCvsElementStep.java @@ -29,6 +29,7 @@ import com.intellij.openapi.ui.Messages; import com.intellij.openapi.util.Ref; import com.intellij.openapi.vcs.VcsException; import com.intellij.util.Consumer; +import org.intellij.lang.annotations.JdkConstants; import org.jetbrains.annotations.Nullable; import javax.swing.*; @@ -44,7 +45,7 @@ public class SelectCvsElementStep extends WizardStep { private final SelectCVSConfigurationStep mySelectCVSConfigurationStep; private final Project myProject; private final boolean myShowFiles; - private final int mySelectionMode; + @JdkConstants.TreeSelectionMode private final int mySelectionMode; private final boolean myAllowRootSelection; private final boolean myShowModules; private final Ref myErrors = new Ref(); @@ -53,7 +54,7 @@ public class SelectCvsElementStep extends WizardStep { Project project, SelectCVSConfigurationStep selectCVSConfigurationStep, boolean allowRootSelection, - int selectionMode, + @JdkConstants.TreeSelectionMode int selectionMode, boolean showModules, boolean showFiles) { super(title, wizard); diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/bugs/GroovyAccessibilityInspection.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/bugs/GroovyAccessibilityInspection.java index ee573ff774aa..c07a8e35ea11 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/bugs/GroovyAccessibilityInspection.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/bugs/GroovyAccessibilityInspection.java @@ -101,7 +101,7 @@ public class GroovyAccessibilityInspection extends BaseInspection { JavaPsiFacade facade = JavaPsiFacade.getInstance(project); PsiModifierList modifierListCopy = facade.getElementFactory().createFieldFromText("int a;", null).getModifierList(); modifierListCopy.setModifierProperty(PsiModifier.STATIC, modifierList.hasModifierProperty(PsiModifier.STATIC)); - @Modifier String minModifier = PsiModifier.PROTECTED; + String minModifier = PsiModifier.PROTECTED; if (refElement.hasModifierProperty(PsiModifier.PROTECTED)) { minModifier = PsiModifier.PUBLIC; } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/changeSignature/GrChangeInfoImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/changeSignature/GrChangeInfoImpl.java index e296a8f89633..7c906d1db35e 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/changeSignature/GrChangeInfoImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/changeSignature/GrChangeInfoImpl.java @@ -203,7 +203,6 @@ public class GrChangeInfoImpl implements JavaChangeInfo { return parameters.toArray(new GrParameterInfo[parameters.size()]); } - @Modifier public String getNewVisibility() { return visibilityModifier; } diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/changeSignature/ChangeSignatureForJavaTest.java b/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/changeSignature/ChangeSignatureForJavaTest.java index 86f6aac1815b..01598ec9a894 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/changeSignature/ChangeSignatureForJavaTest.java +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/changeSignature/ChangeSignatureForJavaTest.java @@ -223,7 +223,7 @@ public class ChangeSignatureForJavaTest extends LightCodeInsightFixtureTestCase doTest(null, null, newReturnType, parameterInfos, new ThrownExceptionInfo[0], generateDelegate); } - private void doTest(String newVisibility, + private void doTest(@PsiModifier.ModifierConstant String newVisibility, String newName, String newReturnType, ParameterInfoImpl[] parameterInfo, @@ -232,11 +232,11 @@ public class ChangeSignatureForJavaTest extends LightCodeInsightFixtureTestCase doTest(newVisibility, newName, newReturnType, new SimpleParameterGen(parameterInfo), new SimpleExceptionsGen(exceptionInfo), generateDelegate); } - private void doTest(String newVisibility, String newName, @NonNls String newReturnType, GenParams gen, final boolean generateDelegate) throws Exception { + private void doTest(@PsiModifier.ModifierConstant String newVisibility, String newName, @NonNls String newReturnType, GenParams gen, final boolean generateDelegate) throws Exception { doTest(newVisibility, newName, newReturnType, gen, new SimpleExceptionsGen(), generateDelegate); } - private void doTest(String newVisibility, String newName, String newReturnType, GenParams genParams, GenExceptions genExceptions, final boolean generateDelegate) throws Exception { + private void doTest(@PsiModifier.ModifierConstant String newVisibility, String newName, String newReturnType, GenParams genParams, GenExceptions genExceptions, final boolean generateDelegate) throws Exception { myFixture.configureByFile(getTestName(false) +".groovy"); myFixture.configureByFile(getTestName(false) + ".java"); final PsiElement targetElement = TargetElementUtilBase.findTargetElement(myFixture.getEditor(), TargetElementUtilBase.ELEMENT_NAME_ACCEPTED); diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/changeSignature/ChangeSignatureTest.java b/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/changeSignature/ChangeSignatureTest.java index 53bc6fc6234d..3682553005cb 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/changeSignature/ChangeSignatureTest.java +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/changeSignature/ChangeSignatureTest.java @@ -91,7 +91,7 @@ public class ChangeSignatureTest extends ChangeSignatureTestCase { } public void testChangeVisibilityAndName() throws Exception { - doTest("protected", "newName", null, new SimpleInfo[]{new SimpleInfo(0)}, new ThrownExceptionInfo[0], false); + doTest(PsiModifier.PROTECTED, "newName", null, new SimpleInfo[]{new SimpleInfo(0)}, new ThrownExceptionInfo[0], false); } public void testImplicitConstructorInConstructor() throws Exception { @@ -112,7 +112,7 @@ public class ChangeSignatureTest extends ChangeSignatureTestCase { } public void testOverriders() throws Exception { - doTest("public", "bar", null, new SimpleInfo[]{new SimpleInfo(0)}, new ThrownExceptionInfo[0], false); + doTest(PsiModifier.PUBLIC, "bar", null, new SimpleInfo[]{new SimpleInfo(0)}, new ThrownExceptionInfo[0], false); } public void testParameterRename() throws Exception { @@ -140,7 +140,7 @@ public class ChangeSignatureTest extends ChangeSignatureTestCase { } public void testAddException() throws Exception { - doTest("public", null, "", + doTest(PsiModifier.PUBLIC, null, "", new SimpleInfo[]{new SimpleInfo(0)}, new ThrownExceptionInfo[]{new JavaThrownExceptionInfo(-1, (PsiClassType)createType("java.io.IOException"))}, false @@ -148,7 +148,7 @@ public class ChangeSignatureTest extends ChangeSignatureTestCase { } public void testExceptionCaughtInUsage() throws Exception { - doTest("public", null, "", + doTest(PsiModifier.PUBLIC, null, "", new SimpleInfo[]{new SimpleInfo(0)}, new ThrownExceptionInfo[]{new JavaThrownExceptionInfo(-1, (PsiClassType)createType("java.io.IOException"))}, false @@ -156,7 +156,7 @@ public class ChangeSignatureTest extends ChangeSignatureTestCase { } public void testExceptionInClosableBlock() throws Exception { - doTest("public", null, "", + doTest(PsiModifier.PUBLIC, null, "", new SimpleInfo[]{new SimpleInfo(0)}, new ThrownExceptionInfo[]{new JavaThrownExceptionInfo(-1, (PsiClassType)createType("java.io.IOException"))}, false @@ -164,12 +164,12 @@ public class ChangeSignatureTest extends ChangeSignatureTestCase { } public void testGenerateDelegateForConstructor() throws Exception { - doTest("public", "Foo", null, new SimpleInfo[]{new SimpleInfo(0), new SimpleInfo("a", -1, "5", null, PsiType.INT)}, + doTest(PsiModifier.PUBLIC, "Foo", null, new SimpleInfo[]{new SimpleInfo(0), new SimpleInfo("a", -1, "5", null, PsiType.INT)}, new ThrownExceptionInfo[0], true); } public void testGenerateDelegateForAbstract() throws Exception { - doTest("public", "foo", null, new SimpleInfo[]{new SimpleInfo(0), new SimpleInfo("a", -1, "5", null, PsiType.INT)}, + doTest(PsiModifier.PUBLIC, "foo", null, new SimpleInfo[]{new SimpleInfo(0), new SimpleInfo("a", -1, "5", null, PsiType.INT)}, new ThrownExceptionInfo[0], true); } @@ -231,18 +231,18 @@ public class ChangeSignatureTest extends ChangeSignatureTestCase { private void doTest(SimpleInfo... parameterInfos) { - doTest("public", null, null, parameterInfos, new ThrownExceptionInfo[0], false); + doTest(PsiModifier.PUBLIC, null, null, parameterInfos, new ThrownExceptionInfo[0], false); } private void doTest(String newReturnType, SimpleInfo[] parameterInfos) { - doTest("public", null, newReturnType, parameterInfos, new ThrownExceptionInfo[0], false); + doTest(PsiModifier.PUBLIC, null, newReturnType, parameterInfos, new ThrownExceptionInfo[0], false); } private void doTest(String newReturnType, SimpleInfo[] parameterInfos, final boolean generateDelegate) { - doTest("public", null, newReturnType, parameterInfos, new ThrownExceptionInfo[0], generateDelegate); + doTest(PsiModifier.PUBLIC, null, newReturnType, parameterInfos, new ThrownExceptionInfo[0], generateDelegate); } - private void doTest(String newVisibility, + private void doTest(@PsiModifier.ModifierConstant String newVisibility, @Nullable String newName, @Nullable String newReturnType, SimpleInfo[] parameterInfo, diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/changeSignature/ChangeSignatureTestCase.java b/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/changeSignature/ChangeSignatureTestCase.java index 9958dc36495a..cef8e5d13849 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/changeSignature/ChangeSignatureTestCase.java +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/changeSignature/ChangeSignatureTestCase.java @@ -32,7 +32,7 @@ import java.util.Arrays; * @author Maxim.Medvedev */ public abstract class ChangeSignatureTestCase extends LightCodeInsightFixtureTestCase { - void executeRefactoring(String newVisibility, + void executeRefactoring(@PsiModifier.ModifierConstant String newVisibility, String newName, String newReturnType, GenParams genParams, diff --git a/plugins/ui-designer/src/com/intellij/uiDesigner/designSurface/Painter.java b/plugins/ui-designer/src/com/intellij/uiDesigner/designSurface/Painter.java index a2026af6fe0d..fef54a451997 100644 --- a/plugins/ui-designer/src/com/intellij/uiDesigner/designSurface/Painter.java +++ b/plugins/ui-designer/src/com/intellij/uiDesigner/designSurface/Painter.java @@ -23,6 +23,7 @@ import com.intellij.uiDesigner.lw.IProperty; import com.intellij.uiDesigner.lw.StringDescriptor; import com.intellij.uiDesigner.radComponents.*; import com.intellij.uiDesigner.shared.BorderType; +import org.intellij.lang.annotations.JdkConstants; import org.jetbrains.annotations.NotNull; import javax.swing.*; @@ -301,6 +302,7 @@ public final class Painter { return x >= r.x - R && x <= r.x + R && y >= r.y - R && y <= r.y + R; } + @JdkConstants.CursorType public static int getResizeCursor(final int resizeMask){ if (resizeMask == (WEST_MASK | NORTH_MASK)) { return Cursor.NW_RESIZE_CURSOR; diff --git a/plugins/ui-designer/src/com/intellij/uiDesigner/quickFixes/CreateFieldFix.java b/plugins/ui-designer/src/com/intellij/uiDesigner/quickFixes/CreateFieldFix.java index 722af9b0acaa..758065c943fe 100644 --- a/plugins/ui-designer/src/com/intellij/uiDesigner/quickFixes/CreateFieldFix.java +++ b/plugins/ui-designer/src/com/intellij/uiDesigner/quickFixes/CreateFieldFix.java @@ -131,8 +131,8 @@ public final class CreateFieldFix extends QuickFix{ final String accessibility = GuiDesignerConfiguration.getInstance(project).DEFAULT_FIELD_ACCESSIBILITY; final PsiModifierList modifierList = field.getModifierList(); assert modifierList != null; - String[] modifiers = new String[]{PsiModifier.PRIVATE, PsiModifier.PROTECTED, PsiModifier.PUBLIC}; - for(@Modifier String modifier: modifiers) { + String[] modifiers = {PsiModifier.PRIVATE, PsiModifier.PROTECTED, PsiModifier.PUBLIC}; + for(@PsiModifier.ModifierConstant String modifier: modifiers) { modifierList.setModifierProperty(modifier, accessibility.equals(modifier)); } PsiField lastUiField = null; diff --git a/plugins/ui-designer/src/com/intellij/uiDesigner/radComponents/FlowDropLocation.java b/plugins/ui-designer/src/com/intellij/uiDesigner/radComponents/FlowDropLocation.java index 375f4916da60..19311166481e 100644 --- a/plugins/ui-designer/src/com/intellij/uiDesigner/radComponents/FlowDropLocation.java +++ b/plugins/ui-designer/src/com/intellij/uiDesigner/radComponents/FlowDropLocation.java @@ -18,6 +18,7 @@ package com.intellij.uiDesigner.radComponents; import com.intellij.uiDesigner.core.GridConstraints; import com.intellij.uiDesigner.designSurface.*; +import org.intellij.lang.annotations.JdkConstants; import org.jetbrains.annotations.Nullable; import javax.swing.*; @@ -34,7 +35,7 @@ public class FlowDropLocation implements ComponentDropLocation { private final int myHGap; private final int myVGap; - public FlowDropLocation(RadContainer container, Point location, int alignment, int hGap, int vGap) { + public FlowDropLocation(RadContainer container, Point location, @JdkConstants.FlowLayoutAlignment int alignment, int hGap, int vGap) { myContainer = container; myAlignment = alignment; myHGap = hGap; diff --git a/xml/dom-openapi/src/com/intellij/util/xml/tree/AbstractDomElementNode.java b/xml/dom-openapi/src/com/intellij/util/xml/tree/AbstractDomElementNode.java index f629d2ec661c..e2c00c5cdd7d 100644 --- a/xml/dom-openapi/src/com/intellij/util/xml/tree/AbstractDomElementNode.java +++ b/xml/dom-openapi/src/com/intellij/util/xml/tree/AbstractDomElementNode.java @@ -87,11 +87,11 @@ abstract public class AbstractDomElementNode extends SimpleNode { } - protected SimpleTextAttributes getSimpleAttributes(final int style) { + protected SimpleTextAttributes getSimpleAttributes(@SimpleTextAttributes.StyleAttributeConstant final int style) { return new SimpleTextAttributes(style, SimpleTextAttributes.REGULAR_ATTRIBUTES.getFgColor()); } - protected SimpleTextAttributes getWavedAttributes(final int style) { + protected SimpleTextAttributes getWavedAttributes(@SimpleTextAttributes.StyleAttributeConstant int style) { return new SimpleTextAttributes(style | SimpleTextAttributes.STYLE_WAVED, SimpleTextAttributes.REGULAR_ATTRIBUTES.getFgColor(), SimpleTextAttributes.ERROR_ATTRIBUTES.getFgColor()); } public boolean isExpanded() {