/Users/lyon/j4p/src/javassist/convert/Transformer.java

1    /* 
2     * Javassist, a Java-bytecode translator toolkit. 
3     * Copyright (C) 1999-2003 Shigeru Chiba. All Rights Reserved. 
4     * 
5     * The contents of this file are subject to the Mozilla Public License Version 
6     * 1.1 (the "License"); you may not use this file except in compliance with 
7     * the License.  Alternatively, the contents of this file may be used under 
8     * the terms of the GNU Lesser General Public License Version 2.1 or later. 
9     * 
10    * Software distributed under the License is distributed on an "AS IS" basis, 
11    * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 
12    * for the specific language governing rights and limitations under the 
13    * License. 
14    */ 
15    
16   package javassist.convert; 
17    
18   import javassist.bytecode.*; 
19   import javassist.CtClass; 
20   import javassist.CannotCompileException; 
21    
22   /** 
23    * Transformer and its subclasses are used for executing 
24    * code transformation specified by CodeConverter. 
25    * 
26    * @see javassist.CodeConverter 
27    */ 
28   public abstract class Transformer implements Opcode { 
29       private Transformer next; 
30    
31       public Transformer(Transformer t) { 
32           next = t; 
33       } 
34    
35       public Transformer getNext() { 
36           return next; 
37       } 
38    
39       public void initialize(ConstPool cp, CodeAttribute attr) { 
40       } 
41    
42       public void clean() { 
43       } 
44    
45       public abstract int transform(CtClass clazz, int pos, CodeIterator it, 
46                                     ConstPool cp) throws CannotCompileException, BadBytecode; 
47    
48       public int extraLocals() { 
49           return 0; 
50       } 
51   } 
52