constantPool = obj.getConstantPool(); thisClass = obj; ConstantClass c = (ConstantClass) constantPool.getConstant(obj.getClassNameIndex()); className = getStringFromIndex(c.getNameIndex()); dottedClassName = className.replace('/', '.'); packageName = obj.getPackageName(); sourceFile = obj.getSourceFileName(); superclassName = obj.getSuperclassName(); dottedSuperclassName = superclassName.replace('/', '.');  super.visitJavaClass(obj);
setupVisitorForClass(obj);
	public void visitJavaClass(JavaClass obj) {		constantPool = obj.getConstantPool();		thisClass = obj;		ConstantClass c = (ConstantClass) constantPool.getConstant(obj.getClassNameIndex());		className = getStringFromIndex(c.getNameIndex());		dottedClassName = className.replace('/', '.');		packageName = obj.getPackageName();		sourceFile = obj.getSourceFileName();		superclassName = obj.getSuperclassName();		dottedSuperclassName = superclassName.replace('/', '.');		super.visitJavaClass(obj);		constantPool.accept(this);		Field[] fields = obj.getFields();		Method[] methods = obj.getMethods();		Attribute[] attributes = obj.getAttributes();		for (Field field : fields)			doVisitField(field);		for (Method method1 : methods)			doVisitMethod(method1);		for (Attribute attribute : attributes)			attribute.accept(this);		visitAfter(obj);	}