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 }