Uses of Class
edu.rice.cs.cunit.classFile.ClassFile

Packages that use ClassFile
edu.rice.cs.cunit   
edu.rice.cs.cunit.classFile   
edu.rice.cs.cunit.classFile.attributes   
edu.rice.cs.cunit.instrumentors   
edu.rice.cs.cunit.instrumentors.delay   
edu.rice.cs.cunit.instrumentors.record   
edu.rice.cs.cunit.instrumentors.threadCheck   
edu.rice.cs.cunit.instrumentors.util   
 

Uses of ClassFile in edu.rice.cs.cunit
 

Methods in edu.rice.cs.cunit with parameters of type ClassFile
protected  void InstrumentingClassLoader.recurIntoClasses(ClassFile cf, boolean resolve)
          Recur into all the classes defined in the class.
 

Uses of ClassFile in edu.rice.cs.cunit.classFile
 

Fields in edu.rice.cs.cunit.classFile declared as ClassFile
private  ClassFile ClassFileTools.ClassLocation._cf
           
 

Methods in edu.rice.cs.cunit.classFile that return ClassFile
static ClassFile ClassFileTools.findClassInFiles(java.lang.String className, java.util.Set<java.lang.String> filesToConsider)
          Find a class in the files to consider and return its class file info.
 ClassFile ClassFileTools.ClassLocation.getClassFile()
           
static ClassFile ClassFileTools.loadClassFromStream(java.io.InputStream is)
          Load class file info from the stream.
 

Methods in edu.rice.cs.cunit.classFile with parameters of type ClassFile
static java.util.Set<java.lang.String> ClassFileTools.getClassNamesUsed(ClassFile cf)
          Returns a set of class names used in a class files.
 

Constructors in edu.rice.cs.cunit.classFile with parameters of type ClassFile
ClassFileTools.ClassLocation(java.lang.String className, ClassFile cf, java.io.InputStream inputStream, java.io.File file)
           
ClassFileTools.ClassLocation(java.lang.String className, ClassFile cf, java.io.InputStream inputStream, java.io.File file, java.util.jar.JarFile jarFile)
           
 

Uses of ClassFile in edu.rice.cs.cunit.classFile.attributes
 

Methods in edu.rice.cs.cunit.classFile.attributes with parameters of type ClassFile
static void InstrumentationAttributeInfo.addInstrumentationAttributeInfo(ClassFile cf, java.util.Collection<java.lang.String> itors)
          Add the Instrumentation attribute with the given list of instrumentors to the class file.
static void InstrumentationAttributeInfo.addInstrumentationAttributeInfo(ClassFile cf, java.util.List<IInstrumentationStrategy> itors)
          Add the Instrumentation attribute with the given list of instrumentors to the class file.
static void InstrumentationAttributeInfo.addInstrumentationAttributeInfo(ClassFile cf, java.lang.String s)
          Add the Instrumentation attribute with the given instrumentor class name string to the class file.
 

Uses of ClassFile in edu.rice.cs.cunit.instrumentors
 

Methods in edu.rice.cs.cunit.instrumentors with parameters of type ClassFile
private  void MarkerInlineStrategy.addNamesIfNecessary(ClassFile cf)
          Add names to the constant pool if necessary.
 void AssignThreadIDStrategy.instrument(ClassFile cf)
          Instrument the class.
 void IInstrumentationStrategy.instrument(ClassFile cf)
          Instrument the class.
 void MarkerInlineStrategy.instrument(ClassFile cf)
          Instrument the class.
 void SynchronizedMethodToBlockStrategy.instrument(ClassFile cf)
          Instrument the class.
protected  void SynchronizedMethodToBlockStrategy.instrumentSynchronizedMethod(ClassFile cf, MethodInfo mi, byte[] loadLockCode, int reqdStackSize)
          Instrument a synchronized method's code blocks.
protected  void SynchronizedMethodToBlockStrategy.instrumentSynchronizedMethods(ClassFile cf)
          Instrument synchronized methods in this class.
protected  void AssignThreadIDStrategy.processCtor(ClassFile cf, MethodInfo mi, int threadID, int nextThreadID, int oldThread)
          Process this constructor.
 

Uses of ClassFile in edu.rice.cs.cunit.instrumentors.delay
 

Methods in edu.rice.cs.cunit.instrumentors.delay with parameters of type ClassFile
 boolean CallOnObjectNotifyStrategy.insertEndOfMethod(ClassFile cf, MethodInfo mi, InstructionList il, boolean insertBefore, boolean insertAfter)
          Insert instructions at the end of the method.
 boolean CallOnObjectWaitStrategy.insertEndOfMethod(ClassFile cf, MethodInfo mi, InstructionList il, boolean insertBefore, boolean insertAfter)
          Insert instructions at the end of the method.
 boolean CallOnSynchronizedBlockStrategy.insertEndOfMethod(ClassFile cf, MethodInfo mi, InstructionList il, boolean insertBefore, boolean insertAfter)
          Insert instructions at the end of the method.
 boolean CallOnThreadExitStrategy.insertEndOfMethod(ClassFile cf, MethodInfo mi, InstructionList il, boolean insertBefore, boolean insertAfter)
          Insert instructions at the end of the method.
 boolean CallOnThreadJoinStrategy.insertEndOfMethod(ClassFile cf, MethodInfo mi, InstructionList il, boolean insertBefore, boolean insertAfter)
          Insert instructions at the end of the method.
 boolean CallOnThreadRunStrategy.insertEndOfMethod(ClassFile cf, MethodInfo mi, InstructionList il, boolean insertBefore, boolean insertAfter)
          Insert instructions at the end of the method.
 boolean CallOnThreadStartStrategy.insertEndOfMethod(ClassFile cf, MethodInfo mi, InstructionList il, boolean insertBefore, boolean insertAfter)
          Insert instructions at the end of the method.
 void CallOnObjectNotifyStrategy.insertInstructionsAfter(ClassFile cf, MethodInfo mi, InstructionList il)
          Add instructions to call SyncPointBuffer.randomDelay after calls to Object.notify and Object.notifyAll.
 void CallOnObjectWaitStrategy.insertInstructionsAfter(ClassFile cf, MethodInfo mi, InstructionList il)
          Add instructions to call SyncPointBuffer.randomDelay after calls to Object.wait.
 void CallOnSynchronizedBlockStrategy.insertInstructionsAfter(ClassFile cf, MethodInfo mi, InstructionList il)
          Add instructions to call SyncPointBuffer.randomDelay after a monitorenter.
 void CallOnThreadExitStrategy.insertInstructionsAfter(ClassFile cf, MethodInfo mi, InstructionList il)
          Insert instructions after.
 void CallOnThreadJoinStrategy.insertInstructionsAfter(ClassFile cf, MethodInfo mi, InstructionList il)
          Insert instructions after.
 void CallOnThreadRunStrategy.insertInstructionsAfter(ClassFile cf, MethodInfo mi, InstructionList il)
          Insert instructions after.
 void CallOnThreadStartStrategy.insertInstructionsAfter(ClassFile cf, MethodInfo mi, InstructionList il)
          Insert instructions after.
 void CallOnObjectNotifyStrategy.insertInstructionsBefore(ClassFile cf, MethodInfo mi, InstructionList il)
          Add instructions to call SyncPointBuffer.randomDelay before calls to Object.notify and Object.notifyAll.
 void CallOnObjectWaitStrategy.insertInstructionsBefore(ClassFile cf, MethodInfo mi, InstructionList il)
          Add instructions to call SyncPointBuffer.randomDelay before calls to Object.wait.
 void CallOnSynchronizedBlockStrategy.insertInstructionsBefore(ClassFile cf, MethodInfo mi, InstructionList il)
          Add instructions to call SyncPointBuffer.randomDelay before a monitorenter.
 void CallOnThreadExitStrategy.insertInstructionsBefore(ClassFile cf, MethodInfo mi, InstructionList il)
          Add instructions to call SyncPointBuffer.delayThreadExit.
 void CallOnThreadJoinStrategy.insertInstructionsBefore(ClassFile cf, MethodInfo mi, InstructionList il)
          Add instructions to call SyncPointBuffer.delayThreadExit.
 void CallOnThreadRunStrategy.insertInstructionsBefore(ClassFile cf, MethodInfo mi, InstructionList il)
          Add instructions to call SyncPointBuffer.delayThreadExit.
 void CallOnThreadStartStrategy.insertInstructionsBefore(ClassFile cf, MethodInfo mi, InstructionList il)
          Add instructions to call SyncPointBuffer.delayThreadStart.
 void CallOnObjectNotifyStrategy.modifyStackAndLocals(ClassFile cf, MethodInfo mi, InstructionList il, boolean insertBefore, boolean insertAfter, boolean insertEndOfMethod)
          Modify the stack size and number of local variables so that the added instructions can execute.
 void CallOnObjectWaitStrategy.modifyStackAndLocals(ClassFile cf, MethodInfo mi, InstructionList il, boolean insertBefore, boolean insertAfter, boolean insertEndOfMethod)
          Modify the stack size and number of local variables so that the added instructions can execute.
 void CallOnSynchronizedBlockStrategy.modifyStackAndLocals(ClassFile cf, MethodInfo mi, InstructionList il, boolean insertBefore, boolean insertAfter, boolean insertEndOfMethod)
          Modify the stack size and number of local variables so that the added instructions can execute.
 void CallOnThreadExitStrategy.modifyStackAndLocals(ClassFile cf, MethodInfo mi, InstructionList il, boolean insertBefore, boolean insertAfter, boolean insertEndOfMethod)
          Modify the stack size and number of local variables so that the added instructions can execute.
 void CallOnThreadJoinStrategy.modifyStackAndLocals(ClassFile cf, MethodInfo mi, InstructionList il, boolean insertBefore, boolean insertAfter, boolean insertEndOfMethod)
          Modify the stack size and number of local variables so that the added instructions can execute.
 void CallOnThreadRunStrategy.modifyStackAndLocals(ClassFile cf, MethodInfo mi, InstructionList il, boolean insertBefore, boolean insertAfter, boolean insertEndOfMethod)
          Modify the stack size and number of local variables so that the added instructions can execute.
 void CallOnThreadStartStrategy.modifyStackAndLocals(ClassFile cf, MethodInfo mi, InstructionList il, boolean insertBefore, boolean insertAfter, boolean insertEndOfMethod)
          Modify the stack size and number of local variables so that the added instructions can execute.
 

Uses of ClassFile in edu.rice.cs.cunit.instrumentors.record
 

Methods in edu.rice.cs.cunit.instrumentors.record with parameters of type ClassFile
 boolean CompactRecordBufferCodeStrategy.insertEndOfMethod(ClassFile cf, MethodInfo mi, InstructionList il, boolean insertBefore, boolean insertAfter)
          Insert instructions at the end of the method.
 boolean CompactRecordThreadExitStrategy.insertEndOfMethod(ClassFile cf, MethodInfo mi, InstructionList il, boolean insertBefore, boolean insertAfter)
          Insert instructions at the end of the method.
 void CompactRecordBufferCodeStrategy.insertInstructionsAfter(ClassFile cf, MethodInfo mi, InstructionList il)
          Insert instructions after.
 void CompactRecordBufferCodeStrategy.insertInstructionsBefore(ClassFile cf, MethodInfo mi, InstructionList il)
          Add instructions to call SyncPointBuffer.
 void CompactSynchronizedBlockStrategy.instrument(ClassFile cf)
          Instrument the class.
 void CompactRecordBufferCodeStrategy.modifyStackAndLocals(ClassFile cf, MethodInfo mi, InstructionList il, boolean insertBefore, boolean insertAfter, boolean insertEndOfMethod)
          Modify the stack size and number of local variables so that the added instructions can execute.
 

Constructor parameters in edu.rice.cs.cunit.instrumentors.record with type arguments of type ClassFile
CompactRecordBufferCodeStrategy(IPredicate<ClassFile> classPredicate, IPredicate.Binary<ClassFile,MethodInfo> methodPredicate, IPredicate.Ternary<ClassFile,MethodInfo,InstructionList> opcodePredicate, long code)
          Create a new strategy with the specified predicates.
CompactRecordBufferCodeStrategy(IPredicate<ClassFile> classPredicate, IPredicate.Binary<ClassFile,MethodInfo> methodPredicate, IPredicate.Ternary<ClassFile,MethodInfo,InstructionList> opcodePredicate, long code)
          Create a new strategy with the specified predicates.
CompactRecordBufferCodeStrategy(IPredicate<ClassFile> classPredicate, IPredicate.Binary<ClassFile,MethodInfo> methodPredicate, IPredicate.Ternary<ClassFile,MethodInfo,InstructionList> opcodePredicate, long code)
          Create a new strategy with the specified predicates.
 

Uses of ClassFile in edu.rice.cs.cunit.instrumentors.threadCheck
 

Fields in edu.rice.cs.cunit.instrumentors.threadCheck declared as ClassFile
protected  ClassFile AddPredicateThreadCheckStrategy._templatePredicateClassFile
          The predicate class file which is cloned for the auto-generated predicates.
 

Methods in edu.rice.cs.cunit.instrumentors.threadCheck with parameters of type ClassFile
protected  void AThreadCheckStrategy.checkCombineMembers(ClassFile annotCF, boolean passMethods)
          Check that the members of the annotation class file are all Thread Checker annotations or arrays thereof.
protected  void AAddThreadCheckStrategy.checkForSubtypingClassWarnings(ClassFile cf, MethodInfo mi, ClassFile scf, ThreadCheckAnnotationRecord classAR, ThreadCheckAnnotationRecord superClassAR)
          Check for subtyping warnings.
protected  void AThreadCheckStrategy.checkPredicateMembers(ClassFile annotCF, boolean passMethods)
          Check that the members of the annotation class do not contain annotations or arrays of annotations
protected  boolean AThreadCheckStrategy.checkPublicStaticIfNestedClass(ClassFile predicateCF, ClassFile cf)
          Check that the class file, should it be a nested class and not a top-level class, is public static, and the same applies to all its enclosing classes.
protected  ThreadCheckAnnotationRecord AAddThreadCheckStrategy.getClassAnnotations(ClassFile cf)
          Get the annotations for the specified class file.
protected  PredicateAnnotationRecord AddPredicateThreadCheckStrategy.getGeneratedPredicate(ClassFile cf, PredicateAnnotationRecord par, java.lang.String miDescriptor)
          Return a generated predicate annotation record for a @Combine-type annotation.
protected  ThreadCheckAnnotationRecord AAddThreadCheckStrategy.getMethodAnnotations(ClassFile cf, MethodInfo mi)
          Get the annotations for the specified method in the specified class file.
protected  PredicateAnnotationRecord AThreadCheckStrategy.getPredicateAnnotationRecord(AAnnotationsAttributeInfo.Annotation annot, ClassFileTools.ClassLocation annotCL, ClassFile predicateCF, java.lang.String predicateMethod, Combine.Mode combineMode, boolean passArguments)
          Return the method info for the predicate method, or null if not found.
protected  void AAddThreadCheckStrategy.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.
protected  int AddPredicateThreadCheckStrategy.insertPredicateCall(ClassFile cf, MethodInfo mi, InstructionList il, PredicateAnnotationRecord par)
          Insert a call to the predicate sp
 void AAddThreadCheckStrategy.SharedAddData.instrument(ClassFile cf)
          Instrument the class.
 void AThreadCheckStrategy.SharedData.instrument(ClassFile cf)
          Instrument the class.
 void AddPredicateThreadCheckStrategy.instrument(ClassFile cf)
          Instrument the class.
 void AddReflectionThreadCheckStrategy.instrument(ClassFile cf)
          Instrument the class.
 void AddThreadCheckStrategy.instrument(ClassFile cf)
          Instrument the class.
private  int AddPredicateThreadCheckStrategy.loadAndTransferMemberValue(AAnnotationsAttributeInfo.Annotation.AMemberValue value, java.lang.String paramType, ClassFile cf, MethodInfo mi, InstructionList il)
          Transfer the annotation member value to the class file.
private  void AddPredicateThreadCheckStrategy.loadArguments(ClassFile cf, MethodInfo mi, InstructionList il)
           
protected  void AddPredicateThreadCheckStrategy.transferAnnotation(AAnnotationsAttributeInfo.Annotation a, ClassFile cf, MethodInfo mi)
          Transfer the annotation to the class file.
 

Uses of ClassFile in edu.rice.cs.cunit.instrumentors.util
 

Fields in edu.rice.cs.cunit.instrumentors.util with type parameters of type ClassFile
protected  IPredicate.Ternary<ClassFile,MethodInfo,InstructionList> AInsertAtOpcodeStrategy._afterOpcodePredicate
          Predicate that decides if code should be inserted AFTER this opcode.
protected  IPredicate.Ternary<ClassFile,MethodInfo,InstructionList> AInsertAtOpcodeStrategy._beforeOpcodePredicate
          Predicate that decides if code should be inserted BEFORE this opcode.
protected  IPredicate<ClassFile> AInsertAtOpcodeStrategy._classPredicate
          Predicate that decides if this class should be instrumented.
protected  IPredicate.Binary<ClassFile,MethodInfo> AInsertAtOpcodeStrategy._methodPredicate
          Predicate that decides if this method should be instrumented.
protected static IPredicate.Ternary<ClassFile,MethodInfo,InstructionList> AInsertAtOpcodeStrategy.OPCODE_NEVER
          A predicate that always returns false, i.e.
 

Methods in edu.rice.cs.cunit.instrumentors.util with parameters of type ClassFile
abstract  boolean ConditionalStrategy.apply(ClassFile cf)
          Return true if the decoree should be applied to this class.
abstract  boolean AInsertAtOpcodeStrategy.insertEndOfMethod(ClassFile cf, MethodInfo mi, InstructionList il, boolean insertBefore, boolean insertAfter)
          Insert instructions at the end of the method.
abstract  void AInsertAtOpcodeStrategy.insertInstructionsAfter(ClassFile cf, MethodInfo mi, InstructionList il)
          Insert instructions after and advance past the instruction.
abstract  void AInsertAtOpcodeStrategy.insertInstructionsBefore(ClassFile cf, MethodInfo mi, InstructionList il)
          Insert instructions before.
 void AInsertAtOpcodeStrategy.instrument(ClassFile cf)
          Instrument the class.
 void CompoundStrategy.instrument(ClassFile cf)
          Instrument the class.
 void ConditionalStrategy.instrument(ClassFile cf)
          Instrument the class.
 void ScanForObjectCtorStrategy.instrument(ClassFile cf)
          Instrument the class.
abstract  void AInsertAtOpcodeStrategy.modifyStackAndLocals(ClassFile cf, MethodInfo mi, InstructionList il, boolean insertBefore, boolean insertAfter, boolean insertEndOfMethod)
          Modify the stack size and number of local variables so that the added instructions can execute.
 

Constructor parameters in edu.rice.cs.cunit.instrumentors.util with type arguments of type ClassFile
AInsertAtOpcodeStrategy(IPredicate<ClassFile> classPredicate, IPredicate.Binary<ClassFile,MethodInfo> methodPredicate, IPredicate.Ternary<ClassFile,MethodInfo,InstructionList> beforeOpcodePredicate, IPredicate.Ternary<ClassFile,MethodInfo,InstructionList> afterOpcodePredicate)
          Create a new strategy with the specified predicates.
AInsertAtOpcodeStrategy(IPredicate<ClassFile> classPredicate, IPredicate.Binary<ClassFile,MethodInfo> methodPredicate, IPredicate.Ternary<ClassFile,MethodInfo,InstructionList> beforeOpcodePredicate, IPredicate.Ternary<ClassFile,MethodInfo,InstructionList> afterOpcodePredicate)
          Create a new strategy with the specified predicates.
AInsertAtOpcodeStrategy(IPredicate<ClassFile> classPredicate, IPredicate.Binary<ClassFile,MethodInfo> methodPredicate, IPredicate.Ternary<ClassFile,MethodInfo,InstructionList> beforeOpcodePredicate, IPredicate.Ternary<ClassFile,MethodInfo,InstructionList> afterOpcodePredicate)
          Create a new strategy with the specified predicates.
AInsertAtOpcodeStrategy(IPredicate<ClassFile> classPredicate, IPredicate.Binary<ClassFile,MethodInfo> methodPredicate, IPredicate.Ternary<ClassFile,MethodInfo,InstructionList> beforeOpcodePredicate, IPredicate.Ternary<ClassFile,MethodInfo,InstructionList> afterOpcodePredicate)
          Create a new strategy with the specified predicates.