1 23 package org.hammurapi.inspectors; 24 25 import org.hammurapi.InspectorBase; 26 27 import com.pavelvlasov.jsel.JselException; 28 import com.pavelvlasov.jsel.LanguageElement; 29 import com.pavelvlasov.jsel.Repository; 30 import com.pavelvlasov.jsel.expressions.MethodCall; 31 import com.pavelvlasov.jsel.expressions.This; 32 33 34 40 public class ThisReferenceAsArgumentInEjbRule extends InspectorBase { 41 42 45 private static final String EB_CLASS_NAME = "javax.ejb.EnterpriseBean"; 46 47 52 public void visit(MethodCall element) { 53 LanguageElement lelement = ((LanguageElement) element); 54 Repository repository = lelement.getCompilationUnit().getPackage().getRepository(); 55 56 try { 57 if (((LanguageElement) element).getEnclosingType().isKindOf(EB_CLASS_NAME)) { 58 java.util.Iterator iter = element.getParameters().iterator(); 59 while (iter.hasNext()) { 60 if (iter.next() instanceof This) { 61 context.reportViolation(lelement); 62 } 63 } 64 } 65 } catch (JselException e) { 66 context.warn(lelement, e); 67 } 68 } 69 70 } 71 | Popular Tags |