001    package edu.rice.cs.cunit.instrumentors;
002    
003    import edu.rice.cs.cunit.classFile.ClassFile;
004    
005    import edu.rice.cs.cunit.instrumentors.util.CompoundStrategy;
006    
007    import edu.rice.cs.cunit.instrumentors.util.ConditionalStrategy;
008    
009    
010    
011    import java.util.List;
012    
013    /**
014     * Compound instrumentor for instrumenting CUnit system classes.
015     * @author Mathias Ricken
016     */
017    public class CompoundCompactSystemStrategy extends CompoundStrategy {
018        /**
019         * Create a new compound instrumentor for instrumenting CUnit system classes.
020         * @param parameters parameters for the instrumentors
021         */
022        public CompoundCompactSystemStrategy(List<String> parameters) {
023            super(parameters);
024            getCombined().add(new ConditionalStrategy(new MarkerInlineStrategy()) {
025                public boolean apply(ClassFile cf) {
026                    return (cf.getThisClassName().equals("edu.rice.cs.cunit.SyncPointBuffer"));
027                }
028            });
029        }
030    
031        /**
032         * Instrumentation of all classes is done.
033         */
034        public void done() {
035            // nothing to do
036        }
037    }
038