some methods annotated by MagicConstant annotations
authorAlexey Kudravtsev <cdr@intellij.com>
Thu, 12 Jan 2012 12:36:35 +0000 (16:36 +0400)
committerAlexey Kudravtsev <cdr@intellij.com>
Thu, 12 Jan 2012 12:41:33 +0000 (16:41 +0400)
118 files changed:
java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java
java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateFromUsageBaseFix.java
java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MethodReturnTypeFix.java
java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ModifierFix.java
java/java-impl/src/com/intellij/codeInsight/generation/GenerateConstructorHandler.java
java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java
java/java-impl/src/com/intellij/codeInspection/visibility/VisibilityInspection.java
java/java-impl/src/com/intellij/ide/JavaFileIconPatcher.java
java/java-impl/src/com/intellij/ide/util/MethodCellRenderer.java
java/java-impl/src/com/intellij/psi/formatter/java/JavaSpacePropertyProcessor.java
java/java-impl/src/com/intellij/refactoring/changeSignature/ChangeSignatureProcessor.java
java/java-impl/src/com/intellij/refactoring/changeSignature/DetectedJavaChangeInfo.java
java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeInfo.java
java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeInfoImpl.java
java/java-impl/src/com/intellij/refactoring/encapsulateFields/EncapsulateFieldsDescriptor.java
java/java-impl/src/com/intellij/refactoring/encapsulateFields/EncapsulateFieldsDialog.java
java/java-impl/src/com/intellij/refactoring/extractMethod/AbstractExtractDialog.java
java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodProcessor.java
java/java-impl/src/com/intellij/refactoring/inheritanceToDelegation/InheritanceToDelegationProcessor.java
java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldDialog.java
java/java-impl/src/com/intellij/refactoring/replaceConstructorWithFactory/ReplaceConstructorWithFactoryProcessor.java
java/java-impl/src/com/intellij/refactoring/util/RefactoringConflictsUtil.java
java/java-psi-api/src/com/intellij/psi/Modifier.java [deleted file]
java/java-psi-api/src/com/intellij/psi/PsiModifier.java
java/java-psi-api/src/com/intellij/psi/PsiModifierList.java
java/java-psi-api/src/com/intellij/psi/PsiModifierListOwner.java
java/java-psi-api/src/com/intellij/psi/codeStyle/JavaCodeStyleManager.java
java/java-psi-api/src/com/intellij/psi/infos/MethodCandidateInfo.java
java/java-psi-api/src/com/intellij/psi/util/PsiUtil.java
java/java-psi-impl/src/com/intellij/psi/filters/element/ModifierFilter.java
java/java-psi-impl/src/com/intellij/psi/scope/conflictResolvers/JavaMethodsConflictResolver.java
java/java-tests/testSrc/com/intellij/refactoring/ChangeSignatureTest.java
java/openapi/src/com/intellij/codeInsight/intention/QuickFixFactory.java
java/openapi/src/com/intellij/codeInspection/reference/RefJavaElement.java
java/openapi/src/com/intellij/ide/IconUtilEx.java
java/openapi/src/com/intellij/psi/JavaCodeFragmentFactory.java
java/openapi/src/com/intellij/psi/util/PsiMatchers.java
java/openapi/src/com/intellij/util/VisibilityUtil.java
platform/core-api/src/com/intellij/ide/FileIconPatcher.java
platform/core-api/src/com/intellij/ide/FileIconProvider.java
platform/core-api/src/com/intellij/ide/IconProvider.java
platform/core-api/src/com/intellij/openapi/util/Iconable.java
platform/core-api/src/com/intellij/psi/impl/ElementBase.java
platform/core-api/src/com/intellij/util/FileIconKey.java
platform/core-api/src/com/intellij/util/IconUtil.java
platform/core-api/src/com/intellij/util/PsiIconUtil.java
platform/lang-api/src/com/intellij/codeInsight/highlighting/HighlightManager.java
platform/lang-api/src/com/intellij/psi/codeStyle/CommonCodeStyleSettings.java
platform/lang-impl/src/com/intellij/application/options/CodeCompletionPanel.java
platform/lang-impl/src/com/intellij/application/options/colors/ClickNavigator.java
platform/lang-impl/src/com/intellij/codeInsight/CodeInsightSettings.java
platform/lang-impl/src/com/intellij/codeInsight/highlighting/HighlightManagerImpl.java
platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupCellRenderer.java
platform/lang-impl/src/com/intellij/codeInsight/navigation/CtrlMouseHandler.java
platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/AbstractPsiBasedNode.java
platform/lang-impl/src/com/intellij/ide/util/PsiElementListCellRenderer.java
platform/lang-impl/src/com/intellij/openapi/module/impl/ModuleImpl.java
platform/lang-impl/src/com/intellij/openapi/module/impl/scopes/ModuleWithDependenciesScope.java
platform/lang-impl/src/com/intellij/refactoring/ui/AbstractMemberSelectionTable.java
platform/platform-api/src/com/intellij/codeInsight/hint/HintManager.java
platform/platform-api/src/com/intellij/ide/GeneralSettings.java
platform/platform-api/src/com/intellij/openapi/actionSystem/AnAction.java
platform/platform-api/src/com/intellij/openapi/actionSystem/AnActionEvent.java
platform/platform-api/src/com/intellij/openapi/actionSystem/MouseShortcut.java
platform/platform-api/src/com/intellij/openapi/editor/markup/AttributesFlyweight.java
platform/platform-api/src/com/intellij/openapi/editor/markup/TextAttributes.java
platform/platform-api/src/com/intellij/openapi/keymap/KeymapUtil.java
platform/platform-api/src/com/intellij/openapi/ui/DialogBuilder.java
platform/platform-api/src/com/intellij/openapi/ui/DialogWrapper.java
platform/platform-api/src/com/intellij/openapi/ui/SelectFromListDialog.java
platform/platform-api/src/com/intellij/openapi/ui/TreeComboBox.java
platform/platform-api/src/com/intellij/openapi/ui/VerticalFlowLayout.java
platform/platform-api/src/com/intellij/openapi/ui/popup/JBPopup.java
platform/platform-api/src/com/intellij/ui/CommandButtonGroup.java
platform/platform-api/src/com/intellij/ui/GuiUtils.java
platform/platform-api/src/com/intellij/ui/ListScrollingUtil.java
platform/platform-api/src/com/intellij/ui/SimpleTextAttributes.java
platform/platform-api/src/com/intellij/ui/TableScrollingUtil.java
platform/platform-api/src/com/intellij/ui/components/JBScrollBar.java
platform/platform-api/src/com/intellij/ui/switcher/QuickAccessSettings.java
platform/platform-api/src/com/intellij/ui/switcher/SwitchManager.java
platform/platform-api/src/com/intellij/ui/tabs/TabInfo.java
platform/platform-impl/src/com/intellij/codeInsight/hint/HintManagerImpl.java
platform/platform-impl/src/com/intellij/codeInsight/hint/HintUtil.java
platform/platform-impl/src/com/intellij/ide/actionMacro/ActionMacro.java
platform/platform-impl/src/com/intellij/ide/ui/search/SearchUtil.java
platform/platform-impl/src/com/intellij/openapi/editor/ex/EditorEx.java
platform/platform-impl/src/com/intellij/openapi/editor/ex/util/EditorUtil.java
platform/platform-impl/src/com/intellij/openapi/editor/impl/ComplementaryFontsRegistry.java
platform/platform-impl/src/com/intellij/openapi/editor/impl/DefaultEditorTextRepresentationHelper.java
platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java
platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorTextRepresentationHelper.java
platform/platform-impl/src/com/intellij/openapi/editor/impl/FontInfo.java
platform/platform-impl/src/com/intellij/openapi/editor/impl/softwrap/mapping/SoftWrapApplianceManager.java
platform/platform-impl/src/com/intellij/openapi/keymap/impl/MacOSDefaultKeymap.java
platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/MouseShortcutDialog.java
platform/platform-impl/src/com/intellij/openapi/ui/playback/commands/TypeCommand.java
platform/platform-impl/src/com/intellij/ui/ResizeComponentListener.java
platform/platform-impl/src/com/intellij/ui/popup/WizardPopup.java
platform/testFramework/src/com/intellij/idea/Bombed.java
platform/util/src/com/intellij/util/ui/ScrollUtil.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangesViewManager.java
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangeNodeDecorator.java
platform/xdebugger-impl/src/com/intellij/xdebugger/impl/evaluate/quick/common/AbstractValueHint.java
plugins/InspectionGadgets/src/com/siyeh/ig/classlayout/PublicConstructorInNonPublicClassInspection.java
plugins/InspectionGadgets/src/com/siyeh/ig/fixes/ChangeModifierFix.java
plugins/android/src/org/jetbrains/android/logcat/AndroidConfiguredLogFilters.java
plugins/cvs/cvs-plugin/src/com/intellij/cvsSupport2/cvsBrowser/CvsTree.java
plugins/cvs/cvs-plugin/src/com/intellij/cvsSupport2/ui/experts/SelectCvsElementStep.java
plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/bugs/GroovyAccessibilityInspection.java
plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/changeSignature/GrChangeInfoImpl.java
plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/changeSignature/ChangeSignatureForJavaTest.java
plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/changeSignature/ChangeSignatureTest.java
plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/changeSignature/ChangeSignatureTestCase.java
plugins/ui-designer/src/com/intellij/uiDesigner/designSurface/Painter.java
plugins/ui-designer/src/com/intellij/uiDesigner/quickFixes/CreateFieldFix.java
plugins/ui-designer/src/com/intellij/uiDesigner/radComponents/FlowDropLocation.java
xml/dom-openapi/src/com/intellij/util/xml/tree/AbstractDomElementNode.java

index 37347b2e2ae101811ff0d03f8dcd2a31514f39fe..1ac11d19ccafda0552a9ada2ac1c4a5c5cd10975 100644 (file)
@@ -1,4 +1,3 @@
-
 /*
  * Copyright 2000-2011 JetBrains s.r.o.
  *
@@ -232,7 +231,7 @@ public class HighlightUtil {
 
     Set<String> 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<String, Set<String>> incompatibleModifierMap = getIncompatibleModifierMap(modifierList);
     if (incompatibleModifierMap == null) return null;
     Set<String> 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";
index 8d5df91fbfbe1c1a0480e8ad1212b7c1fce165c5..b8743cc13044a93080554fa9d5bc275828a99b24 100644 (file)
@@ -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;
index db4d2ff3ee0d9a2c6a46117610ea7965071d7256..2abf3b82d1708ece43e1d806bade9c1708190dad 100644 (file)
@@ -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;
index a4126ac52098bd09ec6ef047c97321b1ff68ffa2..7afe3b275c2a4f8f5870a34cd97873370b79a3cc 100644 (file)
@@ -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<PsiVariable> 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;
index 91c3933a794c784cf5eae5996ce23b8607e0b589..f2eec3cbc0fa57c8485fd3b4ed7285e983edb4f7 100644 (file)
@@ -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;
index 2ad7eca581c8b3d69f711e6d44f4fd884779cca2..4157a722560fc98c95cab39b9928dcf02450e45d 100644 (file)
@@ -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());
index 78a850d04e7b1f6124868988166bf79d6542c3bb..d8028dee779faf7c936bf73bffe4700a9839eaed 100644 (file)
@@ -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;
     }
index 7299612ac640c528cb682f85efa1095cf16597c8..b7d9d56006cd458cb29cbc3efac39ccfedb278ad 100644 (file)
@@ -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;
index ad9f5ffda70eb227f0d398ab1b6d6c679e591417..72fcbda6979c4ca5835088a309fc75f167235841 100644 (file)
@@ -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<PsiMethod>{
   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<PsiMethod>{
     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;
   }
index dc15e06bb3577c79e6ba9ee0b4336e9254d88094..f27234ef9a5c1ab5ada2f5c72f46dd00d374f1a7 100644 (file)
@@ -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);
     }
index a125e7146ab318ac8d795dc61efbf5d2535cd3ee..1f9ec4d9b8943f15eec1a8333adf6091a852f389 100644 (file)
@@ -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,
index f33a4ca355bcdd1217f12d4a2dcd757772d36d6f..9755a46d10daa3ac5c0de6390402b5ddf719d446 100644 (file)
@@ -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,
index 2c64ba6949870510c6afa1f140a39186886b2f3e..6466f8302385adb9a7575acb1ea1cd9072dd03af 100644 (file)
@@ -38,7 +38,7 @@ public interface JavaChangeInfo extends ChangeInfo {
   @NotNull
   JavaParameterInfo[] getNewParameters();
 
-  @Modifier
+  @PsiModifier.ModifierConstant
   String getNewVisibility();
 
   @NotNull
index 71d79e106759ff7fa3267c3c00e024e52767064d..83948f951be626a1b3f710a73f3afd00599b96d4 100644 (file)
@@ -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;
   }
index edd0e3a9faf255d53c9e2b3b0457212f2472f0cf..8f1162e34bc050961752d41c0032d153f6ae4936 100644 (file)
@@ -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();
index 6a8011e49d98d177422aacb5916df44ce835d532..2b588a92e74eb3f68347dcf4ea10951f526edd1d 100644 (file)
@@ -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;
index 08f66fe47fe4c49ba734136419612c2e9ee5fea5..2e4531c7578d2f61b90e5a124586e45307f4ab48 100644 (file)
@@ -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();
index fce426c5cb07356137cc5d40cae08f79c14fcf7a..a9c46f8bb322e622f8568b57a63be9ee2d638da4 100644 (file)
@@ -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<Match> 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<PsiVariable>());
       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);
index 4c94ed2ec2f2cbb15f5b3444d4f5b939a6972918..e982d8809d104f590bf7a59f66446a3117446904 100644 (file)
@@ -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()));
 
index 9fbc1f61749a026cd82ed7746324984a8026f954..7d3ee870175c839b56739922a3b335bfa00bf78e 100644 (file)
@@ -101,7 +101,7 @@ class IntroduceFieldDialog extends DialogWrapper {
     return myCentralPanel.getInitializerPlace();
   }
 
-  @Modifier
+  @PsiModifier.ModifierConstant
   public String getFieldVisibility() {
     return myCentralPanel.getFieldVisibility();
   }
index f0f5a2cc16aae59cc919b7c8cc30ab5d3942662f..019529402fdbef4740fce23e012e13aa18d08dd2 100644 (file)
@@ -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();
index ae4118a825473db9d9474fdf9c41528ec5f3157c..cbb81cdc07ac8529bf2a72161f7c9ded2a515a5b 100644 (file)
@@ -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<PsiMember> membersToMove,
                                                  @NotNull MultiMap<PsiElement, String> 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 (file)
index b17cd5a..0000000
+++ /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 {
-}
index 656be7da8580c623287bc93fa75296fe96bf67d9..f74bfae070aafb13b429babfc8621386fa762c75 100644 (file)
@@ -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 {}
 }
index d402a4a43ca4d63abeb3acee9dc5ac25d0cfc0a8..908c9bdadfa5c408d8748431be6f7c8a923298cf 100644 (file)
@@ -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;
 
 }
index 4cf3fd404689d4114dabfe18f4773ef80960188d..6d10d14a8aebd6fa4a324ab6322fd879bdd3c0aa 100644 (file)
@@ -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);
 }
index 50be5176d0738ede927cbb2faa4cd4f643a068d2..5bc23c8e1cf13b5c7136141b9042e35c5935fe95 100644 (file)
@@ -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);
index 38d55b3c82fd0073bb15ecdc67e960460574d3c4..1c757d51ed2634809b46bd00d5e172e9a16dde68 100644 (file)
@@ -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 {
+  }
 }
index 941f60a552083a9639bb1aa2b195b2d78e8330cb..728c714321cd5e0b1199475a91882543af50e51a 100644 (file)
@@ -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);
index 1600284574fd1c0eb9d0fc3efb971f91efc0ffb6..1c95ccf23559d043fb10f3f23fe7a780f64c162c 100644 (file)
  */
 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;
     }
index 46c6321d0df7d8bd0789348b1c666dbd8425d93b..848700fea85076d270a8cc75dae7ce4dbd59d155 100644 (file)
@@ -91,7 +91,7 @@ public class JavaMethodsConflictResolver implements PsiConflictResolver{
     return null;
   }
 
-  private void checkSpecifics(List<CandidateInfo> conflicts, int applicabilityLevel) {
+  private void checkSpecifics(List<CandidateInfo> 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<CandidateInfo> 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();
index 642e965260b20f594303fb7f220e7affae007a1a..3189e82f2ea7424096210c5e3b1d72919db8bfeb 100644 (file)
@@ -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,
index 23727763adca5951e1590fed6885c0d259b56283..b3bfc4994f78fc1d3db81d213a3374e3bb354e0b 100644 (file)
@@ -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);
index edd8d634f669783d7cf41ac139fa865d6b9993c1..59e9cb01bb1883b217a4a51cfc1682e2b6c04c2e 100644 (file)
@@ -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
index 517f943c50a794e6d69bdb441daeb37574e2a65c..1662af8485696ceaab2bd9a7a566415e44750f98 100644 (file)
@@ -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;
index cb7b11b2dc3188ed710e2a1e67778fbeeb3d1900..a942f8cad9deabc231f1d2f09efa168121f5a490 100644 (file)
@@ -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
index 4ec9bf8dc30cf335245b197571d322e81e5ca023..32be1cdb136e7d1dcbaa9356de178ca749f67db3 100644 (file)
@@ -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) {
index 773717d07a02d45334e7748e2eb77db063d1e8f3..fe72be59937dd62c2b4ce69117f8c15bc302ea01 100644 (file)
@@ -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);
index 06788a36aeffc7b54126d1cdb4ed0c5ebde027c5..74993a9f9925b9b6403626a381374c6906568c06 100644 (file)
@@ -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<FileIconPatcher> 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
index 50a58191ede94159e9871aefb1076607409b590a..9caacdeea1b754fbd29bcf25245f10c8126e19e3 100644 (file)
@@ -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<FileIconProvider> 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
index 63783898a76301c62226b35c51520a443ccb1b6b..cd11d68a804ea57ebc05d9a7738af4abdd73286c 100644 (file)
@@ -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);
 }
index a4d12ea807ef15ebb1b56f0cfa9ea987e6bc8e88..239fd86cabbc9b8d8eeed02b40af93935ba02ef1 100644 (file)
@@ -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<Map<Integer, Icon>> LAST_COMPUTED_ICON = Key.create("lastComputedIcon");
index f3a46d39df0f5c24bf38676355b818cb6d48382c..0a5d79dde1886994731c3756241cec20f33b4e70 100644 (file)
@@ -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;
index a93e392f2fe221cf9585b1ba5b3494dc7e5fec5f..7124c5ccca65090dd69df43d661e7e4533175f90 100644 (file)
@@ -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;
   }
index 5dd20cf9a3d980c00977c8f100343ef174cc5268..58b39d3287b637c2e25c37ea7cc53769f67a0def 100644 (file)
@@ -43,7 +43,7 @@ import java.awt.image.BufferedImage;
  * @author Konstantin Bulenkov
  */
 public class IconUtil {
-  private static Key<Boolean> PROJECT_WAS_EVER_INITIALIZED = Key.create("iconDeferrer:projectWasEverInitialized");
+  private static final Key<Boolean> 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;
index 2661844281cd24c5537d8ae7cdfc956772ef5ffb..e46ba964a752cdd8420fe942ca0edb45dc86ae56 100644 (file)
@@ -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)) {
index 8a2ae051be08d07a92650decd1302f42486e2824..18fc16fccd74925521c4c6ce850961c173b11107 100644 (file)
@@ -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<RangeHighlighter> outHighlighters,
                                               @Nullable Color scrollmarkColor);
 
index 7c834cdc616a5480829c845cffdbda6ca4289f24..ae0ad3b464098f6460db05038b3dece9d31c1300 100644 (file)
@@ -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
index 2e796432649d967c203c7e8bce1de1b9fc0d81a5..db94c08bf8f00aa697d2fb44e5206842ecb95374 100644 (file)
@@ -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;
   }
index f229c5233a660d1069b2abdc059a90a06ad0f387..f63eb8d8514d9781fd2baa23286871a708c35da8 100644 (file)
@@ -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);
index 2d2ae032c7f252e1f5f71d80dffac209de5782ea..fa13e44cc6a57d2bf3b45a0a949fb9ba82985fe7 100644 (file)
@@ -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<Element>, 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<Element>, 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")
index 129042abe75dd87310405885c84e53633f2b223a..255f2353d97ee0ce317a5b1e071b14ba49a78099 100644 (file)
@@ -101,7 +101,7 @@ public class HighlightManagerImpl extends HighlightManager implements ProjectCom
   }
 
   @Nullable
-  public Map<RangeHighlighter, HighlightInfo> getHighlightInfoMap(Editor editor, boolean toCreate) {
+  public Map<RangeHighlighter, HighlightInfo> getHighlightInfoMap(@NotNull Editor editor, boolean toCreate) {
     if (editor instanceof EditorWindow) return getHighlightInfoMap(((EditorWindow)editor).getDelegate(), toCreate);
     Map<RangeHighlighter, HighlightInfo> 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<RangeHighlighter, HighlightInfo> highlightersMap = getHighlightInfoMap(editor, false);
     if (highlightersMap == null) return RangeHighlighter.EMPTY_ARRAY;
     Set<RangeHighlighter> set = new HashSet<RangeHighlighter>();
@@ -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<RangeHighlighter, HighlightInfo> 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;
     }
index 86b669fab28e316d8ce9c31c4bfab1ee981922df..85c82c2e348baff8ad8db6615ffa1401872c0836 100644 (file)
@@ -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);
index ffbf205de653be814285b36e82d730246fdb9cb2..0e36a1bb12df346f0403488d526c9aad6ed8624d 100644 (file)
@@ -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) {
index c46da8e8b2567b729ce9e5bc4d16e70c2589428a..229ede8e3d3a0772b9e6162fa78b7c3514484c91 100644 (file)
@@ -164,6 +164,7 @@ public abstract class AbstractPsiBasedNode<Value> extends ProjectViewNode<Value>
     }
   }
 
+  @Iconable.IconFlags
   protected int getIconableFlags() {
     int flags = Iconable.ICON_FLAG_VISIBILITY;
     if (isMarkReadOnly()) {
index ccea303ccfa76cce27aa019c065a528620c0b4e3..c67b431b981dd338a8b017b741695b5ab7c3d62c 100644 (file)
@@ -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<T extends PsiElement> extends J
   @Nullable
   protected abstract String getContainerText(T element, final String name);
 
+  @Iconable.IconFlags
   protected abstract int getIconFlags();
 
   protected Icon getIcon(PsiElement element) {
index 1c7c2b8b8c9d6be2b48cede2374f3abf93a13177..ce1a463bbd08424c5644731a08b70f830344a1b4 100644 (file)
@@ -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);
index 8c7136c1e2cdb6bf62c6939c835edcf4c65f0402..bd97a36bb5e88843c0de378745fff9b56f796b73 100644 (file)
@@ -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<Module> myModules = new LinkedHashSet<Module>();
   private final Set<VirtualFile> myRoots = new LinkedHashSet<VirtualFile>();
 
-  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);
     }
index 578b811818d80359e3c190c4fac8e60052de381f..77b88fa59a5bf9e46a2211fc9fc9f21013b10642 100644 (file)
@@ -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<T extends PsiElement, M exten
 
   }
 
-  protected Icon getMemberIcon(M memberInfo, int flags) {
+  protected Icon getMemberIcon(M memberInfo, @Iconable.IconFlags int flags) {
     return memberInfo.getMember().getIcon(flags);
   }
 
index 14a560e79468b0db44ec9850eb4c019599f4277f..8920ab1080706fd7a65c76179d15b1fda8695a36 100644 (file)
@@ -18,6 +18,7 @@ package com.intellij.codeInsight.hint;
 import com.intellij.openapi.components.ServiceManager;
 import com.intellij.openapi.editor.Editor;
 import com.intellij.ui.awt.RelativePoint;
+import org.intellij.lang.annotations.MagicConstant;
 import org.jetbrains.annotations.NotNull;
 
 import javax.swing.*;
@@ -37,6 +38,9 @@ public abstract class HintManager {
   public static final short RIGHT = 4;
   public static final short RIGHT_UNDER = 5;
   public static final short DEFAULT = 6;
+  @MagicConstant(intValues = {ABOVE, UNDER, LEFT, RIGHT, RIGHT_UNDER, DEFAULT})
+  public @interface PositionFlags {}
+
 
   // Constants for 'flags' parameters
   public static final int HIDE_BY_ESCAPE = 0x01;
@@ -49,10 +53,13 @@ public abstract class HintManager {
   public static final int UPDATE_BY_SCROLLING = 0x80;
   public static final int HIDE_BY_MOUSEOVER = 0x100;
 
-  public abstract void showHint(@NotNull JComponent component, @NotNull RelativePoint p, int flags, int timeout);
+  @MagicConstant(flags = {HIDE_BY_ESCAPE, HIDE_BY_ANY_KEY, HIDE_BY_LOOKUP_ITEM_CHANGE, HIDE_BY_TEXT_CHANGE, HIDE_BY_OTHER_HINT, HIDE_BY_SCROLLING, HIDE_IF_OUT_OF_EDITOR, UPDATE_BY_SCROLLING, HIDE_BY_MOUSEOVER})
+  public @interface HideFlags {}
+
+  public abstract void showHint(@NotNull JComponent component, @NotNull RelativePoint p, @HideFlags int flags, int timeout);
 
   public abstract void showErrorHint(@NotNull Editor editor, @NotNull String text);
-  public abstract void showErrorHint(@NotNull Editor editor, @NotNull String text, short position);
+  public abstract void showErrorHint(@NotNull Editor editor, @NotNull String text, @PositionFlags short position);
 
   public abstract void showInformationHint(@NotNull Editor editor, @NotNull String text);
 
@@ -60,9 +67,9 @@ public abstract class HintManager {
 
   public abstract void showQuestionHint(@NotNull Editor editor, @NotNull String hintText, int offset1, int offset2, @NotNull QuestionAction action);
 
-  public abstract boolean hideHints(int mask, boolean onlyOne, boolean editorChanged);
+  public abstract boolean hideHints(@HideFlags int mask, boolean onlyOne, boolean editorChanged);
 
-  public abstract void showErrorHint(@NotNull Editor editor, @NotNull String hintText, int offset1, int offset2, short constraint, int flags, int timeout);
+  public abstract void showErrorHint(@NotNull Editor editor, @NotNull String hintText, int offset1, int offset2, @PositionFlags short constraint, @HideFlags int flags, int timeout);
 
   public abstract void hideAllHints();
 
index 65fffab3d2d368fffd1fb75e2ce10bb0c9b1e6d9..cfeaff8d6756036a59589ff798804b27d14bb715 100644 (file)
@@ -22,6 +22,7 @@ import com.intellij.openapi.util.NamedJDOMExternalizable;
 import com.intellij.openapi.util.SystemInfo;
 import com.intellij.openapi.vfs.CharsetToolkit;
 import com.intellij.openapi.vfs.encoding.EncodingManager;
+import org.intellij.lang.annotations.MagicConstant;
 import org.jdom.Element;
 import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
@@ -511,7 +512,8 @@ public class GeneralSettings implements NamedJDOMExternalizable, ExportableAppli
     return myConfirmOpenNewProject;
   }
 
-  public void setConfirmOpenNewProject(int confirmOpenNewProject) {
+  public void setConfirmOpenNewProject(@MagicConstant(intValues = {OPEN_PROJECT_ASK, OPEN_PROJECT_NEW_WINDOW, OPEN_PROJECT_SAME_WINDOW})
+                                       int confirmOpenNewProject) {
     myConfirmOpenNewProject = confirmOpenNewProject;
   }
 
index b0d839ba6cae8b10bf59e73dadc141f99abb7509..70bb617c48a9341f4e7629df48dcc653fbb90c87 100644 (file)
@@ -22,6 +22,7 @@ import com.intellij.openapi.project.PossiblyDumbAware;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.util.Disposer;
 import com.intellij.openapi.util.text.StringUtil;
+import org.intellij.lang.annotations.JdkConstants;
 import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -145,7 +146,7 @@ public abstract class AnAction implements PossiblyDumbAware {
     }
   }
 
-  public final void registerCustomShortcutSet(int keyCode, int modifiers, JComponent component) {
+  public final void registerCustomShortcutSet(int keyCode, @JdkConstants.InputEventMask int modifiers, JComponent component) {
     registerCustomShortcutSet(new CustomShortcutSet(KeyStroke.getKeyStroke(keyCode, modifiers)), component);
   } 
 
index 6e0547b827e3b3743d6b80c5cd663534542c2201..cf3d8483833b9dc382bd4853732596e8d15ebee1 100644 (file)
@@ -18,9 +18,10 @@ package com.intellij.openapi.actionSystem;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.util.text.StringUtil;
 import com.intellij.ui.PlaceProvider;
+import org.intellij.lang.annotations.JdkConstants;
 import org.jetbrains.annotations.NonNls;
-import org.jetbrains.annotations.Nullable;
 import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
 
 import java.awt.event.InputEvent;
 import java.util.HashMap;
@@ -39,7 +40,7 @@ public class AnActionEvent implements PlaceProvider<String> {
   @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<String, String> ourInjectedIds = new HashMap<String, String>();
@@ -54,7 +55,7 @@ public class AnActionEvent implements PlaceProvider<String> {
     @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<String> {
    * Returns the modifier keys held down during this action event.
    * @return the modifier keys.
    */
+  @JdkConstants.InputEventMask
   public int getModifiers() {
     return myModifiers;
   }
index 7727808bddfd941f9d50189aa7ad90dbccc8755c..48bf72a2bd0eeb01d4e0188e0d23f4c200140cd3 100644 (file)
@@ -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;
     }
index d12a26e1fa102e79456a9a6f888a159cd2e7afd4..1efd221fc0d18c14c1208973bff53e548edeb4e6 100644 (file)
@@ -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);
   }
 
index acd46961f624647ed21b255457f349ee95fda178..1e36f90c52c4ccad4361a9b450e48ac2c24dd172 100644 (file)
@@ -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;
index d5927a42838acd380b259416d6ebb14c46f0ae2c..b64f0c369cbb558ca24fa08860f8b5bf5d5ec331 100644 (file)
@@ -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];
index 4687500e124402310a6361bedb3f8c5e51f0617d..cf8c4948089b75d83f62680d1d7f53aed9725e6e 100644 (file)
@@ -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() {
index 63c853ea532c6f6fb8bdd2265e1134f3060a9a8b..ccd09e11ce142db8e1d6bd47f366935f5496926e 100644 (file)
@@ -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 <code>alignment</code> 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);
     }
index f2d18b4d04c29794f97a9e0c009b116e8aed951b..85ec4f269086d2910f44302638ca5f3d7299dac8 100644 (file)
@@ -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);
index 54d7a6b6bed75f78b4674badb41713bb7c71ce36..c043615187df9b157856c82664d877d929e7ecc0 100644 (file)
@@ -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<TreeNode> myTreeModelAsList = new ArrayList<TreeNode>();
+    private final boolean myShowRootNode;
+    private final List<TreeNode> myTreeModelAsList = new ArrayList<TreeNode>();
 
     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);
   }
 
 }
index 782257819c0b43271844306ea9b7fc51b4d4ee2c..b68dffd01b625eda9d05a411f2e46f06599ad5db 100644 (file)
@@ -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;
index 23d424a71bed0220e1927412e5ab4797a8e44627..85d8cc1068eeb386378e264fdb172d59215bba70 100644 (file)
@@ -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);
 }
index fc7e0c30b0643692f631ce4d806ffea606138cdd..9b7a4de593b3598101c9100df6e9a28147a4c331 100644 (file)
@@ -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));
index ab241fb4ee60e837cfa5528647b100d0605ff18e..52729878f6f3c819fdfb94261b274abf65dde388 100644 (file)
@@ -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);
index 5c4899f977a914af4ed842bfdb42418167f91103..f9613558d6724ef1486bd267d762c51f05325e97 100644 (file)
@@ -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();
index 81b3e4b28f80b539ab300a156d1abd8df893bdf3..06ec63bdf736d5f06fb39af7f57adb72e56f4063 100644 (file)
@@ -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 {
    *                <code>null</code>. In that case <code>SimpleColoredComponent</code> 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();
     }
 
index 6f382fdc3667a7a4dd65ef1857000eca009fc305..d3fd4590a2459ff25f853bf58fea537c771b996a 100644 (file)
@@ -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();
index 6cf8483e3a6edf4f9ccd96b58503f769784e1b15..1685caa23461092d8e0a025756d22e6cb9a3787a 100644 (file)
@@ -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();
   }
index 914ce5b37bd7ba7973bef5467c24229bc76c4750..0a1a305d4a2a131d692dbf3fb19d1626c6a1d2b6 100644 (file)
@@ -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<String> 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<Integer> getModifiersVKs(int mask) {
     Set<Integer> codes = new HashSet<Integer>();
-    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);
     }
 
index 703d55e3f0196b8dbc3ecbe04970286fe2928c96..20a4c44f6eef0f15c594eae134fbd57b8e5526f7 100644 (file)
@@ -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<Integer> modifierCodes) {
+  public static boolean areAllModifiersPressed(@JdkConstants.InputEventMask int modifiers, Set<Integer> modifierCodes) {
     int mask = 0;
     for (Integer each : modifierCodes) {
       if (each == KeyEvent.VK_SHIFT) {
index 0a17ff9e0258f58ca16c1740cd0d7b2da86ce790..169ed6b514f677c8dea17dc62b808b9f5a39e1e9 100644 (file)
@@ -295,7 +295,7 @@ public final class TabInfo implements Queryable, PlaceProvider<String> {
     return myEnabled;
   }
 
-  public TabInfo setDefaultStyle(final int style) {
+  public TabInfo setDefaultStyle(@SimpleTextAttributes.StyleAttributeConstant int style) {
     myDefaultStyle = style;
     myDefaultAttributes = null;
     update();
index 8f58f2919fe014109173b94387dc773a8e6b8fc1..4f5719558f1bcefecefaedf0571b180bd8ba5741 100644 (file)
@@ -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);
index c18cc487041f9fb3f2b01e08f5dffcc0781d09d3..ef9259d2c2da372c28e51434d039d46361811977 100644 (file)
@@ -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);
index f7e45efc125956f70d6c739cd619014d380cec34..905332a9346ab1cad5944b71375b354ad50174eb 100644 (file)
@@ -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);
index f5cd0b3e7c6631d73b01516b9402f4ef6db42dc1..162c2cd3203cf3eb11a934c0c7a638b1d83ccfe4 100644 (file)
@@ -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) {
index 0aaccbdcae3476d0aac8c276fb1ee0311ca5224c..2165e73880e7812a6729356a86a3362ef1df04ff 100644 (file)
@@ -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);
 
index f0b4720bf5349cf19424427a2b869bd7f8acb55b..f4fb39634d33511eead3e4ef178fbdeecdcbd748 100644 (file)
@@ -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 <code>[1; tab size]</code> (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);
index ade1655f8a2556b990022650f0eeec52af93d98d..a66871e771954800593d90dabc04bb9088fd9f08 100644 (file)
@@ -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<String, Integer> p = fontFamily(defaultFontFamily, style);
       if (ourSharedKeyInstance.mySize == size &&
index 0c7b8f44a7880fc7b0f4d4657cf8ecff651f4d45..44463add856977b5ae7e914ee8887baba9cb4012 100644 (file)
@@ -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;
index 902eed35263b93438f6ba269f5d1cc47ba4d1414..6128e26ec2b7bea360b9e8ed398ba02018327805 100644 (file)
@@ -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;
    *                    <code>'0'</code> 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<LogicalPosition> 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<LogicalPosition> 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);
index 0633fcb82021ac45a283d7899a2b7b3d0d0658cd..ce176bc67766cfd3f305b433bdcd2975d2597e0d 100644 (file)
@@ -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           <code>'x'</code> 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);
 }
index 8b612758e4109bb06913f938ca8b74253553dc0a..69d87401483141d3527023dbff8005d4009d076b 100644 (file)
@@ -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;
   }
index cb7e9f51571f84c2fccea396061757349f7be613..03926b35682fd098985a2e988a13c60504e5cb28 100644 (file)
@@ -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);
index 5955480be45139003f2e133ccd7279191e8c7404..373794a0901c3fd8e354b42cde49210f6d53c75e 100644 (file)
@@ -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) {
index b11f2fef2886703b9c4c446affceddc447ad0cef..ed6af986372e995ebc957632b1e2227922fc49d0 100644 (file)
@@ -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 <code>shortcut</code>. It can be <code>null</code>
index f8c10df2cea6ea56e0f2be5940da1016183d1631..535d7c9c06a615f3dfb52b9a254537a637434b26 100644 (file)
@@ -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));
   }
 
index dfe5a8207f352decdb207b7265ec4ddc1e9328fc..836752aae8804fc34a4b620a41bca255630b6316 100644 (file)
@@ -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
index d1622f1e6eca4696d4162229504119378f9daf20..2e31bc563db39bf430f9bc9626d4ce530fec0313 100644 (file)
@@ -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);
   }
index 2f63df69ff904cde0c493c9d2705b156fbd39e94..7556f928d8576cef778e703e9c94893b2eb63d20 100644 (file)
@@ -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";
index 790a2b9dc692ae255307378ec5877d498807c738..8d17612ca34e54796c19e7322551faf231da7209 100644 (file)
@@ -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;
index 2610410409839b4debd9508fe2b7cf4e51791461..64e673d64c7a5a52743a1f3401167d38d04b9c58 100644 (file)
@@ -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;
   }
 
index bd0a3102232b01ea8e8485e01d867d44f2c710af..27240f73cf45d6aa8585db42ea88e8766a4f93f9 100644 (file)
@@ -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;
     }
 
index 58e5c49bf25e2bd044580473beb1206160461580..bbd8c0a1b0cf0a181cb28b1f5290ed701e35fcde 100644 (file)
@@ -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;
   }
 
index 9bd88199ebd1ade3cfbcd545f442863d50fb724b..4a19a15d58212b1650b87ab2e9abdebbee2d0eda 100644 (file)
@@ -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;
     }
 
index d782e70d34cf46dada5316b0d14e2bda0eb0b433..d5ec08723a57c4b278650e2da081adbc39da383f 100644 (file)
@@ -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;
   }
 
index 44f693d44e56a6043d4279bf20668e18ad56db3b..8c4cc5093592452057d17ced1b00e9a3a8bf219f 100644 (file)
@@ -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<And
     myFilterEntries = filterEntries;
   }
 
+  @JdkConstants.PatternFlags
   static int getPatternCompileFlags(@NotNull String regex) {
     for (char c : regex.toCharArray()) {
       if (Character.isUpperCase(c)) {
index 6f96223736610a956906aeb60a7fad39773c2e57..4fd1a8cced7f1ec7d20686ea498ba55ccca8bfaf 100644 (file)
@@ -29,6 +29,7 @@ import com.intellij.ui.TreeUIHelper;
 import com.intellij.ui.treeStructure.Tree;
 import com.intellij.util.Consumer;
 import com.intellij.util.ui.tree.TreeUtil;
+import org.intellij.lang.annotations.JdkConstants;
 import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 
@@ -54,12 +55,12 @@ public class CvsTree extends JPanel implements CvsTabbedWindow.DeactivateListene
   private final boolean myAllowRootSelection;
   private final boolean myShowModules;
   private final Project myProject;
-  private final int mySelectionMode;
+  @JdkConstants.TreeSelectionMode private final int mySelectionMode;
   private final LoadingNode.Manager myLoadingNodeManager = new LoadingNode.Manager();
 
   @NonNls public static final String SELECTION_CHANGED = "Selection Changed";
 
-  public CvsTree(Project project, boolean allowRootSelection, int selectionMode, boolean showModules, boolean showFiles,
+  public CvsTree(Project project, boolean allowRootSelection, @JdkConstants.TreeSelectionMode int selectionMode, boolean showModules, boolean showFiles,
                  Consumer<VcsException> errorCallback) {
     super(new BorderLayout());
     myProject = project;
index 80251ee48140fda2d6ca461076d373e58d31ff34..995106a79b83fd072a863ba0e098234d9b66027b 100644 (file)
@@ -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<Boolean> myErrors = new Ref<Boolean>();
@@ -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);
index ee573ff774aa5acb00b8406e36d00a2eebf6e121..c07a8e35ea118419ec925be846cf02252778009e 100644 (file)
@@ -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;
       }
index e296a8f89633dd198b61a026a7419bf2430cb21c..7c906d1db35e4d3510568e03ac34e965c87a1430 100644 (file)
@@ -203,7 +203,6 @@ public class GrChangeInfoImpl implements JavaChangeInfo {
     return parameters.toArray(new GrParameterInfo[parameters.size()]);
   }
 
-  @Modifier
   public String getNewVisibility() {
     return visibilityModifier;
   }
index 86f6aac1815b960996e5c3fce80cc8070f2651bc..01598ec9a89483d54bd41ff6dad71c61a1a752f6 100644 (file)
@@ -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);
index 53bc6fc6234d18c4f3b2628754c77f8ff08a40d0..3682553005cbbca02bf5ba42664b2043b81dfb2d 100644 (file)
@@ -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,
index 9958dc36495a80ac8f96f5cd020bbeec6c1037a1..cef8e5d138497df93f59afcb04f48674bff0d802 100644 (file)
@@ -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,
index a2026af6fe0ddda7cf4d9d83a6e20daac187e0b9..fef54a4519979a9175687628fa39e287a048813e 100644 (file)
@@ -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;
index 722af9b0acaa28d4d347cde119fd3000a0cfd28f..758065c943fe0f0d4c5c65859756480268f9dc1e 100644 (file)
@@ -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;
index 375f4916da60e966220d8487bc819583453ebb40..19311166481eb727612498581fd4eddea1ec1865 100644 (file)
@@ -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;
index f629d2ec661c17a59712207fc34a9973bea5f591..e2c00c5cdd7d1dc1b36d27e7818c14f200b8796a 100644 (file)
@@ -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() {