Class PersistentBloatContext

java.lang.Object
EDU.purdue.cs.bloat.context.BloatContext
EDU.purdue.cs.bloat.context.PersistentBloatContext
All Implemented Interfaces:
EditorContext, EDU.purdue.cs.bloat.inline.InlineContext
Direct Known Subclasses:
CachingBloatContext

public class PersistentBloatContext extends BloatContext
Maintains all BLOAT data structures as if they were meant to reside in a persistent store. As a result, it keeps every piece of BLOAT data around because it might be needed in the future. No fancing cache maintainence is performed. Because we are going for maximum information we take the closure of classes when working with the class hierarchy.
  • Field Details

    • hierarchy

      protected final ClassHierarchy hierarchy
    • classInfos

      protected Map classInfos
    • methodInfos

      protected Map methodInfos
    • fieldInfos

      protected Map fieldInfos
    • classEditors

      protected Map classEditors
    • methodEditors

      protected Map methodEditors
    • fieldEditors

      protected Map fieldEditors
    • DB_COMMIT

      public static boolean DB_COMMIT
  • Constructor Details

    • PersistentBloatContext

      public PersistentBloatContext(ClassInfoLoader loader)
      Constructor. Each BloatContext stems from a ClassInfoLoader. Using the loader it can create an Editor and such. Initially, no classes are loaded.
    • PersistentBloatContext

      protected PersistentBloatContext(ClassInfoLoader loader, boolean closure)
      Constructor. It is the responsibility of the subclasses to add classes to the hierarchy by calling addClasses.
      Parameters:
      loader - Used to load classes
      closure - Do we look for the maximum number of classes?
  • Method Details