From: chiba Date: Fri, 11 Jul 2003 06:24:57 +0000 (+0000) Subject: added ClassPool#removeCached so that subclasses of ClassPool can do X-Git-Tag: rel_3_17_1_ga~578 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=f6c16db268e47c2202f6098f4fae5a4537238857;p=javassist.git added ClassPool#removeCached so that subclasses of ClassPool can do their own caching. A bug in CtClassType#setName was fixed. git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@29 30ef5769-5b8d-40dd-aea6-55b5d6557bb3 --- diff --git a/src/main/javassist/ClassPool.java b/src/main/javassist/ClassPool.java index 61314777..509cf8d8 100644 --- a/src/main/javassist/ClassPool.java +++ b/src/main/javassist/ClassPool.java @@ -86,12 +86,25 @@ public class ClassPool { /** * Provide a hook so that subclasses can do their own * caching of classes + * + * @see #removeCached(String) */ protected CtClass getCached(String classname) { return (CtClass)classes.get(classname); } + /** + * Provide a hook so that subclasses can do their own + * caching of classes + * + * @see #getCached(String) + */ + protected void removeCached(String classname) + { + classes.remove(classname); + } + /** * Creates a class pool. * @@ -480,7 +493,7 @@ public class ClassPool { synchronized void classNameChanged(String oldname, CtClass clazz) { CtClass c = (CtClass)getCached(oldname); if (c == clazz) // must check this equation - classes.remove(c); + removeCached(oldname); String newName = clazz.getName(); checkNotFrozen(newName, "the class with the new name is frozen."); diff --git a/tutorial/tutorial.html b/tutorial/tutorial.html index 36104e30..d0a26e3b 100644 --- a/tutorial/tutorial.html +++ b/tutorial/tutorial.html @@ -34,9 +34,10 @@ Shigeru Chiba Java bytecode is stored in a binary file called a class file. Each class file contains one Java class or interface. -

The class Javassist.CtClass is an abstract representation -of a class file. A CtClass object is a handle for dealing -with a class file. The following program is a very simple example: +

The class Javassist.CtClass is an abstract +representation of a class file. A CtClass (compile-time +class) object is a handle for dealing with a class file. The +following program is a very simple example: