• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Javassist, a Java-bytecode translator toolkit.
3  * Copyright (C) 1999-2007 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.CannotCompileException;
19 import javassist.CtClass;
20 import javassist.bytecode.BadBytecode;
21 import javassist.bytecode.CodeAttribute;
22 import javassist.bytecode.CodeIterator;
23 import javassist.bytecode.ConstPool;
24 import javassist.bytecode.MethodInfo;
25 import javassist.bytecode.Opcode;
26 
27 /**
28  * Transformer and its subclasses are used for executing
29  * code transformation specified by CodeConverter.
30  *
31  * @see javassist.CodeConverter
32  */
33 public abstract class Transformer implements Opcode {
34     private Transformer next;
35 
Transformer(Transformer t)36     public Transformer(Transformer t) {
37         next = t;
38     }
39 
getNext()40     public Transformer getNext() { return next; }
41 
initialize(ConstPool cp, CodeAttribute attr)42     public void initialize(ConstPool cp, CodeAttribute attr) {}
43 
initialize(ConstPool cp, CtClass clazz, MethodInfo minfo)44     public void initialize(ConstPool cp, CtClass clazz, MethodInfo minfo) throws CannotCompileException {
45     	initialize(cp, minfo.getCodeAttribute());
46     }
47 
clean()48     public void clean() {}
49 
transform(CtClass clazz, int pos, CodeIterator it, ConstPool cp)50     public abstract int transform(CtClass clazz, int pos, CodeIterator it,
51                 ConstPool cp) throws CannotCompileException, BadBytecode;
52 
extraLocals()53     public int extraLocals() { return 0; }
54 
extraStack()55     public int extraStack() { return 0; }
56 }
57