do not highlight errors in return statements in debugger code fragments - avoid user data keys (IDEA-CR-10075)

This commit is contained in:
Egor.Ushakov
2016-04-13 11:34:54 +03:00
parent a69953836c
commit bc0826f4e0
2 changed files with 1 additions and 5 deletions
@@ -18,7 +18,6 @@ package com.intellij.debugger.engine.evaluation;
import com.intellij.codeInsight.completion.CompletionParameters;
import com.intellij.codeInsight.completion.CompletionService;
import com.intellij.codeInsight.completion.JavaCompletionUtil;
import com.intellij.codeInsight.daemon.impl.analysis.HighlightUtil;
import com.intellij.debugger.DebuggerManagerEx;
import com.intellij.debugger.codeinsight.RuntimeTypeEvaluator;
import com.intellij.debugger.engine.evaluation.expression.EvaluatorBuilder;
@@ -76,7 +75,6 @@ public class DefaultCodeFragmentFactory extends CodeFragmentFactory {
fragment.setVisibilityChecker(JavaCodeFragment.VisibilityChecker.EVERYTHING_VISIBLE);
//noinspection HardCodedStringLiteral
fragment.putUserData(KEY, "DebuggerComboBoxEditor.IS_DEBUGGER_EDITOR");
fragment.putUserData(HighlightUtil.DISABLE_RETURN_CHECK_IN_CODE_FRAGMENT, true);
fragment.putCopyableUserData(JavaCompletionUtil.DYNAMIC_TYPE_EVALUATOR, new PairFunction<PsiExpression, CompletionParameters, PsiType>() {
public PsiType fun(PsiExpression expression, CompletionParameters parameters) {
if (!RuntimeTypeEvaluator.isSubtypeable(expression)) {
@@ -87,8 +87,6 @@ public class HighlightUtil extends HighlightUtilBase {
@NonNls private static final String SERIAL_PERSISTENT_FIELDS_FIELD_NAME = "serialPersistentFields";
private static final QuickFixFactory QUICK_FIX_FACTORY = QuickFixFactory.getInstance();
public static final Key<Boolean> DISABLE_RETURN_CHECK_IN_CODE_FRAGMENT = Key.create("DISABLE_RETURN_CHECK_IN_CODE_FRAGMENT");
private HighlightUtil() { }
static {
@@ -596,7 +594,7 @@ public class HighlightUtil extends HighlightUtilBase {
}
parent = parent.getParent();
}
if (parent instanceof PsiCodeFragment && parent.getUserData(DISABLE_RETURN_CHECK_IN_CODE_FRAGMENT) != null) {
if (parent instanceof PsiCodeFragment) {
return null;
}
String description;