1 package ch.ethz.prose.crosscut; 2 3 import java.lang.IllegalAccessException ; 4 import java.io.Serializable ; 5 import java.lang.InstantiationException ; 6 import java.lang.reflect.Field ; 7 import java.lang.Error ; 8 import java.lang.Class ; 9 import ch.ethz.inf.util.Logger; 10 import java.lang.SecurityException ; 11 import java.lang.ArrayIndexOutOfBoundsException ; 12 13 class CatchHandleSignaturePattern extends SignaturePattern implements Serializable 14 { 15 private final AbstractCrosscut crosscut; 16 17 18 19 38 protected CatchHandleSignaturePattern(CatchCut crsc) throws MissingInformationException 39 { 40 this.crosscut = crsc; 41 initFromMethod(crsc.getClass(),"CATCH_ARGS",ANY.class,CatchCut.class); 42 } 43 44 45 50 protected boolean matchesExceptionClass(Class cls) 51 { 52 if (signatureCathegory == SIGNATURE__EMPTY) 53 return true; 54 else 55 { 56 return getLength() == 1 && isAssignable(cls,signature[1]); 58 } 59 } 60 61 62 63 public String toString() 64 { 65 return methodObj.toString(); 66 } 67 } 68 | Popular Tags |