KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > edu > umd > cs > findbugs > detect > TestASM


1 /*
2  * FindBugs - Find Bugs in Java programs
3  * Copyright (C) 2006, University of Maryland
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18  */

19
20 package edu.umd.cs.findbugs.detect;
21
22 import org.objectweb.asm.ClassReader;
23 import org.objectweb.asm.tree.ClassNode;
24
25 import edu.umd.cs.findbugs.BugReporter;
26 import edu.umd.cs.findbugs.Detector2;
27 import edu.umd.cs.findbugs.classfile.CheckedAnalysisException;
28 import edu.umd.cs.findbugs.classfile.ClassDescriptor;
29 import edu.umd.cs.findbugs.classfile.Global;
30
31 /**
32  * @author David Hovemeyer
33  */

34 public class TestASM implements Detector2 {
35     
36     public TestASM(BugReporter bugReporter) {
37         
38     }
39
40     /* (non-Javadoc)
41      * @see edu.umd.cs.findbugs.Detector2#finishPass()
42      */

43     public void finishPass() {
44         // do nothing
45
}
46
47     /* (non-Javadoc)
48      * @see edu.umd.cs.findbugs.Detector2#getDetectorClassName()
49      */

50     public String JavaDoc getDetectorClassName() {
51         return getClass().getName();
52     }
53
54     /* (non-Javadoc)
55      * @see edu.umd.cs.findbugs.Detector2#visitClass(edu.umd.cs.findbugs.classfile.ClassDescriptor)
56      */

57     public void visitClass(ClassDescriptor classDescriptor)
58             throws CheckedAnalysisException {
59         
60         System.out.println("TestASM visiting " + classDescriptor);
61         
62         ClassReader cr = Global.getAnalysisCache().getClassAnalysis(ClassReader.class, classDescriptor);
63         ClassNode cn = new ClassNode();
64         
65         cr.accept(cn, 0);
66         
67     }
68
69 }
70
Popular Tags