|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectedu.rice.cs.cunit.instrumentors.threadCheck.AThreadCheckStrategy
edu.rice.cs.cunit.instrumentors.threadCheck.AAddThreadCheckStrategy
public abstract class AAddThreadCheckStrategy
Abstract class for adding thread checks.
| Nested Class Summary | |
|---|---|
static class |
AAddThreadCheckStrategy.CacheInfo
Cache hit/miss message. |
static class |
AAddThreadCheckStrategy.OnlyAfterRealizedWarning
ONLY_AFTER_REALIZED warning |
static class |
AAddThreadCheckStrategy.SharedAddData
Data shared among all AAddThreadCheckStrategy instances. |
| Nested classes/interfaces inherited from class edu.rice.cs.cunit.instrumentors.threadCheck.AThreadCheckStrategy |
|---|
AThreadCheckStrategy.SharedData |
| Field Summary | |
|---|---|
(package private) AAddThreadCheckStrategy.SharedAddData |
_sharedAddData
Data shared among all AAddThreadCheckStrategy instances. |
static java.lang.String |
XML_ANNOT_SAVE_MERGED_PREFIX
Prefix for the parameter that determines the file name as which the merged XML configuration will be saved. |
| Fields inherited from class edu.rice.cs.cunit.instrumentors.threadCheck.AThreadCheckStrategy |
|---|
_sharedData, CLASS_PATH_PARAM_PREFIX, CLASS_SIG_SEPARATOR_STRING, DEFAULT_XML_CONC_DEF_PATH_PREFIX, DEFAULT_XML_PATH_PREFIX, UPDATE_PARAM_ORDER_PREFIX, XML_ANNOT_FORMAT_PARAM, XML_ANNOT_PARAM_PREFIX |
| Constructor Summary | |
|---|---|
AAddThreadCheckStrategy(AThreadCheckStrategy.SharedData shared,
AAddThreadCheckStrategy.SharedAddData sharedAdd)
Constructor for this strategy. |
|
AAddThreadCheckStrategy(java.util.List<java.lang.String> parameters,
AThreadCheckStrategy.SharedData shared,
AAddThreadCheckStrategy.SharedAddData sharedAdd)
Constructor for a strategy that adds thread checks. |
|
| Method Summary | |
|---|---|
protected void |
checkForSubtypingClassWarnings(ClassFile cf,
MethodInfo mi,
ClassFile scf,
ThreadCheckAnnotationRecord classAR,
ThreadCheckAnnotationRecord superClassAR)
Check for subtyping warnings. |
static java.util.Set<ThreadCheckException> |
checkXMLConcDef(XMLConfig xc)
Checks if an XML concurrency definition is well-formed. |
void |
done()
Instrumentation of all classes is done. |
private AAnnotationsAttributeInfo.Annotation |
extractAnnotation(org.w3c.dom.Node element,
org.w3c.dom.Node annotType,
boolean requireArrayDesc)
Extract an annotation from the XML node specified. |
protected AAnnotationsAttributeInfo.Annotation.AMemberValue |
extractMemberValue(org.w3c.dom.Node childNode,
boolean requireArrayDesc)
Extract an annotation member value from the XML node specified. |
ThreadCheckAnnotationRecord |
extractXMLAnnotations(org.w3c.dom.Node elt)
Extract annotations for the specified path from the XML file, if there is one. |
java.util.List<ThreadCheckDefinitionRecord> |
extractXMLConcDef(XMLConfig xc)
Extract the concurrency definitions from the XML file. |
ThreadCheckDefinitionRecord |
extractXMLConcDef(XMLConfig xc,
org.w3c.dom.Node def)
Extracts the concurrency definition from an XML concurrency definitions configuration at the given node. |
protected ThreadCheckAnnotationRecord |
getClassAnnotations(ClassFile cf)
Get the annotations for the specified class file. |
protected ThreadCheckAnnotationRecord |
getMethodAnnotations(ClassFile cf,
MethodInfo mi)
Get the annotations for the specified method in the specified class file. |
protected void |
insertCtorCall(ClassFile cf,
MethodInfo mi,
InstructionList il,
java.lang.String className,
java.lang.String ctorSig,
AInstruction loadValue)
Inserts a constructor call to the class specified for the value placed on the top of the stack. |
| Methods inherited from class edu.rice.cs.cunit.instrumentors.threadCheck.AThreadCheckStrategy |
|---|
checkCombineMembers, checkPredicateMembers, checkPublicStaticIfNestedClass, extractAnnotationArray, extractLists, extractLongArray, extractPredicateSet, extractStringArray, getAnnotationClassFile, getCombineMode, getPredicateAnnotationRecord, getPredicateLink, includePredicateMethodParameterOrder, processAnnotation |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface edu.rice.cs.cunit.instrumentors.IInstrumentationStrategy |
|---|
instrument |
| Field Detail |
|---|
public static final java.lang.String XML_ANNOT_SAVE_MERGED_PREFIX
AAddThreadCheckStrategy.SharedAddData _sharedAddData
| Constructor Detail |
|---|
public AAddThreadCheckStrategy(AThreadCheckStrategy.SharedData shared,
AAddThreadCheckStrategy.SharedAddData sharedAdd)
shared - data shared among all AThreadCheckStrategy instancessharedAdd - data for all AAddThreadCheckStrategy instances
public AAddThreadCheckStrategy(java.util.List<java.lang.String> parameters,
AThreadCheckStrategy.SharedData shared,
AAddThreadCheckStrategy.SharedAddData sharedAdd)
parameters - parameters for the instrumentorsshared - data shared among all AThreadCheckStrategy instancessharedAdd - data for all AAddThreadCheckStrategy instances| Method Detail |
|---|
protected ThreadCheckAnnotationRecord getClassAnnotations(ClassFile cf)
cf - class file
public java.util.List<ThreadCheckDefinitionRecord> extractXMLConcDef(XMLConfig xc)
xc - XML concurrency definitions configuration
public ThreadCheckAnnotationRecord extractXMLAnnotations(org.w3c.dom.Node elt)
elt - element that contains the name/group/id/eventThread elements
private AAnnotationsAttributeInfo.Annotation extractAnnotation(org.w3c.dom.Node element,
org.w3c.dom.Node annotType,
boolean requireArrayDesc)
element - XML nodeannotType - node for the annotationrequireArrayDesc -
protected AAnnotationsAttributeInfo.Annotation.AMemberValue extractMemberValue(org.w3c.dom.Node childNode,
boolean requireArrayDesc)
childNode - XML noderequireArrayDesc -
protected ThreadCheckAnnotationRecord getMethodAnnotations(ClassFile cf,
MethodInfo mi)
cf - class filemi - method information
protected void checkForSubtypingClassWarnings(ClassFile cf,
MethodInfo mi,
ClassFile scf,
ThreadCheckAnnotationRecord classAR,
ThreadCheckAnnotationRecord superClassAR)
cf - class filemi - method information, or null if on class levelscf - superclass/interface class fileclassAR - subclass annotationssuperClassAR - superclass annotations
public ThreadCheckDefinitionRecord extractXMLConcDef(XMLConfig xc,
org.w3c.dom.Node def)
xc - XML configurationdef - XML concurrency definition node
ThreadCheckExceptionpublic static java.util.Set<ThreadCheckException> checkXMLConcDef(XMLConfig xc)
xc - XML configuration
public void done()
done in interface IInstrumentationStrategydone in class AThreadCheckStrategy
protected void insertCtorCall(ClassFile cf,
MethodInfo mi,
InstructionList il,
java.lang.String className,
java.lang.String ctorSig,
AInstruction loadValue)
cf - class filemi - method infoil - instruction listclassName - name of the class to constructctorSig - signature of the constructorloadValue - instruction to load the value
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||