daikon.split
Class ContextSplitterFactory

Object
  extended by 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
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
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
ContextSplitterFactory()
           
 
Method Summary
static void load_mapfiles_into_splitterlist(Collection<File> files, int grain)
           
static ContextSplitterFactory.PptNameAndSplitters[] make_context_splitters(ContextSplitterFactory.MapfileEntry[] entries, int grain)
           
static ContextSplitterFactory.MapfileEntry[] parse_mapfile(File mapfile)
          Read and parse a map file.
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

debug

public static final Logger debug
Debug tracer.


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. 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)
Parameters:
files - set of File objects to read from
grain - one of the GRAIN constants defined in this class Read all the map files in the given collection, create callsite splitters from them, and put the splitters into SplitterList.

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)
Parameters:
grain - one of the GRAIN constants defined in this class Given map file data, create splitters given the requested granularity.