1 cananian 1.1.2.1 // SerializableCodeFactory.java, created Fri Aug  6 23:09:35 1999 by cananian
 2 cananian 1.1.2.1 // Copyright (C) 1999 C. Scott Ananian <cananian@alumni.princeton.edu>
 3 cananian 1.1.2.1 // Licensed under the terms of the GNU GPL; see COPYING for details.
 4 cananian 1.1.2.1 package harpoon.ClassFile;
 5 cananian 1.1.2.1 
 6 cananian 1.1.2.1 /**
 7 cananian 1.1.2.1  * A <code>SerializableCodeFactory</code> is an <code>HCodeFactory</code>
 8 cananian 1.1.2.1  * that implements <code>java.io.Serializable</code>.  This is a
 9 cananian 1.1.2.1  * convenience interface to make it possible to easily use anonymous inner
10 cananian 1.1.2.1  * classes to define serializable code factories.  A code factory is
11 cananian 1.1.2.1  * generally serializable if it has no internal fields or state (most
12 cananian 1.1.2.1  * code factories are thus serializable). <code>CachingCodeFactory</code>
13 cananian 1.1.2.1  * keeps state (the cache of converted methods), so it has to take
14 cananian 1.1.2.1  * extra care before it can call itself <code>Serializable</code>.
15 cananian 1.1.2.1  * Many simple method-at-a-time optimizing code factories will be
16 cananian 1.1.2.1  * serializable, but complicated whole-program optimizations will
17 cananian 1.1.2.1  * probably will not be unless special attention is paid.
18 cananian 1.1.2.1  * 
19 cananian 1.1.2.1  * @author  C. Scott Ananian <cananian@alumni.princeton.edu>
20 cananian 1.2      * @version $Id: SerializableCodeFactory.java,v 1.2 2002/02/25 21:03:04 cananian Exp $
21 cananian 1.1.2.1  */
22 cananian 1.1.2.1 public interface SerializableCodeFactory
23 cananian 1.1.2.1     extends HCodeFactory, java.io.Serializable {
24 cananian 1.1.2.1     /** No new fields or methods. */
25 cananian 1.2     }