From 75c42570f222835d7243f4f86ff0c5e18b3328c5 Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 6 Jun 2014 10:36:37 +0200 Subject: [PATCH] MethodContract.createConstraintArray --- .../dataFlow/ControlFlowAnalyzer.java | 14 +++----------- .../codeInspection/dataFlow/MethodContract.java | 8 ++++++++ 2 files changed, 11 insertions(+), 11 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 e6ac2b2d4409..65e7fd7c859a 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 @@ -1465,18 +1465,18 @@ public class ControlFlowAnalyzer extends JavaElementVisitor { final String className = owner.getQualifiedName(); if ("java.lang.System".equals(className)) { if ("exit".equals(methodName)) { - return Collections.singletonList(new MethodContract(getAnyArgConstraints(paramCount), ValueConstraint.THROW_EXCEPTION)); + return Collections.singletonList(new MethodContract(MethodContract.createConstraintArray(paramCount), ValueConstraint.THROW_EXCEPTION)); } } else if ("junit.framework.Assert".equals(className) || "org.junit.Assert".equals(className) || "junit.framework.TestCase".equals(className) || "org.testng.Assert".equals(className) || "org.testng.AssertJUnit".equals(className)) { boolean testng = className.startsWith("org.testng."); if ("fail".equals(methodName)) { - return Collections.singletonList(new MethodContract(getAnyArgConstraints(paramCount), ValueConstraint.THROW_EXCEPTION)); + return Collections.singletonList(new MethodContract(MethodContract.createConstraintArray(paramCount), ValueConstraint.THROW_EXCEPTION)); } int checkedParam = testng ? 0 : paramCount - 1; - ValueConstraint[] constraints = getAnyArgConstraints(paramCount); + ValueConstraint[] constraints = MethodContract.createConstraintArray(paramCount); if ("assertTrue".equals(methodName)) { constraints[checkedParam] = ValueConstraint.FALSE_VALUE; return Collections.singletonList(new MethodContract(constraints, ValueConstraint.THROW_EXCEPTION)); @@ -1505,14 +1505,6 @@ public class ControlFlowAnalyzer extends JavaElementVisitor { return AnnotationUtil.findAnnotation(method, ORG_JETBRAINS_ANNOTATIONS_CONTRACT); } - private static ValueConstraint[] getAnyArgConstraints(int paramCount) { - ValueConstraint[] args = new ValueConstraint[paramCount]; - for (int i = 0; i < args.length; i++) { - args[i] = ValueConstraint.ANY_VALUE; - } - return args; - } - private void pushTypeOrUnknown(PsiExpression expr) { PsiType type = expr.getType(); diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/MethodContract.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/MethodContract.java index f7a5a8b1870a..160f69ba349e 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/MethodContract.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/MethodContract.java @@ -36,6 +36,14 @@ public class MethodContract { this.returnValue = returnValue; } + static ValueConstraint[] createConstraintArray(int paramCount) { + ValueConstraint[] args = new ValueConstraint[paramCount]; + for (int i = 0; i < args.length; i++) { + args[i] = ValueConstraint.ANY_VALUE; + } + return args; + } + @Override public String toString() { return StringUtil.join(arguments, new Function() {