/** An interface to abstract out graph coloring algorithms. * * Colorers are most notably used when packing jimple locals * (soot.toolkits.scalar.LocalPacker) and in assigning locals stack locations * (soot.jimple.JasminClass). * * @author Kacper Wysocki */ package soot.toolkits.scalar; import soot.*; import java.util.*; import soot.toolkits.graph.*; public abstract class LocalColorer { /** Provides an economical coloring for the locals of * unitBody. */ public static void assignColorsToLocals(Body unitBody, Map localToGroup, Map localToColor, Map groupToColorCount){ throw new RuntimeException( "LocalColorer.assignColorsToLocals is an interface method"); } /** Provides a coloring for the locals of * unitBody, attempting to not * split locals assigned the same name in the original Jimple. */ public static void unsplitAssignColorsToLocals(Body unitBody, Map localToGroup, Map localToColor, Map groupToColorCount){ throw new RuntimeException( "LocalColorer.assignColorsToLocals is an interface method"); } }