EditorContext, EDU.purdue.cs.bloat.inline.InlineContextPersistentBloatContextpublic abstract class BloatContext
extends java.lang.Object
implements EDU.purdue.cs.bloat.inline.InlineContext
| Modifier and Type | Field | Description |
|---|---|---|
protected EDU.purdue.cs.bloat.inline.CallGraph |
callGraph |
|
static boolean |
DEBUG |
|
protected java.util.Set |
ignoreClasses |
|
protected java.util.Set |
ignoreFields |
|
protected java.util.Set |
ignoreMethods |
|
protected java.util.Set |
ignorePackages |
|
protected boolean |
ignoreSystem |
|
protected EDU.purdue.cs.bloat.inline.InlineStats |
inlineStats |
|
protected ClassInfoLoader |
loader |
|
protected java.util.Set |
roots |
| Constructor | Description |
|---|---|
BloatContext(ClassInfoLoader loader) |
Constructor.
|
| Modifier and Type | Method | Description |
|---|---|---|
void |
addIgnoreClass(Type type) |
Notes that a class should be ignored by inlining.
|
void |
addIgnoreField(MemberRef field) |
Notes that a field should be ignored by inlining.
|
void |
addIgnoreMethod(MemberRef method) |
Notes that a method should be ignored by inlining.
|
void |
addIgnorePackage(java.lang.String name) |
Notes that all classes, methods, and fields in a package should be
"ignored" by inlining.
|
abstract void |
commitDirty() |
Commits all classes, methods, and fields, that have been modified.
|
protected static void |
db(java.lang.String s) |
|
EDU.purdue.cs.bloat.inline.CallGraph |
getCallGraph() |
Returns the call graph for the program.
|
EDU.purdue.cs.bloat.inline.InlineStats |
getInlineStats() |
Returns an InlineStats object for getting statistics about
inlining.
|
boolean |
ignoreClass(Type type) |
Returns true if a class should be ignored by inlining.
|
boolean |
ignoreField(MemberRef field) |
Returns true if a field should be ignored by inlining.
|
boolean |
ignoreMethod(MemberRef method) |
Returns true if a method should be ignored by inlining.
|
static boolean |
isSystem(Type type) |
Returns true if the give type is a system class (that is, has
the same class loader as java.lang.String).
|
static void |
main(java.lang.String[] args) |
Test the ignore stuff.
|
void |
setIgnoreSystem(boolean ignore) |
Sets whether or not we ignore all system classes.
|
void |
setRootMethods(java.util.Set roots) |
Sets the root methods for this InlineContext.
|
commit, commit, commit, commit, editClass, editClass, editClass, editField, editField, editMethod, editMethod, getHierarchy, loadClass, newClass, newClassInfo, release, release, releasepublic static boolean DEBUG
protected EDU.purdue.cs.bloat.inline.InlineStats inlineStats
protected java.util.Set ignorePackages
protected java.util.Set ignoreClasses
protected java.util.Set ignoreMethods
protected java.util.Set ignoreFields
protected boolean ignoreSystem
protected EDU.purdue.cs.bloat.inline.CallGraph callGraph
protected java.util.Set roots
protected ClassInfoLoader loader
public BloatContext(ClassInfoLoader loader)
protected static void db(java.lang.String s)
public static boolean isSystem(Type type)
public void setRootMethods(java.util.Set roots)
EDU.purdue.cs.bloat.inline.InlineContextsetRootMethods in interface EDU.purdue.cs.bloat.inline.InlineContextroots - The root methods (MemberRefs) of the programpublic EDU.purdue.cs.bloat.inline.CallGraph getCallGraph()
EDU.purdue.cs.bloat.inline.InlineContextgetCallGraph in interface EDU.purdue.cs.bloat.inline.InlineContextpublic EDU.purdue.cs.bloat.inline.InlineStats getInlineStats()
EDU.purdue.cs.bloat.inline.InlineContextgetInlineStats in interface EDU.purdue.cs.bloat.inline.InlineContextpublic void addIgnorePackage(java.lang.String name)
EDU.purdue.cs.bloat.inline.InlineContextaddIgnorePackage in interface EDU.purdue.cs.bloat.inline.InlineContextpublic void addIgnoreClass(Type type)
EDU.purdue.cs.bloat.inline.InlineContextaddIgnoreClass in interface EDU.purdue.cs.bloat.inline.InlineContextpublic void addIgnoreMethod(MemberRef method)
EDU.purdue.cs.bloat.inline.InlineContextaddIgnoreMethod in interface EDU.purdue.cs.bloat.inline.InlineContextpublic void addIgnoreField(MemberRef field)
EDU.purdue.cs.bloat.inline.InlineContextaddIgnoreField in interface EDU.purdue.cs.bloat.inline.InlineContextpublic void setIgnoreSystem(boolean ignore)
EDU.purdue.cs.bloat.inline.InlineContextsetIgnoreSystem in interface EDU.purdue.cs.bloat.inline.InlineContextpublic boolean ignoreClass(Type type)
EDU.purdue.cs.bloat.inline.InlineContextignoreClass in interface EDU.purdue.cs.bloat.inline.InlineContextpublic boolean ignoreMethod(MemberRef method)
EDU.purdue.cs.bloat.inline.InlineContextignoreMethod in interface EDU.purdue.cs.bloat.inline.InlineContextpublic boolean ignoreField(MemberRef field)
EDU.purdue.cs.bloat.inline.InlineContextignoreField in interface EDU.purdue.cs.bloat.inline.InlineContextpublic abstract void commitDirty()
public static void main(java.lang.String[] args)