summaryrefslogtreecommitdiff
path: root/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2013-06-20 15:12:35 -0700
committerTor Norbye <tnorbye@google.com>2013-06-20 15:12:35 -0700
commit0e154c74931b6ff5ad6e0ec512b32e30df3cb068 (patch)
treef11327e8a38cd36b012c743a78e3dbf856b857f0 /java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java
parent9a718963c1d41c5bcd3a1bdd5e518d497964ccdf (diff)
downloadidea-0e154c74931b6ff5ad6e0ec512b32e30df3cb068.tar.gz
Snapshot 4a019151cb9b5542ea5ba9ed2f07b29cee0951f0 from master branch of git://git.jetbrains.org/idea/community.git
Change-Id: I2fd287fc46a5378a4c437af4c884c3a3be94c330
Diffstat (limited to 'java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java')
-rw-r--r--java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java11
1 files changed, 8 insertions, 3 deletions
diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java
index 369f6ece05d4..24850aa689c5 100644
--- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java
+++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java
@@ -29,6 +29,7 @@ import com.intellij.psi.util.*;
import com.intellij.util.IncorrectOperationException;
import com.intellij.util.containers.Stack;
import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.*;
@@ -38,6 +39,7 @@ import static com.intellij.psi.CommonClassNames.*;
class ControlFlowAnalyzer extends JavaElementVisitor {
private static final Logger LOG = Logger.getInstance("#com.intellij.codeInspection.dataFlow.ControlFlowAnalyzer");
private static final int NOT_FOUND = -10;
+ private boolean myIgnoreAssertions;
private static class CannotAnalyzeException extends RuntimeException { }
@@ -54,9 +56,8 @@ class ControlFlowAnalyzer extends JavaElementVisitor {
myFactory = valueFactory;
}
- public ControlFlow buildControlFlow(PsiElement codeFragment) {
- if (codeFragment == null) return null;
-
+ public ControlFlow buildControlFlow(@NotNull PsiElement codeFragment, boolean ignoreAssertions) {
+ myIgnoreAssertions = ignoreAssertions;
PsiManager manager = codeFragment.getManager();
GlobalSearchScope scope = codeFragment.getResolveScope();
myRuntimeException = myFactory.getNotNullFactory().create(PsiType.getJavaLangRuntimeException(manager, scope));
@@ -203,6 +204,10 @@ class ControlFlowAnalyzer extends JavaElementVisitor {
}
@Override public void visitAssertStatement(PsiAssertStatement statement) {
+ if (myIgnoreAssertions) {
+ return;
+ }
+
startElement(statement);
final PsiExpression condition = statement.getAssertCondition();
final PsiExpression description = statement.getAssertDescription();