KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > edu > umd > cs > findbugs > ba > npe > IsNullValueAnalysisFeatures


1 /*
2  * Bytecode Analysis Framework
3  * Copyright (C) 2005, University of Maryland
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18  */

19
20 /*
21  * Created on Feb 22, 2005
22  */

23 package edu.umd.cs.findbugs.ba.npe;
24
25 import edu.umd.cs.findbugs.SystemProperties;
26
27 /**
28  * Knobs for null value analysis.
29  *
30  * @author David Hovemeyer
31  */

32 public interface IsNullValueAnalysisFeatures {
33
34     /**
35      * Do not downgrade "null on simple path" values to "null on complex path"
36      * on control splits.
37      */

38     public static final boolean NO_SPLIT_DOWNGRADE_NSP =
39         SystemProperties.getBoolean("inva.noSplitDowngradeNSP");
40     
41     /**
42      * Don't consider switch default cases as exception paths.
43      */

44     public static final boolean NO_SWITCH_DEFAULT_AS_EXCEPTION =
45         SystemProperties.getBoolean("inva.noSwitchDefaultAsException");
46
47     /**
48      * Keep track of an extra branch, so we can distinguish
49      * conditionally-null values with two branches from
50      * conditionally-null values with three or more branches.
51      */

52     public static final boolean NCP_EXTRA_BRANCH =
53         SystemProperties.getBoolean("inva.ncpExtraBranch");
54     
55     /**
56      * If this property is true, then we assume parameters
57      * and return values can be null (but aren't definitely null).
58      */

59     public static final boolean UNKNOWN_VALUES_ARE_NSP =
60         SystemProperties.getBoolean("findbugs.nullderef.assumensp");
61
62 }
63
Popular Tags