001 package org.shiftone.jrat.inject.bytecode.asm; 002 003 004 import org.objectweb.asm.*; 005 import org.shiftone.jrat.util.log.Logger; 006 007 008 public class DebugClassVisitor extends ClassAdapter { 009 010 private static final Logger LOG = Logger.getLogger(DebugClassVisitor.class); 011 012 public DebugClassVisitor(final ClassVisitor cv) { 013 super(cv); 014 } 015 016 017 public void visit(final int version, final int access, final String name, final String signature, 018 final String superName, final String[] interfaces) { 019 020 LOG.info("visit " + version + ", " + access + ", " + name + ", " + signature + ", " + superName + ", " 021 + interfaces); 022 super.visit(version, access, name, signature, superName, interfaces); 023 } 024 025 026 public void visitSource(final String source, final String debug) { 027 LOG.info("visitSource " + source + " " + debug); 028 super.visitSource(source, debug); 029 } 030 031 032 public void visitOuterClass(final String owner, final String name, final String desc) { 033 LOG.info("visitOuterClass " + owner + " " + name + " " + desc); 034 super.visitOuterClass(owner, name, desc); 035 } 036 037 038 public AnnotationVisitor visitAnnotation(final String desc, final boolean visible) { 039 return super.visitAnnotation(desc, visible); 040 } 041 042 043 public void visitAttribute(final Attribute attr) { 044 LOG.info("visitAttribute " + attr); 045 super.visitAttribute(attr); 046 } 047 048 049 public void visitInnerClass(final String name, final String outerName, final String innerName, final int access) { 050 LOG.info("visitInnerClass " + name + " " + outerName + " " + innerName + " " + access); 051 super.visitInnerClass(name, outerName, innerName, access); 052 } 053 054 055 public FieldVisitor visitField(final int access, final String name, final String desc, final String signature, 056 final Object value) { 057 058 LOG.info("visitField " + access + " " + name + " " + desc + " " + signature + " " + value); 059 060 return super.visitField(access, name, desc, signature, value); 061 } 062 063 064 public MethodVisitor visitMethod(final int access, final String name, final String desc, final String signature, 065 final String[] exceptions) { 066 067 LOG.info("visitMethod " + access + " " + name + " " + desc + " " + signature + " " + exceptions); 068 069 return super.visitMethod(access, name, desc, signature, exceptions); 070 } 071 072 073 public void visitEnd() { 074 LOG.info("visitEnd"); 075 super.visitEnd(); 076 } 077 }