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 }