|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object edu.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 instancespublic 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 instancesMethod 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 annotationspublic ThreadCheckDefinitionRecord extractXMLConcDef(XMLConfig xc, org.w3c.dom.Node def)
xc
- XML configurationdef
- XML concurrency definition node
ThreadCheckException
public static java.util.Set<ThreadCheckException> checkXMLConcDef(XMLConfig xc)
xc
- XML configuration
public void done()
done
in interface IInstrumentationStrategy
done
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 |