Package daikon.split
Class ContextSplitterFactory
- Object
-
- ContextSplitterFactory
-
public class ContextSplitterFactory extends Object
This factory creates Splitters from map files. The splitters partition the data based upon the the caller (i.e., which static callgraph edge was taken).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ContextSplitterFactory.MapfileEntry
Simple record type to store a map file entry.static class
ContextSplitterFactory.PptNameAndSplitters
Simple record type to store a PptName and Splitter array.
-
Field Summary
Fields Modifier and Type Field Description static Logger
debug
Debug tracer.static int
dkconfig_granularity
Enumeration (integer).static int
GRAIN_CLASS
Callsite granularity at the class level.static int
GRAIN_LINE
Callsite granularity at the line level.static int
GRAIN_METHOD
Callsite granularity at the method level.
-
Constructor Summary
Constructors Constructor Description ContextSplitterFactory()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
load_mapfiles_into_splitterlist(Collection<File> files, int grain)
Read all the map files in the given collection, create callsite splitters from them, and put the splitters into SplitterList.static ContextSplitterFactory.PptNameAndSplitters[]
make_context_splitters(ContextSplitterFactory.MapfileEntry[] entries, int grain)
Given map file data, create splitters given the requested granularity.static ContextSplitterFactory.MapfileEntry[]
parse_mapfile(File mapfile)
Read and parse a map file.
-
-
-
Field Detail
-
GRAIN_LINE
public static final int GRAIN_LINE
Callsite granularity at the line level.- See Also:
- Constant Field Values
-
GRAIN_METHOD
public static final int GRAIN_METHOD
Callsite granularity at the method level.- See Also:
- Constant Field Values
-
GRAIN_CLASS
public static final int GRAIN_CLASS
Callsite granularity at the class level.- See Also:
- Constant Field Values
-
dkconfig_granularity
public static int dkconfig_granularity
Enumeration (integer). Specifies the granularity to use for callsite splitter processing. (That is, for creating invariants for a method that are dependent on where the method was called from.) 0 is line-level granularity; 1 is method-level granularity; 2 is class-level granularity.
-
-
Constructor Detail
-
ContextSplitterFactory
public ContextSplitterFactory()
-
-
Method Detail
-
load_mapfiles_into_splitterlist
public static void load_mapfiles_into_splitterlist(Collection<File> files, int grain)
Read all the map files in the given collection, create callsite splitters from them, and put the splitters into SplitterList.- Parameters:
files
- set of File objects to read fromgrain
- one of the GRAIN constants defined in this class
-
parse_mapfile
public static ContextSplitterFactory.MapfileEntry[] parse_mapfile(File mapfile) throws IOException
Read and parse a map file.- Throws:
IOException
-
make_context_splitters
public static ContextSplitterFactory.PptNameAndSplitters[] make_context_splitters(ContextSplitterFactory.MapfileEntry[] entries, int grain)
Given map file data, create splitters given the requested granularity.- Parameters:
grain
- one of the GRAIN constants defined in this class
-
-