Changelog History
Page 5
-
v2.6 Changes
August 01, 2003The behavior of CtClass.setSuperclass() was changed. To obtain the previous behavior, call CtClass.replaceClassName().
CtConstructor.setBody() now works for class initializers.
CtNewMethod.delegator() now works for static methods.
javassist.expr.Expr.indexOfBytecode() has been added.
📦 javassist.Loader has been modified so that getPackage() returns a package object.
Now, the compiler can correctly compile a try statement and an infinite while-loop.
-
v2.5.1 Changes
May 01, 2003Simple changes for integration with JBoss AOP
Made ClassPool.get0 protected so that subclasses of ClassPool can call it.
🚚 Moved all access to the class cache (the field ClassPool.classes) to a method called getCached(String classname). This is so subclasses of ClassPool can override this behavior.
-
v2.5 Changes
May 01, 2003From this version, Javassist is part of the JBoss project.
The license was changed from MPL to MPL/LGPL dual.
🚚 ClassPool.removeClassPath() and ClassPath.close() have been added.
ClassPool.makeClass(InputStream) has been added.
CtClass.makeClassInitializer() has been added.
javassist.expr.Expr has been changed to a public class.
javassist.expr.Handler has been added.
javassist.expr.MethodCall.isSuper() has been added.
CtMethod.isEmpty() and CtConstructor.isEmpty() have been added.
LoaderClassPath has been implemented.
-
v2.4 Changes
February 01, 2003The compiler included in Javassist did not correctly work with interface methods. This bug was fixed.
Now javassist.bytecode.Bytecode allows more than 255 local variables in the same method.
javassist.expr.Instanceof and Cast have been added.
javassist.expr.{MethodCall,NewExpr,FieldAccess,Instanceof,Cast}.where() have been added. They return the caller-side method surrounding the expression.
javassist.expr.{MethodCall,NewExpr,FieldAccess,Instanceof,Cast}.mayThrow() have been added.
$class has been introduced.
The parameters to replaceFieldRead(), replaceFieldWrite(), and redirectFieldAccess() in javassist.CodeConverter are changed.
The compiler could not correctly handle a try-catch statement. This bug has been fixed.
-
v2.3 Changes
December 01, 2002The tutorial has been revised a bit.
SerialVersionUID class was donated by Bob Lee. Thanks.
CtMethod.setBody() and CtConstructor.setBody() have been added.
javassist.reflect.ClassMetaobject.useContextClassLoader has been added. If true, the reflection package does not use Class.forName() but uses a context class loader specified by the user.
$sig and $type are now available.
🐛 Bugs in Bytecode.write() and read() have been fixed.
-
v2.2 Changes
October 01, 2002The tutorial has been revised.
📦 A new package
javassist.expr
has been added. This is replacement of classicCodeConverter
.javassist.ConstParameter was changed into javassist.CtMethod.ConstParameter.
javassist.FieldInitializer was renamed into javassist.CtField.Initializer.
A bug in javassist.bytecode.Bytecode.addInvokeinterface() has been fixed.
In javassist.bytecode.Bytecode, addGetfield(), addGetstatic(), addInvokespecial(), addInvokestatic(), addInvokevirtual(), and addInvokeinterface() have been modified to update the current statck depth.
-
v2.1 Changes
July 01, 2002javassist.CtMember and javassist.CtBehavior have been added.
javassist.CtClass.toBytecode() has been added.
javassist.CtClass.toClass() and javassist.ClassPool.writeAsClass() has been added.
javassist.ByteArrayClassPath has been added.
javassist.bytecode.Mnemonic has been added.
🛠 Several bugs have been fixed.
-
v2.0 Changes
📦 The javassist.bytecode package has been provided. It is a lower-level API for directly modifying a class file although the users must have detailed knowledge of the Java bytecode.
The mechanism for creating CtClass objects have been changed.
📦 javassist.tool.Dump moves to the javassist package.
🔖 version 1.0 in July, 2001.
- javassist.reflect.Metaobject and ClassMetaobject was changed. Now they throw the same exception that they receive from a base-level object.
-
v0.8 Changes
javassist.tool.Dump was added. It is a class file viewer.
javassist.FiledInitializer.byNewArray() was added. It is for initializing a field with an array object.
javassist.CodeConverter.redirectMethodCall() was added.
javassist.Run was added.
-
v0.7 Changes
javassit.Loader was largely modified. javassist.UserLoader was deleted. Instead, Codebase was renamed to ClassPath and UserClassPath was added. Now programmers who want to customize Loader must write a class implementing UserClassPath instead of UserLoader. This change is for sharing class search paths between Loader and CtClass.CtClass(String).
CtClass.addField(), addMethod(), addConstructor(), addWrapper() were also largely modified so that it receives CtNewMethod, CtNewConstructor, or CtNewField. The static methods for creating these objects were added to the API.
Constructors are now represented by CtConstructor objects. CtConstructor is a subclass of CtMethod.
🚚 CtClass.getUserAttribute() was removed. Use CtClass.getAttribute().
javassist.rmi.RmiLoader was added.
javassist.reflect.Metalevel._setMetaobject() was added. Now metaobjects can be replaced at runtime.