Mercurial > lasercutter
comparison src/clojure/asm/ClassAdapter.java @ 10:ef7dbbd6452c
added clojure source goodness
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 21 Aug 2010 06:25:44 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
9:35cf337adfcf | 10:ef7dbbd6452c |
---|---|
1 /*** | |
2 * ASM: a very small and fast Java bytecode manipulation framework | |
3 * Copyright (c) 2000-2005 INRIA, France Telecom | |
4 * All rights reserved. | |
5 * | |
6 * Redistribution and use in source and binary forms, with or without | |
7 * modification, are permitted provided that the following conditions | |
8 * are met: | |
9 * 1. Redistributions of source code must retain the above copyright | |
10 * notice, this list of conditions and the following disclaimer. | |
11 * 2. Redistributions in binary form must reproduce the above copyright | |
12 * notice, this list of conditions and the following disclaimer in the | |
13 * documentation and/or other materials provided with the distribution. | |
14 * 3. Neither the name of the copyright holders nor the names of its | |
15 * contributors may be used to endorse or promote products derived from | |
16 * this software without specific prior written permission. | |
17 * | |
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |
19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
21 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | |
22 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |
23 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |
24 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | |
25 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | |
26 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | |
27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF | |
28 * THE POSSIBILITY OF SUCH DAMAGE. | |
29 */ | |
30 package clojure.asm; | |
31 | |
32 /** | |
33 * An empty {@link ClassVisitor} that delegates to another {@link ClassVisitor}. | |
34 * This class can be used as a super class to quickly implement usefull class | |
35 * adapter classes, just by overriding the necessary methods. | |
36 * | |
37 * @author Eric Bruneton | |
38 */ | |
39 public class ClassAdapter implements ClassVisitor{ | |
40 | |
41 /** | |
42 * The {@link ClassVisitor} to which this adapter delegates calls. | |
43 */ | |
44 protected ClassVisitor cv; | |
45 | |
46 /** | |
47 * Constructs a new {@link ClassAdapter} object. | |
48 * | |
49 * @param cv the class visitor to which this adapter must delegate calls. | |
50 */ | |
51 public ClassAdapter(final ClassVisitor cv){ | |
52 this.cv = cv; | |
53 } | |
54 | |
55 public void visit( | |
56 final int version, | |
57 final int access, | |
58 final String name, | |
59 final String signature, | |
60 final String superName, | |
61 final String[] interfaces){ | |
62 cv.visit(version, access, name, signature, superName, interfaces); | |
63 } | |
64 | |
65 public void visitSource(final String source, final String debug){ | |
66 cv.visitSource(source, debug); | |
67 } | |
68 | |
69 public void visitOuterClass( | |
70 final String owner, | |
71 final String name, | |
72 final String desc){ | |
73 cv.visitOuterClass(owner, name, desc); | |
74 } | |
75 | |
76 public AnnotationVisitor visitAnnotation( | |
77 final String desc, | |
78 final boolean visible){ | |
79 return cv.visitAnnotation(desc, visible); | |
80 } | |
81 | |
82 public void visitAttribute(final Attribute attr){ | |
83 cv.visitAttribute(attr); | |
84 } | |
85 | |
86 public void visitInnerClass( | |
87 final String name, | |
88 final String outerName, | |
89 final String innerName, | |
90 final int access){ | |
91 cv.visitInnerClass(name, outerName, innerName, access); | |
92 } | |
93 | |
94 public FieldVisitor visitField( | |
95 final int access, | |
96 final String name, | |
97 final String desc, | |
98 final String signature, | |
99 final Object value){ | |
100 return cv.visitField(access, name, desc, signature, value); | |
101 } | |
102 | |
103 public MethodVisitor visitMethod( | |
104 final int access, | |
105 final String name, | |
106 final String desc, | |
107 final String signature, | |
108 final String[] exceptions){ | |
109 return cv.visitMethod(access, name, desc, signature, exceptions); | |
110 } | |
111 | |
112 public void visitEnd(){ | |
113 cv.visitEnd(); | |
114 } | |
115 } |