diff --git a/java/java-impl/src/com/intellij/psi/impl/source/resolve/PsiResolveHelperImpl.java b/java/java-impl/src/com/intellij/psi/impl/source/resolve/PsiResolveHelperImpl.java index 3b6b01ab4877..25d1e4888517 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/resolve/PsiResolveHelperImpl.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/resolve/PsiResolveHelperImpl.java @@ -722,7 +722,7 @@ public class PsiResolveHelperImpl implements PsiResolveHelper { } @Nullable - private static Pair inferTypeForCompletionFromCallContext(final PsiCallExpression innerMethodCall, + private static Pair inferTypeForCompletionFromCallContext(@NotNull final PsiCallExpression innerMethodCall, final PsiExpressionList expressionList, final PsiCallExpression contextCall, final PsiTypeParameter typeParameter) { diff --git a/platform/util/src/com/intellij/openapi/util/RecursionGuard.java b/platform/util/src/com/intellij/openapi/util/RecursionGuard.java index 43f3c881b38e..b0843e3e32eb 100644 --- a/platform/util/src/com/intellij/openapi/util/RecursionGuard.java +++ b/platform/util/src/com/intellij/openapi/util/RecursionGuard.java @@ -15,6 +15,7 @@ */ package com.intellij.openapi.util; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.List; @@ -32,7 +33,7 @@ public abstract class RecursionGuard { @SuppressWarnings("JavaDoc") @Deprecated @Nullable - public T doPreventingRecursion(Object key, Computable computation) { + public T doPreventingRecursion(@NotNull Object key, Computable computation) { return doPreventingRecursion(key, false, computation); } @@ -45,7 +46,7 @@ public abstract class RecursionGuard { * @return the result of the computation or null if we're entering a computation with this key on this thread recursively, */ @Nullable - public abstract T doPreventingRecursion(Object key, boolean memoize, Computable computation); + public abstract T doPreventingRecursion(@NotNull Object key, boolean memoize, Computable computation); /** * Used in pair with {@link com.intellij.openapi.util.RecursionGuard.StackStamp#mayCacheNow()} to ensure that cached are only the reliable values, diff --git a/platform/util/src/com/intellij/openapi/util/RecursionManager.java b/platform/util/src/com/intellij/openapi/util/RecursionManager.java index bb3917831278..f03e33ef71e5 100644 --- a/platform/util/src/com/intellij/openapi/util/RecursionManager.java +++ b/platform/util/src/com/intellij/openapi/util/RecursionManager.java @@ -18,6 +18,7 @@ package com.intellij.openapi.util; import com.intellij.reference.SoftReference; import com.intellij.util.containers.SoftHashMap; import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.NotNull; import java.util.ArrayList; import java.util.LinkedHashMap; @@ -78,7 +79,7 @@ public class RecursionManager { public static RecursionGuard createGuard(@NonNls final String id) { return new RecursionGuard() { @Override - public T doPreventingRecursion(Object key, boolean memoize, Computable computation) { + public T doPreventingRecursion(@NotNull Object key, boolean memoize, Computable computation) { MyKey realKey = new MyKey(id, key); LinkedHashMap progressMap = ourProgress.get(); if (progressMap.containsKey(realKey)) { diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyPsiManager.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyPsiManager.java index bc7e4ecc97e4..f012fa1a6223 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyPsiManager.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyPsiManager.java @@ -183,7 +183,7 @@ public class GroovyPsiManager { } @Nullable - public static PsiType inferType(PsiElement element, Computable computable) { + public static PsiType inferType(@NotNull PsiElement element, Computable computable) { List stack = ourGuard.currentStack(); if (stack.size() > 7) { //don't end up walking the whole project PSI ourGuard.prohibitResultCaching(stack.get(0)); diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/TypeInferenceHelper.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/TypeInferenceHelper.java index 93f284a57906..e053645d7297 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/TypeInferenceHelper.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/TypeInferenceHelper.java @@ -23,6 +23,7 @@ import com.intellij.psi.PsiType; import com.intellij.psi.util.*; import gnu.trove.TIntHashSet; import gnu.trove.TIntObjectHashMap; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.lang.lexer.TokenSets; import org.jetbrains.plugins.groovy.lang.psi.GrControlFlowOwner; @@ -52,7 +53,7 @@ import java.util.List; public class TypeInferenceHelper { @Nullable - public static PsiType getInferredType(final GrReferenceExpression refExpr) { + public static PsiType getInferredType(@NotNull final GrReferenceExpression refExpr) { return RecursionManager.createGuard("refType").doPreventingRecursion(refExpr, true, new Computable() { @Override public PsiType compute() { diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/GrClassImplUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/GrClassImplUtil.java index 440b886b1d50..4c578284f6b9 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/GrClassImplUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/GrClassImplUtil.java @@ -128,7 +128,7 @@ public class GrClassImplUtil { } @Nullable - private static List getImplementsFromDelegate(final GrTypeDefinition grType, final Set visited) { + private static List getImplementsFromDelegate(@NotNull final GrTypeDefinition grType, final Set visited) { return RecursionManager.createGuard("groovyDelegateFields").doPreventingRecursion(grType, true, new Computable>() { @Override public List compute() { diff --git a/xml/impl/src/com/intellij/xml/util/XmlUtil.java b/xml/impl/src/com/intellij/xml/util/XmlUtil.java index b9d602d506f7..e1aaa783b9b2 100644 --- a/xml/impl/src/com/intellij/xml/util/XmlUtil.java +++ b/xml/impl/src/com/intellij/xml/util/XmlUtil.java @@ -667,7 +667,7 @@ public class XmlUtil { return true; } - private boolean processXInclude(final boolean deepFlag, final boolean wideFlag, final XmlTag xincludeTag) { + private boolean processXInclude(final boolean deepFlag, final boolean wideFlag, @NotNull final XmlTag xincludeTag) { final PsiElement[] inclusion = CachedValuesManager.getManager(xincludeTag.getProject()).getCachedValue(xincludeTag, new CachedValueProvider() { public Result compute() {