001: // $Id: EfficientExtension.java,v 1.2 2004/05/12 17:26:53 anicoara Exp $
002: // =====================================================================
003: //
004: // (history at end)
005: //
006:
007: package measurements.suites;
008:
009: // used packages
010: import java.lang.reflect.Field;
011:
012: import ch.ethz.jvmai.*;
013: import ch.ethz.prose.DefaultAspect;
014: import ch.ethz.prose.crosscut.*;
015: import ch.ethz.prose.filter.PointCutter;
016: import ch.ethz.prose.filter.Within;
017:
018: /**
019: * Class EfficientExtension XXX
020: *
021: * @version $Revision: 1.2 $
022: * @author Andrei Popovici
023: */
024: public class EfficientExtension extends DefaultAspect {
025: public Crosscut trapMethods = new MethodCut() {
026: public void METHOD_ARGS() {
027: }
028:
029: public void joinPointAction(MethodEntryJoinPoint jpe) {
030: }
031:
032: public void joinPointAction(MethodExitJoinPoint jpe) {
033: }
034:
035: protected PointCutter pointCutter() {
036: return (((Within.type("TestClassCalibration1")).OR(Within
037: .type("TestClass1"))).AND(Within
038: .packageTypes("measurements.suites")));
039: }
040: };
041:
042: public Crosscut trapFields = new SetCut() {
043: public void joinPointAction(FieldAccessJoinPoint jpe) {
044: }
045:
046: public void joinPointAction(FieldModificationJoinPoint jpe) {
047: }
048:
049: public void fieldAccessAdvice(Field f, Object target,
050: FieldAccessJoinPoint e) {
051: }
052:
053: public void SET_ARGS() {
054: }
055:
056: protected PointCutter pointCutter() {
057: return (((Within.type("TestClass1")).OR(Within
058: .type("TestClass1"))).AND(Within
059: .packageTypes("measurements.suites")));
060: }
061: };
062:
063: }
064:
065: //======================================================================
066: //
067: // $Log: EfficientExtension.java,v $
068: // Revision 1.2 2004/05/12 17:26:53 anicoara
069: // Adapt Junit tests to 3.8.1 version and the new package structure
070: //
071: // Revision 1.1.1.1 2003/07/02 15:30:45 apopovic
072: // Imported from ETH Zurich
073: //
074: // Revision 1.14 2003/05/05 14:03:02 popovici
075: // renaming from runes to prose
076: //
077: // Revision 1.13 2003/04/27 13:08:59 popovici
078: // Specializers renamed to PointCutter
079: //
080: // Revision 1.12 2003/04/17 15:14:53 popovici
081: // Extension->Aspect renaming
082: //
083: // Revision 1.11 2003/04/17 13:54:29 popovici
084: // Refactorization of 'ExecutionS' into 'Within' and 'Executions'.
085: // Method names refer now to 'types'
086: //
087: // Revision 1.10 2003/04/17 12:49:17 popovici
088: // Refactoring of the crosscut package
089: // ExceptionCut renamed to ThrowCut
090: // McutSignature is now SignaturePattern
091: //
092: // Revision 1.9 2003/04/17 08:46:58 popovici
093: // Important functionality additions
094: // - Cflow specializers
095: // - Restructuring of the MethodCut, SetCut, ThrowCut, and GetCut (they are much smaller)
096: // - Transactional capabilities
097: // - Total refactoring of Specializer evaluation, which permits fine-grained distinction
098: // between static and dynamic specializers.
099: // - Functionality pulled up in abstract classes
100: // - Uniformization of advice methods patterns and names
101: //
102: // Revision 1.8 2003/03/05 08:31:26 popovici
103: // Bug fix afeer import organization
104: //
105: // Revision 1.7 2003/03/04 18:36:00 popovici
106: // Organization of imprts
107: //
108: // Revision 1.6 2003/03/04 11:26:11 popovici
109: // Important refactorization step (march):
110: // - removal of 'JoinPointEvents'; JoinPoints now have the same function as events
111: // - reimplementation of the JVMAIDebuggerAspectInterface (better performance, coding conventions, removal of ProseVM
112: // structures
113: //
114: // Revision 1.5 2002/06/06 14:39:50 popovici
115: // Renamings: FunctionalCrosscut->MethodCut
116: // AllFields->SetCut
117: // SetCu.fieldModiticationAdvice -> SetCut.setAdvice
118: //
119: // Revision 1.4 2002/06/05 12:03:51 popovici
120: // thisJoinPoint() updated everywhere. The 'fieldModificationAdvice is now parameterless'; older implemnentations now
121: // use 'thisJoinPoint()'
122: //
123: // Revision 1.3 2002/06/04 12:36:09 popovici
124: // AllLocations occurences replaced with FunctionalCrosscut
125: //
126: // Revision 1.2 2002/05/22 11:00:35 popovici
127: // ClasseS replaced with DeclarationS
128: //
129: // Revision 1.1 2002/03/28 13:34:27 popovici
130: // Exit/Entry|Aspect and Exit/Entry|Aspect replace old ProseExtension & AspectJAspect files
131: //
132: // Revision 1.1 2002/03/12 09:50:14 popovici
133: // Initial version of the Benchmark measurements
134: //
|