/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