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