String annoName = Type.getType(desc).getClassName(); for (String name : annotationClasses) { if (annoName.equals(name)) {
public AnnotationVisitor visitAnnotation(String annoDesc, boolean visible) { for (OnMethod om : applicableOnMethods) { String extAnnoName = Type.getType(annoDesc).getClassName(); String annoName = om.getMethod(); if (annoName.length() > 0 && annoName.charAt(0) == '@') { annoName = annoName.substring(1); if (annoName.length() == 0) { continue; } if (REGEX_SPECIFIER.matcher(annoName).matches()) { annoName = annoName.substring(1, annoName.length() - 1); try { if (extAnnoName.matches(annoName)) { mv = instrumentorFor(om, mv, lvs, tsIndex, access, name, desc); } } catch (PatternSyntaxException pse) { reportPatternSyntaxException(extAnnoName); } } else if (annoName.equals(extAnnoName)) { mv = instrumentorFor(om, mv, lvs, tsIndex, access, name, desc); } } } return mv.visitAnnotation(annoDesc, visible); } };
public AnnotationVisitor visitAnnotation(String desc, boolean visible) { AnnotationVisitor av = super.visitAnnotation(desc, visible); String extName = Type.getType(desc).getClassName(); for (OnMethod om : onMethods) { String probeClazz = om.getClazz(); if (probeClazz.length() > 0 && probeClazz.charAt(0) == '@') { probeClazz = probeClazz.substring(1); if (probeClazz.length() == 0) { continue; } if (REGEX_SPECIFIER.matcher(probeClazz).matches()) { probeClazz = probeClazz.substring(1, probeClazz.length() - 1); try { if (extName.matches(probeClazz)) { applicableOnMethods.add(om); } } catch (PatternSyntaxException pse) { reportPatternSyntaxException(probeClazz); } } else if (probeClazz.equals(extName)) { applicableOnMethods.add(om); } } } return av; }
clzLeft = cl.loadClass(left.getClassName()); } catch (Throwable e) { System.err.println("btrace ERR"); clzRight = cl.loadClass(left.getClassName()); } catch (Throwable e) { System.err.println("btrace ERR");