public void accept ( final ClassVisitor cv ) { // visits header String [ ] interfaces = new String [ this . interfaces . size ( ) ] ; this . interfaces . toArray ( interfaces ) ; cv . visit ( version , access , name , signature , superName , interfaces ) ; // visits source if ( sourceFile != null || sourceDebug != null ) { cv . visitSource ( sourceFile , sourceDebug ) ; } // visits outer class if ( outerClass != null ) { cv . visitOuterClass ( outerClass , outerMethod , outerMethodDesc ) ; } // visits attributes int i , n ; n = visibleAnnotations == null ? 0 : visibleAnnotations . size ( ) ; for ( i = 0 ; i < n ; ++ i ) { AnnotationNode an = visibleAnnotations . get ( i ) ; an . accept ( cv . visitAnnotation ( an . desc , true ) ) ; } n = invisibleAnnotations == null ? 0 : invisibleAnnotations . size ( ) ; for ( i = 0 ; i < n ; ++ i ) { AnnotationNode an = invisibleAnnotations . get ( i ) ; an . accept ( cv . visitAnnotation ( an . desc , false ) ) ; } n = visibleTypeAnnotations == null ? 0 : visibleTypeAnnotations . size ( ) ; for ( i = 0 ; i < n ; ++ i ) { TypeAnnotationNode an = visibleTypeAnnotations . get ( i ) ; an . accept ( cv . visitTypeAnnotation ( an . typeRef , an . typePath , an . desc , true ) ) ; } n = invisibleTypeAnnotations == null ? 0 : invisibleTypeAnnotations . size ( ) ; for ( i = 0 ; i < n ; ++ i ) { TypeAnnotationNode an = invisibleTypeAnnotations . get ( i ) ; an . accept ( cv . visitTypeAnnotation ( an . typeRef , an . typePath , an . desc , false ) ) ; } n = attrs == null ? 0 : attrs . size ( ) ; for ( i = 0 ; i < n ; ++ i ) { cv . visitAttribute ( attrs . get ( i ) ) ; } // visits inner classes for ( i = 0 ; i < innerClasses . size ( ) ; ++ i ) { innerClasses . get ( i ) . accept ( cv ) ; } // visits fields for ( i = 0 ; i < fields . size ( ) ; ++ i ) { fields . get ( i ) . accept ( cv ) ; } // visits methods for ( i = 0 ; i < methods . size ( ) ; ++ i ) { methods . get ( i ) . accept ( cv ) ; } // visits end cv . visitEnd ( ) ; }
Makes the given class visitor visit this class .