Package com.tonic.analysis.dataflow
Enum DataFlowEdgeType
- java.lang.Object
-
- java.lang.Enum<DataFlowEdgeType>
-
- com.tonic.analysis.dataflow.DataFlowEdgeType
-
- All Implemented Interfaces:
Serializable,Comparable<DataFlowEdgeType>
public enum DataFlowEdgeType extends Enum<DataFlowEdgeType>
Types of edges in a data flow graph.
-
-
Enum Constant Summary
Enum Constants Enum Constant Description ARRAY_LOADA value read out of an array element by an array load.ARRAY_STOREA value written into an array element by an array store.CALL_ARGA value passed into an invocation as an argument, carrying it into the callee.CALL_RETURNA value produced by an invocation and flowing back out to the caller.DEF_USEA value flowing straight from the instruction that defines it to an instruction that reads it.FIELD_LOADA value read out of an instance or static field by a field load.FIELD_STOREA value written into an instance or static field by a field store.OPERANDA value consumed as an operand of a computation, such as an arithmetic or comparison instruction.PHI_INPUTA value reaching a phi node along one of its incoming control flow edges.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetDescription()StringgetDisplayName()booleanpropagatesTaint()Reports whether taint travels along this edge type.static DataFlowEdgeTypevalueOf(String name)Returns the enum constant of this type with the specified name.static DataFlowEdgeType[]values()Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
DEF_USE
public static final DataFlowEdgeType DEF_USE
A value flowing straight from the instruction that defines it to an instruction that reads it.
-
PHI_INPUT
public static final DataFlowEdgeType PHI_INPUT
A value reaching a phi node along one of its incoming control flow edges.
-
CALL_ARG
public static final DataFlowEdgeType CALL_ARG
A value passed into an invocation as an argument, carrying it into the callee.
-
CALL_RETURN
public static final DataFlowEdgeType CALL_RETURN
A value produced by an invocation and flowing back out to the caller.
-
FIELD_STORE
public static final DataFlowEdgeType FIELD_STORE
A value written into an instance or static field by a field store.
-
FIELD_LOAD
public static final DataFlowEdgeType FIELD_LOAD
A value read out of an instance or static field by a field load.
-
ARRAY_STORE
public static final DataFlowEdgeType ARRAY_STORE
A value written into an array element by an array store.
-
ARRAY_LOAD
public static final DataFlowEdgeType ARRAY_LOAD
A value read out of an array element by an array load.
-
OPERAND
public static final DataFlowEdgeType OPERAND
A value consumed as an operand of a computation, such as an arithmetic or comparison instruction.
-
-
Method Detail
-
values
public static DataFlowEdgeType[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (DataFlowEdgeType c : DataFlowEdgeType.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static DataFlowEdgeType valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum type has no constant with the specified nameNullPointerException- if the argument is null
-
getDisplayName
public String getDisplayName()
- Returns:
- the display name
-
getDescription
public String getDescription()
- Returns:
- the description
-
propagatesTaint
public boolean propagatesTaint()
Reports whether taint travels along this edge type.- Returns:
- true - every data flow edge kind carries taint
-
-