for (int i = 0; i < fields.length; i++) doVisitField(fields[i]); for (int i = 0; i < methods.length; i++) doVisitMethod(methods[i]); for (int i = 0; i < attributes.length; i++) attributes[i].accept(this);
for (Field field : fields) doVisitField(field); for (Method method1 : methods) doVisitMethod(method1); for (Attribute attribute : attributes) attribute.accept(this);
	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 (int i = 0; i < fields.length; i++)			doVisitField(fields[i]);		for (int i = 0; i < methods.length; i++)			doVisitMethod(methods[i]);		for (int i = 0; i < attributes.length; i++)			attributes[i].accept(this);		visitAfter(obj);	}