1 package ch.ethz.prose.crosscut; 22 import java.lang.IllegalAccessException ; 23 import java.io.Serializable ; 24 import java.lang.InstantiationException ; 25 import java.lang.reflect.Field ; 26 import java.lang.Error ; 27 import java.lang.Class ; 28 import ch.ethz.inf.util.Logger; 29 import java.lang.SecurityException ; 30 import java.lang.ArrayIndexOutOfBoundsException ; 31 32 class ThrowHandleSignaturePattern extends SignaturePattern implements Serializable 33 { 34 private final AbstractCrosscut crosscut; 35 36 37 38 57 protected ThrowHandleSignaturePattern(ThrowCut crsc) throws MissingInformationException 58 { 59 this.crosscut = crsc; 60 initFromMethod(crsc.getClass(),"THROW_ARGS",ANY.class,ThrowCut.class); 61 } 62 63 64 69 protected boolean matchesExceptionClass(Class cls) 70 { 71 if (signatureCathegory == SIGNATURE__EMPTY) 72 return true; 73 else 74 { 75 return getLength() == 1 && isAssignable(cls,signature[1]); 77 } 78 } 79 80 81 82 public String toString() 83 { 84 return methodObj.toString(); 85 } 86 } 87 | Popular Tags |