IDEA-51944
authorAlexey Kudravtsev <cdr@intellij.com>
Wed, 3 Feb 2010 13:02:09 +0000 (16:02 +0300)
committerAlexey Kudravtsev <cdr@intellij.com>
Wed, 3 Feb 2010 16:00:54 +0000 (19:00 +0300)
java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java
java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java
java/java-impl/src/com/intellij/codeInspection/ex/StandardInspectionToolsProvider.java
platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/HighlightInfoType.java
platform/lang-impl/src/com/intellij/codeInspection/ex/Descriptor.java
platform/util/src/com/intellij/util/ResourceUtil.java

index 775cf7597b224d15872d34ca09c26e3543cd40b3..9aaed86e9c53b3e850483aafd55b4b25eab1b001 100644 (file)
@@ -68,7 +68,6 @@ public class HighlightUtil {
   private static final Map<String, Set<String>> ourClassInitializerIncompatibleModifiers;
   private static final Set<String> ourConstructorNotAllowedModifiers;
 
-  private static final Key<String> HAS_OVERFLOW_IN_CHILD = Key.create("HAS_OVERFLOW_IN_CHILD");
   @NonNls private static final String SERIAL_VERSION_UID_FIELD_NAME = "serialVersionUID";
   @NonNls private static final String SERIAL_PERSISTENT_FIELDS_FIELD_NAME = "serialPersistentFields";
   private static final QuickFixFactory QUICK_FIX_FACTORY = QuickFixFactory.getInstance();
@@ -1766,30 +1765,6 @@ public class HighlightUtil {
   }
 
 
-  static HighlightInfo checkConstantExpressionOverflow(PsiExpression expr) {
-    boolean overflow = false;
-    try {
-      if (expr.getUserData(HAS_OVERFLOW_IN_CHILD) == null && TypeConversionUtil.isNumericType(expr.getType())) {
-        JavaPsiFacade.getInstance(expr.getProject()).getConstantEvaluationHelper().computeConstantExpression(expr, true);
-      }
-      else {
-        overflow = true;
-      }
-    }
-    catch (ConstantEvaluationOverflowException e) {
-      overflow = true;
-      return HighlightInfo.createHighlightInfo(HighlightInfoType.OVERFLOW_WARNING, expr, JavaErrorMessages.message("numeric.overflow.in.expression"));
-    }
-    finally {
-      PsiElement parent = expr.getParent();
-      if (overflow && parent instanceof PsiExpression) {
-        parent.putUserData(HAS_OVERFLOW_IN_CHILD, "");
-      }
-    }
-
-    return null;
-  }
-
   @NonNls
   private static String redIfNotMatch(PsiType type, boolean matches) {
     if (matches) return getFQName(type, false);
index aabd791320d6a2aec6e332f55ecf6cd8eca245e7..393f3f204681eafb43ea8b2a15bd03878b9b41e9 100644 (file)
@@ -354,7 +354,6 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
     if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkAssertOperatorTypes(expression));
     if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkSynchronizedExpressionType(expression));
     if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkConditionalExpressionBranchTypesMatch(expression));
-    if (!myHolder.hasErrorResults()) myHolder.add(HighlightUtil.checkConstantExpressionOverflow(expression));
     if (!myHolder.hasErrorResults()
         && expression.getParent() instanceof PsiThrowStatement
         && ((PsiThrowStatement)expression.getParent()).getException() == expression) {
index 5ced11509a14869cabc2e200ebc988e5e5763c8e..9978aecbd1ec3681c150465baf61cdfe2d762f67 100644 (file)
@@ -17,6 +17,7 @@ package com.intellij.codeInspection.ex;
 
 import com.intellij.codeInspection.InspectionToolProvider;
 import com.intellij.codeInspection.LossyEncodingInspection;
+import com.intellij.codeInspection.NumericOverflowInspection;
 import com.intellij.codeInspection.RedundantSuppressInspection;
 import com.intellij.codeInspection.accessStaticViaInstance.AccessStaticViaInstance;
 import com.intellij.codeInspection.canBeFinal.CanBeFinalInspection;
@@ -79,6 +80,7 @@ public class StandardInspectionToolsProvider implements InspectionToolProvider {
 
       DataFlowInspection.class,
       DefUseInspection.class,
+      NumericOverflowInspection.class,
       RedundantCastInspection.class,
       RedundantTypeArgsInspection.class,
       RedundantArrayForVarargsCallInspection.class,
index 53b8675f05d2b601b26128a899186936f981681d..38ce5af8e1c10e3519f28dabdea6feaf22f84e3f 100644 (file)
@@ -87,7 +87,6 @@ public interface HighlightInfoType {
 
   HighlightInfoType WARNING = new HighlightInfoTypeImpl(HighlightSeverity.WARNING, CodeInsightColors.WARNINGS_ATTRIBUTES);
   HighlightInfoType INFO = new HighlightInfoTypeImpl(HighlightSeverity.INFO, CodeInsightColors.INFO_ATTRIBUTES);
-  HighlightInfoType OVERFLOW_WARNING = new HighlightInfoTypeImpl(HighlightSeverity.WARNING, CodeInsightColors.ERRORS_ATTRIBUTES);
   HighlightInfoType INFORMATION = new HighlightInfoTypeImpl(HighlightSeverity.INFORMATION, CodeInsightColors.INFORMATION_ATTRIBUTES);
   HighlightSeverity INJECTED_FRAGMENT_SEVERITY = new HighlightSeverity("INJECTED_FRAGMENT_SEVERITY", HighlightSeverity.INFORMATION.myVal-1);
   HighlightInfoType INJECTED_LANGUAGE_FRAGMENT = new HighlightInfoTypeImpl(INJECTED_FRAGMENT_SEVERITY, CodeInsightColors.INFORMATION_ATTRIBUTES);
index 96f30670f4a71798c77afb463b21a14860ee5e27..a9b2ce6a04e9971e88adf083e12777e0aa2da891 100644 (file)
@@ -37,10 +37,10 @@ public class Descriptor {
   private final HighlightDisplayKey myKey;
   
   private final Element myConfig;
-  private InspectionProfileEntry myTool;
+  private final InspectionProfileEntry myTool;
   private final HighlightDisplayLevel myLevel;
   private boolean myEnabled = false;
-  private NamedScope myScope;
+  private final NamedScope myScope;
   private static final Logger LOG = Logger.getInstance("#com.intellij.codeInspection.ex.Descriptor");
   private final ScopeToolState myState;
 
index 16e8f08f4150c532e81ee51932cd023d09eda103..0ba7cc955ffc24dd6b660d790360119dc71cfe8a 100644 (file)
@@ -24,7 +24,6 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.net.URL;
-import java.net.URLConnection;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Locale;
@@ -47,7 +46,7 @@ public class ResourceUtil {
       if (url == null) continue;
 
       try {
-        final URLConnection connection = url.openConnection();
+        url.openConnection();
       }
       catch (IOException e) {
         continue;
@@ -105,7 +104,8 @@ public class ResourceUtil {
     return result;
   }
 
-  public static @NotNull String loadText(@NotNull URL url) throws IOException {
+  @NotNull
+  public static String loadText(@NotNull URL url) throws IOException {
     InputStream inputStream = new BufferedInputStream(URLUtil.openStream(url));
 
     InputStreamReader reader = null;