aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchiba <chiba@30ef5769-5b8d-40dd-aea6-55b5d6557bb3>2006-01-11 06:45:57 +0000
committerchiba <chiba@30ef5769-5b8d-40dd-aea6-55b5d6557bb3>2006-01-11 06:45:57 +0000
commit774508d17c92daa8c469ad80525de2f8655e4019 (patch)
treec5bda1997f4065bb936ca44f3592754fc7dd9473
parent52a455616e4077b5b61823cb4765c02fc6866f9a (diff)
downloadjavassist-774508d17c92daa8c469ad80525de2f8655e4019.tar.gz
javassist-774508d17c92daa8c469ad80525de2f8655e4019.zip
updated copyright notices
git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@234 30ef5769-5b8d-40dd-aea6-55b5d6557bb3
-rw-r--r--License.html4
-rw-r--r--Readme.html2
-rw-r--r--src/main/javassist/ByteArrayClassPath.java2
-rw-r--r--src/main/javassist/CannotCompileException.java2
-rw-r--r--src/main/javassist/ClassClassPath.java2
-rw-r--r--src/main/javassist/ClassMap.java2
-rw-r--r--src/main/javassist/ClassPath.java2
-rw-r--r--src/main/javassist/ClassPool.java2
-rw-r--r--src/main/javassist/ClassPoolTail.java2
-rw-r--r--src/main/javassist/CodeConverter.java2
-rw-r--r--src/main/javassist/CtArray.java2
-rw-r--r--src/main/javassist/CtBehavior.java2
-rw-r--r--src/main/javassist/CtClass.java4
-rw-r--r--src/main/javassist/CtClassType.java2
-rw-r--r--src/main/javassist/CtConstructor.java2
-rw-r--r--src/main/javassist/CtField.java2
-rw-r--r--src/main/javassist/CtMember.java2
-rw-r--r--src/main/javassist/CtMethod.java2
-rw-r--r--src/main/javassist/CtNewClass.java2
-rw-r--r--src/main/javassist/CtNewConstructor.java2
-rw-r--r--src/main/javassist/CtNewMethod.java2
-rw-r--r--src/main/javassist/CtNewNestedClass.java2
-rw-r--r--src/main/javassist/CtNewWrappedConstructor.java2
-rw-r--r--src/main/javassist/CtNewWrappedMethod.java2
-rw-r--r--src/main/javassist/CtPrimitiveType.java2
-rw-r--r--src/main/javassist/Loader.java2
-rw-r--r--src/main/javassist/LoaderClassPath.java2
-rw-r--r--src/main/javassist/Modifier.java2
-rw-r--r--src/main/javassist/NotFoundException.java2
-rw-r--r--src/main/javassist/SerialVersionUID.java2
-rw-r--r--src/main/javassist/Translator.java2
-rw-r--r--src/main/javassist/URLClassPath.java2
-rw-r--r--src/main/javassist/bytecode/AccessFlag.java2
-rw-r--r--src/main/javassist/bytecode/AnnotationDefaultAttribute.java2
-rw-r--r--src/main/javassist/bytecode/AnnotationsAttribute.java2
-rw-r--r--src/main/javassist/bytecode/AttributeInfo.java2
-rw-r--r--src/main/javassist/bytecode/BadBytecode.java2
-rw-r--r--src/main/javassist/bytecode/ByteArray.java2
-rw-r--r--src/main/javassist/bytecode/Bytecode.java2
-rw-r--r--src/main/javassist/bytecode/ClassFile.java2
-rw-r--r--src/main/javassist/bytecode/ClassFileWriter.java2
-rw-r--r--src/main/javassist/bytecode/CodeAnalyzer.java2
-rw-r--r--src/main/javassist/bytecode/CodeAttribute.java2
-rw-r--r--src/main/javassist/bytecode/CodeIterator.java2
-rw-r--r--src/main/javassist/bytecode/ConstPool.java2
-rw-r--r--src/main/javassist/bytecode/ConstantAttribute.java2
-rw-r--r--src/main/javassist/bytecode/DeprecatedAttribute.java2
-rw-r--r--src/main/javassist/bytecode/Descriptor.java2
-rw-r--r--src/main/javassist/bytecode/EnclosingMethodAttribute.java2
-rw-r--r--src/main/javassist/bytecode/ExceptionTable.java2
-rw-r--r--src/main/javassist/bytecode/ExceptionsAttribute.java2
-rw-r--r--src/main/javassist/bytecode/FieldInfo.java2
-rw-r--r--src/main/javassist/bytecode/InnerClassesAttribute.java2
-rw-r--r--src/main/javassist/bytecode/LineNumberAttribute.java2
-rw-r--r--src/main/javassist/bytecode/LocalVariableAttribute.java2
-rw-r--r--src/main/javassist/bytecode/LongVector.java2
-rw-r--r--src/main/javassist/bytecode/MethodInfo.java2
-rw-r--r--src/main/javassist/bytecode/Mnemonic.java2
-rw-r--r--src/main/javassist/bytecode/Opcode.java2
-rw-r--r--src/main/javassist/bytecode/ParameterAnnotationsAttribute.java2
-rw-r--r--src/main/javassist/bytecode/SignatureAttribute.java2
-rw-r--r--src/main/javassist/bytecode/SourceFileAttribute.java2
-rw-r--r--src/main/javassist/bytecode/SyntheticAttribute.java2
-rw-r--r--src/main/javassist/bytecode/annotation/AnnotationImpl.java2
-rw-r--r--src/main/javassist/bytecode/annotation/AnnotationsWriter.java2
-rw-r--r--src/main/javassist/compiler/AccessorMaker.java2
-rw-r--r--src/main/javassist/compiler/CodeGen.java2
-rw-r--r--src/main/javassist/compiler/CompileError.java2
-rw-r--r--src/main/javassist/compiler/Javac.java2
-rw-r--r--src/main/javassist/compiler/JvstCodeGen.java2
-rw-r--r--src/main/javassist/compiler/JvstTypeChecker.java2
-rw-r--r--src/main/javassist/compiler/KeywordTable.java2
-rw-r--r--src/main/javassist/compiler/Lex.java2
-rw-r--r--src/main/javassist/compiler/MemberCodeGen.java2
-rw-r--r--src/main/javassist/compiler/MemberResolver.java2
-rw-r--r--src/main/javassist/compiler/NoFieldException.java2
-rw-r--r--src/main/javassist/compiler/Parser.java2
-rw-r--r--src/main/javassist/compiler/ProceedHandler.java2
-rw-r--r--src/main/javassist/compiler/SymbolTable.java2
-rw-r--r--src/main/javassist/compiler/SyntaxError.java2
-rw-r--r--src/main/javassist/compiler/TokenId.java2
-rw-r--r--src/main/javassist/compiler/TypeChecker.java2
-rw-r--r--src/main/javassist/compiler/ast/ASTList.java2
-rw-r--r--src/main/javassist/compiler/ast/ASTree.java2
-rw-r--r--src/main/javassist/compiler/ast/ArrayInit.java16
-rw-r--r--src/main/javassist/compiler/ast/AssignExpr.java2
-rw-r--r--src/main/javassist/compiler/ast/BinExpr.java2
-rw-r--r--src/main/javassist/compiler/ast/CallExpr.java2
-rw-r--r--src/main/javassist/compiler/ast/CastExpr.java2
-rw-r--r--src/main/javassist/compiler/ast/CondExpr.java2
-rw-r--r--src/main/javassist/compiler/ast/Declarator.java2
-rw-r--r--src/main/javassist/compiler/ast/DoubleConst.java2
-rw-r--r--src/main/javassist/compiler/ast/Expr.java2
-rw-r--r--src/main/javassist/compiler/ast/FieldDecl.java2
-rw-r--r--src/main/javassist/compiler/ast/InstanceOfExpr.java2
-rw-r--r--src/main/javassist/compiler/ast/IntConst.java2
-rw-r--r--src/main/javassist/compiler/ast/Keyword.java2
-rw-r--r--src/main/javassist/compiler/ast/Member.java2
-rw-r--r--src/main/javassist/compiler/ast/MethodDecl.java2
-rw-r--r--src/main/javassist/compiler/ast/NewExpr.java2
-rw-r--r--src/main/javassist/compiler/ast/Pair.java2
-rw-r--r--src/main/javassist/compiler/ast/Stmnt.java2
-rw-r--r--src/main/javassist/compiler/ast/StringL.java2
-rw-r--r--src/main/javassist/compiler/ast/Symbol.java2
-rw-r--r--src/main/javassist/compiler/ast/Variable.java2
-rw-r--r--src/main/javassist/compiler/ast/Visitor.java2
-rw-r--r--src/main/javassist/convert/TransformAfter.java2
-rw-r--r--src/main/javassist/convert/TransformBefore.java2
-rw-r--r--src/main/javassist/convert/TransformCall.java2
-rw-r--r--src/main/javassist/convert/TransformFieldAccess.java2
-rw-r--r--src/main/javassist/convert/TransformNew.java2
-rw-r--r--src/main/javassist/convert/TransformReadField.java2
-rw-r--r--src/main/javassist/convert/TransformWriteField.java2
-rw-r--r--src/main/javassist/convert/Transformer.java2
-rw-r--r--src/main/javassist/expr/Cast.java2
-rw-r--r--src/main/javassist/expr/ConstructorCall.java15
-rw-r--r--src/main/javassist/expr/Expr.java2
-rw-r--r--src/main/javassist/expr/ExprEditor.java2
-rw-r--r--src/main/javassist/expr/FieldAccess.java2
-rw-r--r--src/main/javassist/expr/Handler.java2
-rw-r--r--src/main/javassist/expr/Instanceof.java2
-rw-r--r--src/main/javassist/expr/MethodCall.java2
-rw-r--r--src/main/javassist/expr/NewArray.java2
-rw-r--r--src/main/javassist/expr/NewExpr.java2
-rw-r--r--src/main/javassist/runtime/Cflow.java2
-rw-r--r--src/main/javassist/runtime/Desc.java2
-rw-r--r--src/main/javassist/runtime/DotClass.java2
-rw-r--r--src/main/javassist/runtime/Inner.java2
-rw-r--r--src/main/javassist/tools/Dump.java2
-rw-r--r--src/main/javassist/tools/reflect/CannotCreateException.java2
-rw-r--r--src/main/javassist/tools/reflect/CannotInvokeException.java2
-rw-r--r--src/main/javassist/tools/reflect/CannotReflectException.java2
-rw-r--r--src/main/javassist/tools/reflect/ClassMetaobject.java2
-rw-r--r--src/main/javassist/tools/reflect/Compiler.java2
-rw-r--r--src/main/javassist/tools/reflect/Loader.java2
-rw-r--r--src/main/javassist/tools/reflect/Metalevel.java2
-rw-r--r--src/main/javassist/tools/reflect/Metaobject.java2
-rw-r--r--src/main/javassist/tools/reflect/Reflection.java2
-rw-r--r--src/main/javassist/tools/reflect/Sample.java2
-rw-r--r--src/main/javassist/tools/rmi/AppletServer.java2
-rw-r--r--src/main/javassist/tools/rmi/ObjectImporter.java2
-rw-r--r--src/main/javassist/tools/rmi/ObjectNotFoundException.java2
-rw-r--r--src/main/javassist/tools/rmi/Proxy.java2
-rw-r--r--src/main/javassist/tools/rmi/RemoteException.java2
-rw-r--r--src/main/javassist/tools/rmi/RemoteRef.java2
-rw-r--r--src/main/javassist/tools/rmi/Sample.java2
-rw-r--r--src/main/javassist/tools/rmi/StubGenerator.java2
-rw-r--r--src/main/javassist/tools/web/BadHttpRequest.java2
-rw-r--r--src/main/javassist/tools/web/Viewer.java2
-rw-r--r--src/main/javassist/tools/web/Webserver.java2
-rw-r--r--src/main/javassist/util/HotSwapper.java2
-rw-r--r--src/main/javassist/util/proxy/FactoryHelper.java2
-rw-r--r--src/main/javassist/util/proxy/MethodFilter.java60
-rw-r--r--src/main/javassist/util/proxy/MethodHandler.java96
-rw-r--r--src/main/javassist/util/proxy/ProxyFactory.java1398
-rw-r--r--src/main/javassist/util/proxy/ProxyObject.java2
-rw-r--r--src/main/javassist/util/proxy/RuntimeSupport.java314
157 files changed, 1118 insertions, 1087 deletions
diff --git a/License.html b/License.html
index 7a734c3a..3a9d52f9 100644
--- a/License.html
+++ b/License.html
@@ -337,7 +337,7 @@ MISCELLANEOUS.</B>
basis. Nothing herein is intended or shall be deemed to constitute any
admission of liability.</UL><B>13. MULTIPLE-LICENSED CODE.</B>
<UL>Initial Developer may designate portions of the Covered Code as
- “Multiple-Licensed”.&nbsp; “Multiple-Licensed” means that the Initial
+ “Multiple-Licensed?.&nbsp; “Multiple-Licensed? means that the Initial
Developer permits you to utilize portions of the Covered Code under Your
choice of the MPL or the alternative licenses, if any, specified by the
Initial Developer in the file described in Exhibit A.</UL>
@@ -353,7 +353,7 @@ MISCELLANEOUS.</B>
<P>The Original Code is Javassist.
<P>The Initial Developer of the Original Code is Shigeru Chiba.
Portions created by the Initial Developer are<BR>&nbsp;
- Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
<P>Contributor(s): ______________________________________.
<P>Alternatively, the contents of this file may be used under the terms of
diff --git a/Readme.html b/Readme.html
index 9c88637d..3d7f8d92 100644
--- a/Readme.html
+++ b/Readme.html
@@ -7,7 +7,7 @@
<h1>Javassist version 3</h1>
-<h3>Copyright (C) 2000-2005 by Shigeru Chiba, All rights reserved.</h3>
+<h3>Copyright (C) 2000-2006 by Shigeru Chiba, All rights reserved.</h3>
<p><br></p>
diff --git a/src/main/javassist/ByteArrayClassPath.java b/src/main/javassist/ByteArrayClassPath.java
index 2bcd2574..54b17a0e 100644
--- a/src/main/javassist/ByteArrayClassPath.java
+++ b/src/main/javassist/ByteArrayClassPath.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/CannotCompileException.java b/src/main/javassist/CannotCompileException.java
index a16a4e5e..7ea97b0f 100644
--- a/src/main/javassist/CannotCompileException.java
+++ b/src/main/javassist/CannotCompileException.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/ClassClassPath.java b/src/main/javassist/ClassClassPath.java
index 1990f3ef..5217396b 100644
--- a/src/main/javassist/ClassClassPath.java
+++ b/src/main/javassist/ClassClassPath.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/ClassMap.java b/src/main/javassist/ClassMap.java
index 228eb265..916dee5e 100644
--- a/src/main/javassist/ClassMap.java
+++ b/src/main/javassist/ClassMap.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/ClassPath.java b/src/main/javassist/ClassPath.java
index 4148a59d..0da29aae 100644
--- a/src/main/javassist/ClassPath.java
+++ b/src/main/javassist/ClassPath.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/ClassPool.java b/src/main/javassist/ClassPool.java
index 35b92f93..b0d8f9e9 100644
--- a/src/main/javassist/ClassPool.java
+++ b/src/main/javassist/ClassPool.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/ClassPoolTail.java b/src/main/javassist/ClassPoolTail.java
index 2f6fb1ea..db75f282 100644
--- a/src/main/javassist/ClassPoolTail.java
+++ b/src/main/javassist/ClassPoolTail.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/CodeConverter.java b/src/main/javassist/CodeConverter.java
index 240312df..b4c47676 100644
--- a/src/main/javassist/CodeConverter.java
+++ b/src/main/javassist/CodeConverter.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/CtArray.java b/src/main/javassist/CtArray.java
index e8e50721..328b1bc9 100644
--- a/src/main/javassist/CtArray.java
+++ b/src/main/javassist/CtArray.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/CtBehavior.java b/src/main/javassist/CtBehavior.java
index 41e1df7e..71047844 100644
--- a/src/main/javassist/CtBehavior.java
+++ b/src/main/javassist/CtBehavior.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/CtClass.java b/src/main/javassist/CtClass.java
index d4178e7f..7e23352c 100644
--- a/src/main/javassist/CtClass.java
+++ b/src/main/javassist/CtClass.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
@@ -62,7 +62,7 @@ public abstract class CtClass {
*/
public static void main(String[] args) {
System.out.println("Javassist version " + CtClass.version);
- System.out.println("Copyright (C) 1999-2005 Shigeru Chiba."
+ System.out.println("Copyright (C) 1999-2006 Shigeru Chiba."
+ " All Rights Reserved.");
}
diff --git a/src/main/javassist/CtClassType.java b/src/main/javassist/CtClassType.java
index 92f73d3e..1eb9ba35 100644
--- a/src/main/javassist/CtClassType.java
+++ b/src/main/javassist/CtClassType.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/CtConstructor.java b/src/main/javassist/CtConstructor.java
index fa139c79..5d0f7c8e 100644
--- a/src/main/javassist/CtConstructor.java
+++ b/src/main/javassist/CtConstructor.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/CtField.java b/src/main/javassist/CtField.java
index 8b3580a2..86dd9b5d 100644
--- a/src/main/javassist/CtField.java
+++ b/src/main/javassist/CtField.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/CtMember.java b/src/main/javassist/CtMember.java
index 38846601..6fa84b5f 100644
--- a/src/main/javassist/CtMember.java
+++ b/src/main/javassist/CtMember.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/CtMethod.java b/src/main/javassist/CtMethod.java
index abb42b88..90181c8d 100644
--- a/src/main/javassist/CtMethod.java
+++ b/src/main/javassist/CtMethod.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/CtNewClass.java b/src/main/javassist/CtNewClass.java
index 4c49ce26..c0a714f1 100644
--- a/src/main/javassist/CtNewClass.java
+++ b/src/main/javassist/CtNewClass.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/CtNewConstructor.java b/src/main/javassist/CtNewConstructor.java
index f3f03d00..ac3d12b2 100644
--- a/src/main/javassist/CtNewConstructor.java
+++ b/src/main/javassist/CtNewConstructor.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/CtNewMethod.java b/src/main/javassist/CtNewMethod.java
index dbc408a8..cfe982e6 100644
--- a/src/main/javassist/CtNewMethod.java
+++ b/src/main/javassist/CtNewMethod.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/CtNewNestedClass.java b/src/main/javassist/CtNewNestedClass.java
index cd91c569..7eab92e8 100644
--- a/src/main/javassist/CtNewNestedClass.java
+++ b/src/main/javassist/CtNewNestedClass.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/CtNewWrappedConstructor.java b/src/main/javassist/CtNewWrappedConstructor.java
index 82fa2406..0219a98a 100644
--- a/src/main/javassist/CtNewWrappedConstructor.java
+++ b/src/main/javassist/CtNewWrappedConstructor.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/CtNewWrappedMethod.java b/src/main/javassist/CtNewWrappedMethod.java
index 279b16f0..88e680eb 100644
--- a/src/main/javassist/CtNewWrappedMethod.java
+++ b/src/main/javassist/CtNewWrappedMethod.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/CtPrimitiveType.java b/src/main/javassist/CtPrimitiveType.java
index 0eec576e..ac484fcb 100644
--- a/src/main/javassist/CtPrimitiveType.java
+++ b/src/main/javassist/CtPrimitiveType.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/Loader.java b/src/main/javassist/Loader.java
index fe340510..4c2c4b5d 100644
--- a/src/main/javassist/Loader.java
+++ b/src/main/javassist/Loader.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/LoaderClassPath.java b/src/main/javassist/LoaderClassPath.java
index 34df7da3..615f4400 100644
--- a/src/main/javassist/LoaderClassPath.java
+++ b/src/main/javassist/LoaderClassPath.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/Modifier.java b/src/main/javassist/Modifier.java
index 7b4dbdc8..d56969e8 100644
--- a/src/main/javassist/Modifier.java
+++ b/src/main/javassist/Modifier.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/NotFoundException.java b/src/main/javassist/NotFoundException.java
index 93723e45..567c2a68 100644
--- a/src/main/javassist/NotFoundException.java
+++ b/src/main/javassist/NotFoundException.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/SerialVersionUID.java b/src/main/javassist/SerialVersionUID.java
index 6ca74415..3ac7df01 100644
--- a/src/main/javassist/SerialVersionUID.java
+++ b/src/main/javassist/SerialVersionUID.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/Translator.java b/src/main/javassist/Translator.java
index f2225609..d5cfe4cb 100644
--- a/src/main/javassist/Translator.java
+++ b/src/main/javassist/Translator.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/URLClassPath.java b/src/main/javassist/URLClassPath.java
index e5846650..a9255ab0 100644
--- a/src/main/javassist/URLClassPath.java
+++ b/src/main/javassist/URLClassPath.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/AccessFlag.java b/src/main/javassist/bytecode/AccessFlag.java
index 7bd5bffc..0c0df24e 100644
--- a/src/main/javassist/bytecode/AccessFlag.java
+++ b/src/main/javassist/bytecode/AccessFlag.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/AnnotationDefaultAttribute.java b/src/main/javassist/bytecode/AnnotationDefaultAttribute.java
index 196774e5..757faeb0 100644
--- a/src/main/javassist/bytecode/AnnotationDefaultAttribute.java
+++ b/src/main/javassist/bytecode/AnnotationDefaultAttribute.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/AnnotationsAttribute.java b/src/main/javassist/bytecode/AnnotationsAttribute.java
index 9092a0f9..278c2c67 100644
--- a/src/main/javassist/bytecode/AnnotationsAttribute.java
+++ b/src/main/javassist/bytecode/AnnotationsAttribute.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/AttributeInfo.java b/src/main/javassist/bytecode/AttributeInfo.java
index 8fd598da..69152a7a 100644
--- a/src/main/javassist/bytecode/AttributeInfo.java
+++ b/src/main/javassist/bytecode/AttributeInfo.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/BadBytecode.java b/src/main/javassist/bytecode/BadBytecode.java
index 225cdd31..baa799d4 100644
--- a/src/main/javassist/bytecode/BadBytecode.java
+++ b/src/main/javassist/bytecode/BadBytecode.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/ByteArray.java b/src/main/javassist/bytecode/ByteArray.java
index 4c9b7f0f..6de9f339 100644
--- a/src/main/javassist/bytecode/ByteArray.java
+++ b/src/main/javassist/bytecode/ByteArray.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/Bytecode.java b/src/main/javassist/bytecode/Bytecode.java
index b2a0ee23..ffcc96a2 100644
--- a/src/main/javassist/bytecode/Bytecode.java
+++ b/src/main/javassist/bytecode/Bytecode.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/ClassFile.java b/src/main/javassist/bytecode/ClassFile.java
index 8f2fc66b..44f378e2 100644
--- a/src/main/javassist/bytecode/ClassFile.java
+++ b/src/main/javassist/bytecode/ClassFile.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/ClassFileWriter.java b/src/main/javassist/bytecode/ClassFileWriter.java
index 14de1189..e78a2cd2 100644
--- a/src/main/javassist/bytecode/ClassFileWriter.java
+++ b/src/main/javassist/bytecode/ClassFileWriter.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/CodeAnalyzer.java b/src/main/javassist/bytecode/CodeAnalyzer.java
index b4afb95a..a3c52499 100644
--- a/src/main/javassist/bytecode/CodeAnalyzer.java
+++ b/src/main/javassist/bytecode/CodeAnalyzer.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/CodeAttribute.java b/src/main/javassist/bytecode/CodeAttribute.java
index 038314d4..83a0a429 100644
--- a/src/main/javassist/bytecode/CodeAttribute.java
+++ b/src/main/javassist/bytecode/CodeAttribute.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/CodeIterator.java b/src/main/javassist/bytecode/CodeIterator.java
index eb10c871..52b0a4a0 100644
--- a/src/main/javassist/bytecode/CodeIterator.java
+++ b/src/main/javassist/bytecode/CodeIterator.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/ConstPool.java b/src/main/javassist/bytecode/ConstPool.java
index 6a1660ad..ed4974d5 100644
--- a/src/main/javassist/bytecode/ConstPool.java
+++ b/src/main/javassist/bytecode/ConstPool.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/ConstantAttribute.java b/src/main/javassist/bytecode/ConstantAttribute.java
index eabf4c42..9f1c5db0 100644
--- a/src/main/javassist/bytecode/ConstantAttribute.java
+++ b/src/main/javassist/bytecode/ConstantAttribute.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/DeprecatedAttribute.java b/src/main/javassist/bytecode/DeprecatedAttribute.java
index 31bc1e51..090b21fb 100644
--- a/src/main/javassist/bytecode/DeprecatedAttribute.java
+++ b/src/main/javassist/bytecode/DeprecatedAttribute.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/Descriptor.java b/src/main/javassist/bytecode/Descriptor.java
index 39577ce2..b88fc339 100644
--- a/src/main/javassist/bytecode/Descriptor.java
+++ b/src/main/javassist/bytecode/Descriptor.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/EnclosingMethodAttribute.java b/src/main/javassist/bytecode/EnclosingMethodAttribute.java
index cd598830..53002951 100644
--- a/src/main/javassist/bytecode/EnclosingMethodAttribute.java
+++ b/src/main/javassist/bytecode/EnclosingMethodAttribute.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/ExceptionTable.java b/src/main/javassist/bytecode/ExceptionTable.java
index f19f0ac9..0244cda1 100644
--- a/src/main/javassist/bytecode/ExceptionTable.java
+++ b/src/main/javassist/bytecode/ExceptionTable.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/ExceptionsAttribute.java b/src/main/javassist/bytecode/ExceptionsAttribute.java
index d022c5e6..cba86052 100644
--- a/src/main/javassist/bytecode/ExceptionsAttribute.java
+++ b/src/main/javassist/bytecode/ExceptionsAttribute.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/FieldInfo.java b/src/main/javassist/bytecode/FieldInfo.java
index a66d13a9..f0a13faf 100644
--- a/src/main/javassist/bytecode/FieldInfo.java
+++ b/src/main/javassist/bytecode/FieldInfo.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/InnerClassesAttribute.java b/src/main/javassist/bytecode/InnerClassesAttribute.java
index 24e224ab..8f28b571 100644
--- a/src/main/javassist/bytecode/InnerClassesAttribute.java
+++ b/src/main/javassist/bytecode/InnerClassesAttribute.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/LineNumberAttribute.java b/src/main/javassist/bytecode/LineNumberAttribute.java
index 8374143b..52c425d0 100644
--- a/src/main/javassist/bytecode/LineNumberAttribute.java
+++ b/src/main/javassist/bytecode/LineNumberAttribute.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/LocalVariableAttribute.java b/src/main/javassist/bytecode/LocalVariableAttribute.java
index 686fd8d1..da90dd30 100644
--- a/src/main/javassist/bytecode/LocalVariableAttribute.java
+++ b/src/main/javassist/bytecode/LocalVariableAttribute.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/LongVector.java b/src/main/javassist/bytecode/LongVector.java
index b1f679be..ffb9c7fe 100644
--- a/src/main/javassist/bytecode/LongVector.java
+++ b/src/main/javassist/bytecode/LongVector.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/MethodInfo.java b/src/main/javassist/bytecode/MethodInfo.java
index 5562e62d..93079920 100644
--- a/src/main/javassist/bytecode/MethodInfo.java
+++ b/src/main/javassist/bytecode/MethodInfo.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/Mnemonic.java b/src/main/javassist/bytecode/Mnemonic.java
index 723f50b4..d0c4e033 100644
--- a/src/main/javassist/bytecode/Mnemonic.java
+++ b/src/main/javassist/bytecode/Mnemonic.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/Opcode.java b/src/main/javassist/bytecode/Opcode.java
index 0f033f5f..62c8dcf5 100644
--- a/src/main/javassist/bytecode/Opcode.java
+++ b/src/main/javassist/bytecode/Opcode.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/ParameterAnnotationsAttribute.java b/src/main/javassist/bytecode/ParameterAnnotationsAttribute.java
index 35bcbe2a..19b3ea23 100644
--- a/src/main/javassist/bytecode/ParameterAnnotationsAttribute.java
+++ b/src/main/javassist/bytecode/ParameterAnnotationsAttribute.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/SignatureAttribute.java b/src/main/javassist/bytecode/SignatureAttribute.java
index 7dd4ba8c..c6fa3cfb 100644
--- a/src/main/javassist/bytecode/SignatureAttribute.java
+++ b/src/main/javassist/bytecode/SignatureAttribute.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/SourceFileAttribute.java b/src/main/javassist/bytecode/SourceFileAttribute.java
index c1a1533f..39332314 100644
--- a/src/main/javassist/bytecode/SourceFileAttribute.java
+++ b/src/main/javassist/bytecode/SourceFileAttribute.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/SyntheticAttribute.java b/src/main/javassist/bytecode/SyntheticAttribute.java
index 5b092015..16397fba 100644
--- a/src/main/javassist/bytecode/SyntheticAttribute.java
+++ b/src/main/javassist/bytecode/SyntheticAttribute.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/annotation/AnnotationImpl.java b/src/main/javassist/bytecode/annotation/AnnotationImpl.java
index d4718ffc..466a3f33 100644
--- a/src/main/javassist/bytecode/annotation/AnnotationImpl.java
+++ b/src/main/javassist/bytecode/annotation/AnnotationImpl.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/bytecode/annotation/AnnotationsWriter.java b/src/main/javassist/bytecode/annotation/AnnotationsWriter.java
index ae2aaa14..f1ac034e 100644
--- a/src/main/javassist/bytecode/annotation/AnnotationsWriter.java
+++ b/src/main/javassist/bytecode/annotation/AnnotationsWriter.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/AccessorMaker.java b/src/main/javassist/compiler/AccessorMaker.java
index 4410a342..090d9d90 100644
--- a/src/main/javassist/compiler/AccessorMaker.java
+++ b/src/main/javassist/compiler/AccessorMaker.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/CodeGen.java b/src/main/javassist/compiler/CodeGen.java
index 6739c17a..2d82e878 100644
--- a/src/main/javassist/compiler/CodeGen.java
+++ b/src/main/javassist/compiler/CodeGen.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/CompileError.java b/src/main/javassist/compiler/CompileError.java
index e5bb2d73..2c80fb4a 100644
--- a/src/main/javassist/compiler/CompileError.java
+++ b/src/main/javassist/compiler/CompileError.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/Javac.java b/src/main/javassist/compiler/Javac.java
index 7a9dbe83..d32fddcf 100644
--- a/src/main/javassist/compiler/Javac.java
+++ b/src/main/javassist/compiler/Javac.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/JvstCodeGen.java b/src/main/javassist/compiler/JvstCodeGen.java
index 7b38fdc5..8facdd23 100644
--- a/src/main/javassist/compiler/JvstCodeGen.java
+++ b/src/main/javassist/compiler/JvstCodeGen.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/JvstTypeChecker.java b/src/main/javassist/compiler/JvstTypeChecker.java
index 08833b68..9ac6c337 100644
--- a/src/main/javassist/compiler/JvstTypeChecker.java
+++ b/src/main/javassist/compiler/JvstTypeChecker.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/KeywordTable.java b/src/main/javassist/compiler/KeywordTable.java
index c1e5c151..0a1108c3 100644
--- a/src/main/javassist/compiler/KeywordTable.java
+++ b/src/main/javassist/compiler/KeywordTable.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/Lex.java b/src/main/javassist/compiler/Lex.java
index 3f555332..4cb78c77 100644
--- a/src/main/javassist/compiler/Lex.java
+++ b/src/main/javassist/compiler/Lex.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/MemberCodeGen.java b/src/main/javassist/compiler/MemberCodeGen.java
index aa644bb6..9446f42b 100644
--- a/src/main/javassist/compiler/MemberCodeGen.java
+++ b/src/main/javassist/compiler/MemberCodeGen.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/MemberResolver.java b/src/main/javassist/compiler/MemberResolver.java
index 44ab8077..12e7fa05 100644
--- a/src/main/javassist/compiler/MemberResolver.java
+++ b/src/main/javassist/compiler/MemberResolver.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/NoFieldException.java b/src/main/javassist/compiler/NoFieldException.java
index 2b20c15f..90915533 100644
--- a/src/main/javassist/compiler/NoFieldException.java
+++ b/src/main/javassist/compiler/NoFieldException.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/Parser.java b/src/main/javassist/compiler/Parser.java
index 5b61ae42..eae6d9e1 100644
--- a/src/main/javassist/compiler/Parser.java
+++ b/src/main/javassist/compiler/Parser.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ProceedHandler.java b/src/main/javassist/compiler/ProceedHandler.java
index 44bd6bad..fdeda62c 100644
--- a/src/main/javassist/compiler/ProceedHandler.java
+++ b/src/main/javassist/compiler/ProceedHandler.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/SymbolTable.java b/src/main/javassist/compiler/SymbolTable.java
index 7d1adf04..d6035a7c 100644
--- a/src/main/javassist/compiler/SymbolTable.java
+++ b/src/main/javassist/compiler/SymbolTable.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/SyntaxError.java b/src/main/javassist/compiler/SyntaxError.java
index bdf6edc5..46313de2 100644
--- a/src/main/javassist/compiler/SyntaxError.java
+++ b/src/main/javassist/compiler/SyntaxError.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/TokenId.java b/src/main/javassist/compiler/TokenId.java
index 090894c6..3368620c 100644
--- a/src/main/javassist/compiler/TokenId.java
+++ b/src/main/javassist/compiler/TokenId.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/TypeChecker.java b/src/main/javassist/compiler/TypeChecker.java
index 452edaa7..5d50104e 100644
--- a/src/main/javassist/compiler/TypeChecker.java
+++ b/src/main/javassist/compiler/TypeChecker.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/ASTList.java b/src/main/javassist/compiler/ast/ASTList.java
index 0dfb8e17..128e672f 100644
--- a/src/main/javassist/compiler/ast/ASTList.java
+++ b/src/main/javassist/compiler/ast/ASTList.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/ASTree.java b/src/main/javassist/compiler/ast/ASTree.java
index 2b04d6c4..4a22b324 100644
--- a/src/main/javassist/compiler/ast/ASTree.java
+++ b/src/main/javassist/compiler/ast/ASTree.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/ArrayInit.java b/src/main/javassist/compiler/ast/ArrayInit.java
index bdc35a75..359cc766 100644
--- a/src/main/javassist/compiler/ast/ArrayInit.java
+++ b/src/main/javassist/compiler/ast/ArrayInit.java
@@ -1,6 +1,22 @@
+/*
+ * Javassist, a Java-bytecode translator toolkit.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. Alternatively, the contents of this file may be used under
+ * the terms of the GNU Lesser General Public License Version 2.1 or later.
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ */
+
package javassist.compiler.ast;
import javassist.compiler.CompileError;
+
/**
* Array initializer such as <code>{ 1, 2, 3 }</code>.
*/
diff --git a/src/main/javassist/compiler/ast/AssignExpr.java b/src/main/javassist/compiler/ast/AssignExpr.java
index c11cc604..b6805fe8 100644
--- a/src/main/javassist/compiler/ast/AssignExpr.java
+++ b/src/main/javassist/compiler/ast/AssignExpr.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/BinExpr.java b/src/main/javassist/compiler/ast/BinExpr.java
index b1635dbe..b2f3ffac 100644
--- a/src/main/javassist/compiler/ast/BinExpr.java
+++ b/src/main/javassist/compiler/ast/BinExpr.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/CallExpr.java b/src/main/javassist/compiler/ast/CallExpr.java
index 88a3c762..32ef5dcc 100644
--- a/src/main/javassist/compiler/ast/CallExpr.java
+++ b/src/main/javassist/compiler/ast/CallExpr.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/CastExpr.java b/src/main/javassist/compiler/ast/CastExpr.java
index 047e268d..a87a45d1 100644
--- a/src/main/javassist/compiler/ast/CastExpr.java
+++ b/src/main/javassist/compiler/ast/CastExpr.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/CondExpr.java b/src/main/javassist/compiler/ast/CondExpr.java
index 1894437e..2cdafba3 100644
--- a/src/main/javassist/compiler/ast/CondExpr.java
+++ b/src/main/javassist/compiler/ast/CondExpr.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/Declarator.java b/src/main/javassist/compiler/ast/Declarator.java
index 120510b5..65c746bf 100644
--- a/src/main/javassist/compiler/ast/Declarator.java
+++ b/src/main/javassist/compiler/ast/Declarator.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/DoubleConst.java b/src/main/javassist/compiler/ast/DoubleConst.java
index d7ca53dc..f4fb2395 100644
--- a/src/main/javassist/compiler/ast/DoubleConst.java
+++ b/src/main/javassist/compiler/ast/DoubleConst.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/Expr.java b/src/main/javassist/compiler/ast/Expr.java
index 549f3117..665f0af8 100644
--- a/src/main/javassist/compiler/ast/Expr.java
+++ b/src/main/javassist/compiler/ast/Expr.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/FieldDecl.java b/src/main/javassist/compiler/ast/FieldDecl.java
index d143249d..34404701 100644
--- a/src/main/javassist/compiler/ast/FieldDecl.java
+++ b/src/main/javassist/compiler/ast/FieldDecl.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/InstanceOfExpr.java b/src/main/javassist/compiler/ast/InstanceOfExpr.java
index 80f42699..d512c28f 100644
--- a/src/main/javassist/compiler/ast/InstanceOfExpr.java
+++ b/src/main/javassist/compiler/ast/InstanceOfExpr.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/IntConst.java b/src/main/javassist/compiler/ast/IntConst.java
index 6c9b395c..8e45189e 100644
--- a/src/main/javassist/compiler/ast/IntConst.java
+++ b/src/main/javassist/compiler/ast/IntConst.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/Keyword.java b/src/main/javassist/compiler/ast/Keyword.java
index ccd8574d..0932609c 100644
--- a/src/main/javassist/compiler/ast/Keyword.java
+++ b/src/main/javassist/compiler/ast/Keyword.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/Member.java b/src/main/javassist/compiler/ast/Member.java
index 905bf6b4..bc67a24e 100644
--- a/src/main/javassist/compiler/ast/Member.java
+++ b/src/main/javassist/compiler/ast/Member.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/MethodDecl.java b/src/main/javassist/compiler/ast/MethodDecl.java
index 3ef44103..2cbe3f1f 100644
--- a/src/main/javassist/compiler/ast/MethodDecl.java
+++ b/src/main/javassist/compiler/ast/MethodDecl.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/NewExpr.java b/src/main/javassist/compiler/ast/NewExpr.java
index b570ea0b..91a3fe2c 100644
--- a/src/main/javassist/compiler/ast/NewExpr.java
+++ b/src/main/javassist/compiler/ast/NewExpr.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/Pair.java b/src/main/javassist/compiler/ast/Pair.java
index be3ec592..6f1757fc 100644
--- a/src/main/javassist/compiler/ast/Pair.java
+++ b/src/main/javassist/compiler/ast/Pair.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/Stmnt.java b/src/main/javassist/compiler/ast/Stmnt.java
index 8abd6650..a130dd2d 100644
--- a/src/main/javassist/compiler/ast/Stmnt.java
+++ b/src/main/javassist/compiler/ast/Stmnt.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/StringL.java b/src/main/javassist/compiler/ast/StringL.java
index 2bf1de0a..e841b1eb 100644
--- a/src/main/javassist/compiler/ast/StringL.java
+++ b/src/main/javassist/compiler/ast/StringL.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/Symbol.java b/src/main/javassist/compiler/ast/Symbol.java
index a35a13cb..f3c5d717 100644
--- a/src/main/javassist/compiler/ast/Symbol.java
+++ b/src/main/javassist/compiler/ast/Symbol.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/Variable.java b/src/main/javassist/compiler/ast/Variable.java
index f0c67beb..003c2b6a 100644
--- a/src/main/javassist/compiler/ast/Variable.java
+++ b/src/main/javassist/compiler/ast/Variable.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/compiler/ast/Visitor.java b/src/main/javassist/compiler/ast/Visitor.java
index 5c361d8d..ca7c5b0b 100644
--- a/src/main/javassist/compiler/ast/Visitor.java
+++ b/src/main/javassist/compiler/ast/Visitor.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/convert/TransformAfter.java b/src/main/javassist/convert/TransformAfter.java
index 5378dc60..b96cb8c9 100644
--- a/src/main/javassist/convert/TransformAfter.java
+++ b/src/main/javassist/convert/TransformAfter.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/convert/TransformBefore.java b/src/main/javassist/convert/TransformBefore.java
index 49531e87..dcbff3b7 100644
--- a/src/main/javassist/convert/TransformBefore.java
+++ b/src/main/javassist/convert/TransformBefore.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/convert/TransformCall.java b/src/main/javassist/convert/TransformCall.java
index 6b389f9f..c9f62488 100644
--- a/src/main/javassist/convert/TransformCall.java
+++ b/src/main/javassist/convert/TransformCall.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/convert/TransformFieldAccess.java b/src/main/javassist/convert/TransformFieldAccess.java
index b8d68af3..b3e9adfd 100644
--- a/src/main/javassist/convert/TransformFieldAccess.java
+++ b/src/main/javassist/convert/TransformFieldAccess.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/convert/TransformNew.java b/src/main/javassist/convert/TransformNew.java
index 6c17e7b2..c4347b7c 100644
--- a/src/main/javassist/convert/TransformNew.java
+++ b/src/main/javassist/convert/TransformNew.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/convert/TransformReadField.java b/src/main/javassist/convert/TransformReadField.java
index 2970cd27..ad490f88 100644
--- a/src/main/javassist/convert/TransformReadField.java
+++ b/src/main/javassist/convert/TransformReadField.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/convert/TransformWriteField.java b/src/main/javassist/convert/TransformWriteField.java
index 78f4a42f..d749ad58 100644
--- a/src/main/javassist/convert/TransformWriteField.java
+++ b/src/main/javassist/convert/TransformWriteField.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/convert/Transformer.java b/src/main/javassist/convert/Transformer.java
index 0644e507..82baade6 100644
--- a/src/main/javassist/convert/Transformer.java
+++ b/src/main/javassist/convert/Transformer.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/expr/Cast.java b/src/main/javassist/expr/Cast.java
index 5625e1d8..b7440ba7 100644
--- a/src/main/javassist/expr/Cast.java
+++ b/src/main/javassist/expr/Cast.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/expr/ConstructorCall.java b/src/main/javassist/expr/ConstructorCall.java
index df3b01e0..3a23181e 100644
--- a/src/main/javassist/expr/ConstructorCall.java
+++ b/src/main/javassist/expr/ConstructorCall.java
@@ -1,3 +1,18 @@
+/*
+ * Javassist, a Java-bytecode translator toolkit.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. Alternatively, the contents of this file may be used under
+ * the terms of the GNU Lesser General Public License Version 2.1 or later.
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ */
+
package javassist.expr;
import javassist.CtClass;
diff --git a/src/main/javassist/expr/Expr.java b/src/main/javassist/expr/Expr.java
index d0a42b74..c6cf78eb 100644
--- a/src/main/javassist/expr/Expr.java
+++ b/src/main/javassist/expr/Expr.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/expr/ExprEditor.java b/src/main/javassist/expr/ExprEditor.java
index c18e426b..a713dde3 100644
--- a/src/main/javassist/expr/ExprEditor.java
+++ b/src/main/javassist/expr/ExprEditor.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/expr/FieldAccess.java b/src/main/javassist/expr/FieldAccess.java
index 34115972..9339d1c5 100644
--- a/src/main/javassist/expr/FieldAccess.java
+++ b/src/main/javassist/expr/FieldAccess.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/expr/Handler.java b/src/main/javassist/expr/Handler.java
index c949dc0e..78a5688d 100644
--- a/src/main/javassist/expr/Handler.java
+++ b/src/main/javassist/expr/Handler.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/expr/Instanceof.java b/src/main/javassist/expr/Instanceof.java
index 16db1857..0f8ebdf7 100644
--- a/src/main/javassist/expr/Instanceof.java
+++ b/src/main/javassist/expr/Instanceof.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/expr/MethodCall.java b/src/main/javassist/expr/MethodCall.java
index 9fd29e2a..2c385b1b 100644
--- a/src/main/javassist/expr/MethodCall.java
+++ b/src/main/javassist/expr/MethodCall.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/expr/NewArray.java b/src/main/javassist/expr/NewArray.java
index 1181e6fc..c01d0d6d 100644
--- a/src/main/javassist/expr/NewArray.java
+++ b/src/main/javassist/expr/NewArray.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/expr/NewExpr.java b/src/main/javassist/expr/NewExpr.java
index 2f976d82..a75a0a5c 100644
--- a/src/main/javassist/expr/NewExpr.java
+++ b/src/main/javassist/expr/NewExpr.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/runtime/Cflow.java b/src/main/javassist/runtime/Cflow.java
index 13a44657..28bb4354 100644
--- a/src/main/javassist/runtime/Cflow.java
+++ b/src/main/javassist/runtime/Cflow.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/runtime/Desc.java b/src/main/javassist/runtime/Desc.java
index 36db6a1f..4a9b4d62 100644
--- a/src/main/javassist/runtime/Desc.java
+++ b/src/main/javassist/runtime/Desc.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/runtime/DotClass.java b/src/main/javassist/runtime/DotClass.java
index 0e57cdf4..9d861c1b 100644
--- a/src/main/javassist/runtime/DotClass.java
+++ b/src/main/javassist/runtime/DotClass.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/runtime/Inner.java b/src/main/javassist/runtime/Inner.java
index b7bdb03e..5672c2f5 100644
--- a/src/main/javassist/runtime/Inner.java
+++ b/src/main/javassist/runtime/Inner.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/Dump.java b/src/main/javassist/tools/Dump.java
index 8f44b4ba..a581249f 100644
--- a/src/main/javassist/tools/Dump.java
+++ b/src/main/javassist/tools/Dump.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/reflect/CannotCreateException.java b/src/main/javassist/tools/reflect/CannotCreateException.java
index efa14111..efc21d6f 100644
--- a/src/main/javassist/tools/reflect/CannotCreateException.java
+++ b/src/main/javassist/tools/reflect/CannotCreateException.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/reflect/CannotInvokeException.java b/src/main/javassist/tools/reflect/CannotInvokeException.java
index d283d6d7..070594a0 100644
--- a/src/main/javassist/tools/reflect/CannotInvokeException.java
+++ b/src/main/javassist/tools/reflect/CannotInvokeException.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/reflect/CannotReflectException.java b/src/main/javassist/tools/reflect/CannotReflectException.java
index 30c448b3..1e640858 100644
--- a/src/main/javassist/tools/reflect/CannotReflectException.java
+++ b/src/main/javassist/tools/reflect/CannotReflectException.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/reflect/ClassMetaobject.java b/src/main/javassist/tools/reflect/ClassMetaobject.java
index d0a645cc..d99bc8aa 100644
--- a/src/main/javassist/tools/reflect/ClassMetaobject.java
+++ b/src/main/javassist/tools/reflect/ClassMetaobject.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/reflect/Compiler.java b/src/main/javassist/tools/reflect/Compiler.java
index 7e1fb943..a32c0a8b 100644
--- a/src/main/javassist/tools/reflect/Compiler.java
+++ b/src/main/javassist/tools/reflect/Compiler.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/reflect/Loader.java b/src/main/javassist/tools/reflect/Loader.java
index 36189edf..ba50f112 100644
--- a/src/main/javassist/tools/reflect/Loader.java
+++ b/src/main/javassist/tools/reflect/Loader.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/reflect/Metalevel.java b/src/main/javassist/tools/reflect/Metalevel.java
index db45cad9..afae616e 100644
--- a/src/main/javassist/tools/reflect/Metalevel.java
+++ b/src/main/javassist/tools/reflect/Metalevel.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/reflect/Metaobject.java b/src/main/javassist/tools/reflect/Metaobject.java
index e89b5398..801fff86 100644
--- a/src/main/javassist/tools/reflect/Metaobject.java
+++ b/src/main/javassist/tools/reflect/Metaobject.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/reflect/Reflection.java b/src/main/javassist/tools/reflect/Reflection.java
index 06ce2ccf..d5f008bc 100644
--- a/src/main/javassist/tools/reflect/Reflection.java
+++ b/src/main/javassist/tools/reflect/Reflection.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/reflect/Sample.java b/src/main/javassist/tools/reflect/Sample.java
index 4e70236a..9d5b13cb 100644
--- a/src/main/javassist/tools/reflect/Sample.java
+++ b/src/main/javassist/tools/reflect/Sample.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/rmi/AppletServer.java b/src/main/javassist/tools/rmi/AppletServer.java
index 5056e24c..c0558026 100644
--- a/src/main/javassist/tools/rmi/AppletServer.java
+++ b/src/main/javassist/tools/rmi/AppletServer.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/rmi/ObjectImporter.java b/src/main/javassist/tools/rmi/ObjectImporter.java
index 75f5aa60..49160fd1 100644
--- a/src/main/javassist/tools/rmi/ObjectImporter.java
+++ b/src/main/javassist/tools/rmi/ObjectImporter.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/rmi/ObjectNotFoundException.java b/src/main/javassist/tools/rmi/ObjectNotFoundException.java
index e54a3257..5176661e 100644
--- a/src/main/javassist/tools/rmi/ObjectNotFoundException.java
+++ b/src/main/javassist/tools/rmi/ObjectNotFoundException.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/rmi/Proxy.java b/src/main/javassist/tools/rmi/Proxy.java
index 1512b87f..70ff83a6 100644
--- a/src/main/javassist/tools/rmi/Proxy.java
+++ b/src/main/javassist/tools/rmi/Proxy.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/rmi/RemoteException.java b/src/main/javassist/tools/rmi/RemoteException.java
index 27ebe71e..0013bac4 100644
--- a/src/main/javassist/tools/rmi/RemoteException.java
+++ b/src/main/javassist/tools/rmi/RemoteException.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/rmi/RemoteRef.java b/src/main/javassist/tools/rmi/RemoteRef.java
index edbf349f..51a271cc 100644
--- a/src/main/javassist/tools/rmi/RemoteRef.java
+++ b/src/main/javassist/tools/rmi/RemoteRef.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/rmi/Sample.java b/src/main/javassist/tools/rmi/Sample.java
index a65b908d..0bf71a62 100644
--- a/src/main/javassist/tools/rmi/Sample.java
+++ b/src/main/javassist/tools/rmi/Sample.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/rmi/StubGenerator.java b/src/main/javassist/tools/rmi/StubGenerator.java
index 7681bd6d..0b6b4dbe 100644
--- a/src/main/javassist/tools/rmi/StubGenerator.java
+++ b/src/main/javassist/tools/rmi/StubGenerator.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/web/BadHttpRequest.java b/src/main/javassist/tools/web/BadHttpRequest.java
index 606ce997..52ff76ec 100644
--- a/src/main/javassist/tools/web/BadHttpRequest.java
+++ b/src/main/javassist/tools/web/BadHttpRequest.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/web/Viewer.java b/src/main/javassist/tools/web/Viewer.java
index 6e737406..063bb96f 100644
--- a/src/main/javassist/tools/web/Viewer.java
+++ b/src/main/javassist/tools/web/Viewer.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/tools/web/Webserver.java b/src/main/javassist/tools/web/Webserver.java
index e580feca..769c88c5 100644
--- a/src/main/javassist/tools/web/Webserver.java
+++ b/src/main/javassist/tools/web/Webserver.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/util/HotSwapper.java b/src/main/javassist/util/HotSwapper.java
index 07abe7a0..ef258912 100644
--- a/src/main/javassist/util/HotSwapper.java
+++ b/src/main/javassist/util/HotSwapper.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/util/proxy/FactoryHelper.java b/src/main/javassist/util/proxy/FactoryHelper.java
index 01bd6bf1..b00b9a93 100644
--- a/src/main/javassist/util/proxy/FactoryHelper.java
+++ b/src/main/javassist/util/proxy/FactoryHelper.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/util/proxy/MethodFilter.java b/src/main/javassist/util/proxy/MethodFilter.java
index 67f9e409..5b9ce167 100644
--- a/src/main/javassist/util/proxy/MethodFilter.java
+++ b/src/main/javassist/util/proxy/MethodFilter.java
@@ -1,30 +1,30 @@
-/*
- * Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. Alternatively, the contents of this file may be used under
- * the terms of the GNU Lesser General Public License Version 2.1 or later.
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- */
-
-package javassist.util.proxy;
-
-import java.lang.reflect.Method;
-
-/**
- * Selector of the methods implemented by a handler.
- *
- * @see ProxyFactory#setFilter(MethodFilter)
- */
-public interface MethodFilter {
- /**
- * Returns true if the given method is implemented by a handler.
- */
- boolean isHandled(Method m);
-}
+/*
+ * Javassist, a Java-bytecode translator toolkit.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. Alternatively, the contents of this file may be used under
+ * the terms of the GNU Lesser General Public License Version 2.1 or later.
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ */
+
+package javassist.util.proxy;
+
+import java.lang.reflect.Method;
+
+/**
+ * Selector of the methods implemented by a handler.
+ *
+ * @see ProxyFactory#setFilter(MethodFilter)
+ */
+public interface MethodFilter {
+ /**
+ * Returns true if the given method is implemented by a handler.
+ */
+ boolean isHandled(Method m);
+}
diff --git a/src/main/javassist/util/proxy/MethodHandler.java b/src/main/javassist/util/proxy/MethodHandler.java
index 7bd28ba0..7c398fcc 100644
--- a/src/main/javassist/util/proxy/MethodHandler.java
+++ b/src/main/javassist/util/proxy/MethodHandler.java
@@ -1,48 +1,48 @@
-/*
- * Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. Alternatively, the contents of this file may be used under
- * the terms of the GNU Lesser General Public License Version 2.1 or later.
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- */
-
-package javassist.util.proxy;
-
-import java.lang.reflect.Method;
-
-/**
- * The interface implemented by the invocation handler of a proxy
- * instance.
- *
- * @see ProxyFactory#setHandler(MethodHandler)
- */
-public interface MethodHandler {
- /**
- * Is called when a method is invoked on a proxy instance associated
- * with this handler. This method must process that method invocation.
- *
- * @param self the proxy instance.
- * @param thisMethod the overridden method declared in the super
- * class or interface.
- * @param proceed the forwarder method for invoking the overridden
- * method. It is null if the overridden mehtod is
- * abstract or declared in the interface.
- * @param args an array of objects containing the values of
- * the arguments passed in the method invocation
- * on the proxy instance. If a parameter type is
- * a primitive type, the type of the array element
- * is a wrapper class.
- * @return the resulting value of the method invocation.
- *
- * @throws Exception if the method invocation fails.
- */
- Object invoke(Object self, Method thisMethod, Method proceed,
- Object[] args) throws Exception;
-}
+/*
+ * Javassist, a Java-bytecode translator toolkit.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. Alternatively, the contents of this file may be used under
+ * the terms of the GNU Lesser General Public License Version 2.1 or later.
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ */
+
+package javassist.util.proxy;
+
+import java.lang.reflect.Method;
+
+/**
+ * The interface implemented by the invocation handler of a proxy
+ * instance.
+ *
+ * @see ProxyFactory#setHandler(MethodHandler)
+ */
+public interface MethodHandler {
+ /**
+ * Is called when a method is invoked on a proxy instance associated
+ * with this handler. This method must process that method invocation.
+ *
+ * @param self the proxy instance.
+ * @param thisMethod the overridden method declared in the super
+ * class or interface.
+ * @param proceed the forwarder method for invoking the overridden
+ * method. It is null if the overridden mehtod is
+ * abstract or declared in the interface.
+ * @param args an array of objects containing the values of
+ * the arguments passed in the method invocation
+ * on the proxy instance. If a parameter type is
+ * a primitive type, the type of the array element
+ * is a wrapper class.
+ * @return the resulting value of the method invocation.
+ *
+ * @throws Exception if the method invocation fails.
+ */
+ Object invoke(Object self, Method thisMethod, Method proceed,
+ Object[] args) throws Exception;
+}
diff --git a/src/main/javassist/util/proxy/ProxyFactory.java b/src/main/javassist/util/proxy/ProxyFactory.java
index 356c23bf..ecdd170f 100644
--- a/src/main/javassist/util/proxy/ProxyFactory.java
+++ b/src/main/javassist/util/proxy/ProxyFactory.java
@@ -1,699 +1,699 @@
-/*
- * Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. Alternatively, the contents of this file may be used under
- * the terms of the GNU Lesser General Public License Version 2.1 or later.
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- */
-
-package javassist.util.proxy;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Member;
-import java.lang.reflect.Modifier;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import javassist.CannotCompileException;
-import javassist.bytecode.*;
-
-/**
- * Factory of dynamic proxy classes.
- *
- * <p>This factory generates a class that extends the given super class and implements
- * the given interfaces. The calls of the methods inherited from the super class are
- * forwarded and then <code>invoke()</code> is called on the method handler
- * associated with the generated class. The calls of the methods from the interfaces
- * are also forwarded to the method handler.
- *
- * <p>For example, if the following code is executed,
- *
- * <ul><pre>
- * ProxyFactory f = new ProxyFactory();
- * f.setSuperclass(Foo.class);
- * MethodHandler mi = new MethodHandler() {
- * public Object invoke(Object self, Method m, Method proceed,
- * Object[] args) throws Exception {
- * System.out.println("Name: " + m.getName());
- * proceed.invoke(self, args); // execute the original method.
- * }
- * };
- * f.setHandler(mi);
- * Class c = f.createClass();
- * Foo foo = (Foo)c.newInstance();
- * </pre></ul>
- *
- * <p>Then, the following method call will be forwarded to MethodHandler
- * <code>mi</code> and prints a message before executing the originally called method
- * <code>bar()</code> in <code>Foo</code>.
- *
- * <ul><pre>
- * foo.bar();
- * </pre></ul>
- *
- * <p>To change the method handler during runtime,
- * execute the following code:
- *
- * <ul><pre>
- * MethodHandler mi2 = ... ; // another handler
- * ((ProxyObject)foo).setHandler(mi2);
- * </pre></ul>
- *
- * <p>Here is an example of method handler. It does not execute
- * anything except invoking the original method:
- *
- * <ul><pre>
- * class SimpleHandler implements MethodHandler {
- * public Object invoke(Object self, Method m,
- * Method proceed, Object[] args) throws Exception {
- * return proceed.invoke(self, args);
- * }
- * }
- * </pre></ul>
- *
- * @see MethodHandler
- * @since 3.1
- */
-public class ProxyFactory {
- private Class superClass;
- private Class[] interfaces;
- private MethodFilter methodFilter;
- private MethodHandler handler;
- private Class thisClass;
-
- /**
- * If the value of this variable is not null, the class file of
- * the generated proxy class is written under the directory specified
- * by this variable. For example, if the value is
- * <code>"."</code>, then the class file is written under the current
- * directory. This method is for debugging.
- *
- * <p>The default value is null.
- */
- public String writeDirectory;
-
- private static final Class OBJECT_TYPE = Object.class;
-
- private static final String HOLDER = "_methods_";
- private static final String HOLDER_TYPE = "[Ljava/lang/reflect/Method;";
- private static final String HANDLER = "handler";
- private static final String DEFAULT_INTERCEPTOR = "default_interceptor";
- private static final String HANDLER_TYPE
- = 'L' + MethodHandler.class.getName().replace('.', '/') + ';';
- private static final String HANDLER_SETTER = "setHandler";
- private static final String HANDLER_SETTER_TYPE = "(" + HANDLER_TYPE + ")V";
-
- /**
- * Constructs a factory of proxy class.
- */
- public ProxyFactory() {
- superClass = null;
- interfaces = null;
- methodFilter = null;
- handler = new MethodHandler() {
- public Object invoke(Object self, Method m,
- Method proceed, Object[] args)
- throws Exception
- {
- return proceed.invoke(self, args);
- }
- };
- thisClass = null;
- writeDirectory = null;
- }
-
- /**
- * Sets the super class of a proxy class.
- */
- public void setSuperclass(Class clazz) {
- superClass = clazz;
- }
-
- /**
- * Sets the interfaces of a proxy class.
- */
- public void setInterfaces(Class[] ifs) {
- interfaces = ifs;
- }
-
- /**
- * Sets a filter that selects the methods that will be controlled by a handler.
- */
- public void setFilter(MethodFilter mf) {
- methodFilter = mf;
- }
-
- /**
- * Generates a proxy class.
- */
- public Class createClass() {
- if (thisClass == null)
- try {
- ClassFile cf = make();
- ClassLoader cl = getClassLoader();
- if (writeDirectory != null)
- FactoryHelper.writeFile(cf, writeDirectory);
-
- thisClass = FactoryHelper.toClass(cf, cl);
- setHandler();
- }
- catch (CannotCompileException e) {
- throw new RuntimeException(e.getMessage(), e);
- }
-
- return thisClass;
- }
-
- protected ClassLoader getClassLoader() {
- if (superClass != null && !superClass.getName().equals("java.lang.Object"))
- return superClass.getClassLoader();
- else if (interfaces != null && interfaces.length > 0)
- return interfaces[0].getClassLoader();
- else
- return this.getClass().getClassLoader();
- // return Thread.currentThread().getContextClassLoader();
- }
-
- /**
- * Sets the default invocation handler. This invocation handler is shared
- * among all the instances of a proxy class unless another is explicitly
- * specified.
- */
- public void setHandler(MethodHandler mi) {
- handler = mi;
- setHandler();
- }
-
- private void setHandler() {
- if (thisClass != null && handler != null)
- try {
- Field f = thisClass.getField(DEFAULT_INTERCEPTOR);
- f.setAccessible(true);
- f.set(null, handler);
- f.setAccessible(false);
- }
- catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- private static int counter = 0;
-
- private ClassFile make() throws CannotCompileException {
- String superName, classname;
- if (interfaces == null)
- interfaces = new Class[0];
-
- if (superClass == null) {
- superClass = OBJECT_TYPE;
- superName = superClass.getName();
- classname = interfaces.length == 0 ? superName
- : interfaces[0].getName();
- }
- else {
- superName = superClass.getName();
- classname = superName;
- }
-
- if (Modifier.isFinal(superClass.getModifiers()))
- throw new CannotCompileException(superName + " is final");
-
- // generate a proxy name.
- classname = classname + "_$$_javassist_" + counter++;
- if (classname.startsWith("java."))
- classname = "org.javassist.tmp." + classname;
-
- ClassFile cf = new ClassFile(false, classname, superName);
- cf.setAccessFlags(AccessFlag.PUBLIC);
- setInterfaces(cf, interfaces);
- ConstPool pool = cf.getConstPool();
- FieldInfo finfo = new FieldInfo(pool, DEFAULT_INTERCEPTOR, HANDLER_TYPE);
- finfo.setAccessFlags(AccessFlag.PUBLIC | AccessFlag.STATIC);
- cf.addField(finfo);
-
- FieldInfo finfo2 = new FieldInfo(pool, HANDLER, HANDLER_TYPE);
- finfo2.setAccessFlags(AccessFlag.PRIVATE);
- cf.addField(finfo2);
-
- HashMap allMethods = getMethods(superClass, interfaces);
- int size = allMethods.size();
- makeConstructors(classname, cf, pool, classname);
- int s = overrideMethods(cf, pool, classname, allMethods);
- addMethodsHolder(cf, pool, classname, s);
- addSetter(classname, cf, pool);
-
- thisClass = null;
- return cf;
- }
-
- private static void setInterfaces(ClassFile cf, Class[] interfaces) {
- String setterIntf = ProxyObject.class.getName();
- String[] list;
- if (interfaces == null || interfaces.length == 0)
- list = new String[] { setterIntf };
- else {
- list = new String[interfaces.length + 1];
- for (int i = 0; i < interfaces.length; i++)
- list[i] = interfaces[i].getName();
-
- list[interfaces.length] = setterIntf;
- }
-
- cf.setInterfaces(list);
- }
-
- private static void addMethodsHolder(ClassFile cf, ConstPool cp,
- String classname, int size)
- throws CannotCompileException
- {
- FieldInfo finfo = new FieldInfo(cp, HOLDER, HOLDER_TYPE);
- finfo.setAccessFlags(AccessFlag.PRIVATE | AccessFlag.STATIC);
- cf.addField(finfo);
- MethodInfo minfo = new MethodInfo(cp, "<clinit>", "()V");
- Bytecode code = new Bytecode(cp, 0, 0);
- code.addIconst(size * 2);
- code.addAnewarray("java.lang.reflect.Method");
- code.addPutstatic(classname, HOLDER, HOLDER_TYPE);
- code.addOpcode(Bytecode.RETURN);
- minfo.setCodeAttribute(code.toCodeAttribute());
- cf.addMethod(minfo);
- }
-
- private static void addSetter(String classname, ClassFile cf, ConstPool cp)
- throws CannotCompileException
- {
- MethodInfo minfo = new MethodInfo(cp, HANDLER_SETTER,
- HANDLER_SETTER_TYPE);
- minfo.setAccessFlags(AccessFlag.PUBLIC);
- Bytecode code = new Bytecode(cp, 2, 2);
- code.addAload(0);
- code.addAload(1);
- code.addPutfield(classname, HANDLER, HANDLER_TYPE);
- code.addOpcode(Bytecode.RETURN);
- minfo.setCodeAttribute(code.toCodeAttribute());
- cf.addMethod(minfo);
- }
-
- private int overrideMethods(ClassFile cf, ConstPool cp, String className,
- HashMap allMethods)
- throws CannotCompileException
- {
- String prefix = makeUniqueName("_d", allMethods);
- Set entries = allMethods.entrySet();
- Iterator it = entries.iterator();
- int index = 0;
- while (it.hasNext()) {
- Map.Entry e = (Map.Entry)it.next();
- String key = (String)e.getKey();
- Method meth = (Method)e.getValue();
- int mod = meth.getModifiers();
- if (!Modifier.isFinal(mod) && !Modifier.isStatic(mod)
- && isVisible(mod, className, meth))
- if (methodFilter == null || methodFilter.isHandled(meth))
- override(className, meth, prefix, index++,
- keyToDesc(key), cf, cp);
- }
-
- return index;
- }
-
- private void override(String thisClassname, Method meth, String prefix,
- int index, String desc, ClassFile cf, ConstPool cp)
- throws CannotCompileException
- {
- Class declClass = meth.getDeclaringClass();
- String delegatorName = prefix + index + meth.getName();
- if (Modifier.isAbstract(meth.getModifiers()))
- delegatorName = null;
- else {
- MethodInfo delegator
- = makeDelegator(meth, desc, cp, declClass, delegatorName);
- cf.addMethod(delegator);
- }
-
- MethodInfo forwarder
- = makeForwarder(thisClassname, meth, desc, cp, declClass,
- delegatorName, index);
- cf.addMethod(forwarder);
- }
-
- private void makeConstructors(String thisClassName, ClassFile cf,
- ConstPool cp, String classname) throws CannotCompileException
- {
- Constructor[] cons = superClass.getDeclaredConstructors();
- for (int i = 0; i < cons.length; i++) {
- Constructor c = cons[i];
- int mod = c.getModifiers();
- if (!Modifier.isFinal(mod) && !Modifier.isPrivate(mod)
- && isVisible(mod, classname, c)) {
- MethodInfo m = makeConstructor(thisClassName, c, cp, superClass);
- cf.addMethod(m);
- }
- }
- }
-
- private static String makeUniqueName(String name, HashMap hash) {
- Set keys = hash.keySet();
- if (makeUniqueName0(name, keys.iterator()))
- return name;
-
- for (int i = 100; i < 999; i++) {
- String s = name + i;
- if (makeUniqueName0(s, keys.iterator()))
- return s;
- }
-
- throw new RuntimeException("cannot make a unique method name");
- }
-
- private static boolean makeUniqueName0(String name, Iterator it) {
- while (it.hasNext()) {
- String key = (String)it.next();
- if (key.startsWith(name))
- return false;
- }
-
- return true;
- }
-
- /**
- * Returns true if the method is visible from the class.
- *
- * @param mod the modifiers of the method.
- */
- private static boolean isVisible(int mod, String from, Member meth) {
- if ((mod & Modifier.PRIVATE) != 0)
- return false;
- else if ((mod & (Modifier.PUBLIC | Modifier.PROTECTED)) != 0)
- return true;
- else {
- String p = getPackageName(from);
- String q = getPackageName(meth.getDeclaringClass().getName());
- if (p == null)
- return q == null;
- else
- return p.equals(q);
- }
- }
-
- private static String getPackageName(String name) {
- int i = name.lastIndexOf('.');
- if (i < 0)
- return null;
- else
- return name.substring(0, i);
- }
-
- private static HashMap getMethods(Class superClass, Class[] interfaceTypes) {
- HashMap hash = new HashMap();
- for (int i = 0; i < interfaceTypes.length; i++)
- getMethods(hash, interfaceTypes[i]);
-
- getMethods(hash, superClass);
- return hash;
- }
-
- private static void getMethods(HashMap hash, Class clazz) {
- Class[] ifs = clazz.getInterfaces();
- for (int i = 0; i < ifs.length; i++)
- getMethods(hash, ifs[i]);
-
- Class parent = clazz.getSuperclass();
- if (parent != null)
- getMethods(hash, parent);
-
- Method[] methods = clazz.getDeclaredMethods();
- for (int i = 0; i < methods.length; i++)
- if (!Modifier.isPrivate(methods[i].getModifiers())) {
- Method m = methods[i];
- String key = m.getName() + ':' + RuntimeSupport.makeDescriptor(m);
- hash.put(key, methods[i]);
- }
- }
-
- private static String keyToDesc(String key) {
- return key.substring(key.indexOf(':') + 1);
- }
-
- private static MethodInfo makeConstructor(String thisClassName, Constructor cons,
- ConstPool cp, Class superClass) {
- String desc = RuntimeSupport.makeDescriptor(cons.getParameterTypes(),
- Void.TYPE);
- MethodInfo minfo = new MethodInfo(cp, "<init>", desc);
- minfo.setAccessFlags(Modifier.PUBLIC); // cons.getModifiers() & ~Modifier.NATIVE
- setThrows(minfo, cp, cons.getExceptionTypes());
- Bytecode code = new Bytecode(cp, 0, 0);
- code.addAload(0);
- code.addGetstatic(thisClassName, DEFAULT_INTERCEPTOR, HANDLER_TYPE);
- code.addPutfield(thisClassName, HANDLER, HANDLER_TYPE);
- code.addAload(0);
- int s = addLoadParameters(code, cons.getParameterTypes(), 1);
- code.addInvokespecial(superClass.getName(), "<init>", desc);
- code.addOpcode(Opcode.RETURN);
- code.setMaxLocals(++s);
- minfo.setCodeAttribute(code.toCodeAttribute());
- return minfo;
- }
-
- private static MethodInfo makeDelegator(Method meth, String desc,
- ConstPool cp, Class declClass, String delegatorName) {
- MethodInfo delegator = new MethodInfo(cp, delegatorName, desc);
- delegator.setAccessFlags(Modifier.FINAL | Modifier.PUBLIC
- | (meth.getModifiers() & ~(Modifier.PRIVATE
- | Modifier.PROTECTED
- | Modifier.ABSTRACT
- | Modifier.NATIVE
- | Modifier.SYNCHRONIZED)));
- setThrows(delegator, cp, meth);
- Bytecode code = new Bytecode(cp, 0, 0);
- code.addAload(0);
- int s = addLoadParameters(code, meth.getParameterTypes(), 1);
- code.addInvokespecial(declClass.getName(), meth.getName(), desc);
- addReturn(code, meth.getReturnType());
- code.setMaxLocals(++s);
- delegator.setCodeAttribute(code.toCodeAttribute());
- return delegator;
- }
-
- /**
- * @param delegatorName null if the original method is abstract.
- */
- private static MethodInfo makeForwarder(String thisClassName,
- Method meth, String desc, ConstPool cp,
- Class declClass, String delegatorName, int index) {
- MethodInfo forwarder = new MethodInfo(cp, meth.getName(), desc);
- forwarder.setAccessFlags(Modifier.FINAL
- | (meth.getModifiers() & ~(Modifier.ABSTRACT
- | Modifier.NATIVE
- | Modifier.SYNCHRONIZED)));
- setThrows(forwarder, cp, meth);
- int args = Descriptor.paramSize(desc);
- Bytecode code = new Bytecode(cp, 0, args + 2);
- /*
- * if (methods[index * 2] == null) {
- * methods[index * 2]
- * = RuntimeSupport.findMethod(this, <overridden name>, <desc>);
- * methods[index * 2 + 1]
- * = RuntimeSupport.findMethod(this, <delegator name>, <desc>);
- * or = null // the original method is abstract.
- * }
- * return ($r)handler.invoke(this, methods[index * 2],
- * methods[index * 2 + 1], $args);
- */
- int origIndex = index * 2;
- int delIndex = index * 2 + 1;
- int arrayVar = args + 1;
- code.addGetstatic(thisClassName, HOLDER, HOLDER_TYPE);
- code.addAstore(arrayVar);
- code.addAload(arrayVar);
- code.addIconst(origIndex);
- code.addOpcode(Opcode.AALOAD);
- code.addOpcode(Opcode.IFNONNULL);
- int pc = code.currentPc();
- code.addIndex(0);
-
- callFindMethod(code, "findSuperMethod", arrayVar, origIndex, meth.getName(), desc);
- callFindMethod(code, "findMethod", arrayVar, delIndex, delegatorName, desc);
-
- code.write16bit(pc, code.currentPc() - pc + 1);
- code.addAload(0);
- code.addGetfield(thisClassName, HANDLER, HANDLER_TYPE);
- code.addAload(0);
-
- code.addAload(arrayVar);
- code.addIconst(origIndex);
- code.addOpcode(Opcode.AALOAD);
-
- code.addAload(arrayVar);
- code.addIconst(delIndex);
- code.addOpcode(Opcode.AALOAD);
-
- makeParameterList(code, meth.getParameterTypes());
- code.addInvokeinterface(MethodHandler.class.getName(), "invoke",
- "(Ljava/lang/Object;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;",
- 5);
- Class retType = meth.getReturnType();
- addUnwrapper(code, retType);
- addReturn(code, retType);
-
- forwarder.setCodeAttribute(code.toCodeAttribute());
- return forwarder;
- }
-
- private static void setThrows(MethodInfo minfo, ConstPool cp, Method orig) {
- Class[] exceptions = orig.getExceptionTypes();
- setThrows(minfo, cp, exceptions);
- }
-
- private static void setThrows(MethodInfo minfo, ConstPool cp,
- Class[] exceptions) {
- if (exceptions.length == 0)
- return;
-
- String[] list = new String[exceptions.length];
- for (int i = 0; i < exceptions.length; i++)
- list[i] = exceptions[i].getName();
-
- ExceptionsAttribute ea = new ExceptionsAttribute(cp);
- ea.setExceptions(list);
- minfo.setExceptionsAttribute(ea);
- }
-
- private static int addLoadParameters(Bytecode code, Class[] params,
- int offset) {
- int stacksize = 0;
- int n = params.length;
- for (int i = 0; i < n; ++i)
- stacksize += addLoad(code, stacksize + offset, params[i]);
-
- return stacksize;
- }
-
- private static int addLoad(Bytecode code, int n, Class type) {
- if (type.isPrimitive()) {
- if (type == Long.TYPE) {
- code.addLload(n);
- return 2;
- }
- else if (type == Float.TYPE)
- code.addFload(n);
- else if (type == Double.TYPE) {
- code.addDload(n);
- return 2;
- }
- else
- code.addIload(n);
- }
- else
- code.addAload(n);
-
- return 1;
- }
-
- private static int addReturn(Bytecode code, Class type) {
- if (type.isPrimitive()) {
- if (type == Long.TYPE) {
- code.addOpcode(Opcode.LRETURN);
- return 2;
- }
- else if (type == Float.TYPE)
- code.addOpcode(Opcode.FRETURN);
- else if (type == Double.TYPE) {
- code.addOpcode(Opcode.DRETURN);
- return 2;
- }
- else if (type == Void.TYPE) {
- code.addOpcode(Opcode.RETURN);
- return 0;
- }
- else
- code.addOpcode(Opcode.IRETURN);
- }
- else
- code.addOpcode(Opcode.ARETURN);
-
- return 1;
- }
-
- private static void makeParameterList(Bytecode code, Class[] params) {
- int regno = 1;
- int n = params.length;
- code.addIconst(n);
- code.addAnewarray("java/lang/Object");
- for (int i = 0; i < n; i++) {
- code.addOpcode(Opcode.DUP);
- code.addIconst(i);
- Class type = params[i];
- if (type.isPrimitive())
- regno = makeWrapper(code, type, regno);
- else {
- code.addAload(regno);
- regno++;
- }
-
- code.addOpcode(Opcode.AASTORE);
- }
- }
-
- private static int makeWrapper(Bytecode code, Class type, int regno) {
- int index = FactoryHelper.typeIndex(type);
- String wrapper = FactoryHelper.wrapperTypes[index];
- code.addNew(wrapper);
- code.addOpcode(Opcode.DUP);
- addLoad(code, regno, type);
- code.addInvokespecial(wrapper, "<init>",
- FactoryHelper.wrapperDesc[index]);
- return regno + FactoryHelper.dataSize[index];
- }
-
- /**
- * @param methodName might be null.
- */
- private static void callFindMethod(Bytecode code, String findMethod,
- int arrayVar, int index, String methodName, String desc) {
- String findClass = RuntimeSupport.class.getName();
- String findDesc
- = "(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/reflect/Method;";
-
- code.addAload(arrayVar);
- code.addIconst(index);
- if (methodName == null)
- code.addOpcode(Opcode.ACONST_NULL);
- else {
- code.addAload(0);
- code.addLdc(methodName);
- code.addLdc(desc);
- code.addInvokestatic(findClass, findMethod, findDesc);
- }
-
- code.addOpcode(Opcode.AASTORE);
- }
-
- private static void addUnwrapper(Bytecode code, Class type) {
- if (type.isPrimitive()) {
- if (type == Void.TYPE)
- code.addOpcode(Opcode.POP);
- else {
- int index = FactoryHelper.typeIndex(type);
- String wrapper = FactoryHelper.wrapperTypes[index];
- code.addCheckcast(wrapper);
- code.addInvokevirtual(wrapper,
- FactoryHelper.unwarpMethods[index],
- FactoryHelper.unwrapDesc[index]);
- }
- }
- else
- code.addCheckcast(type.getName());
- }
-}
+/*
+ * Javassist, a Java-bytecode translator toolkit.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. Alternatively, the contents of this file may be used under
+ * the terms of the GNU Lesser General Public License Version 2.1 or later.
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ */
+
+package javassist.util.proxy;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Member;
+import java.lang.reflect.Modifier;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+import javassist.CannotCompileException;
+import javassist.bytecode.*;
+
+/**
+ * Factory of dynamic proxy classes.
+ *
+ * <p>This factory generates a class that extends the given super class and implements
+ * the given interfaces. The calls of the methods inherited from the super class are
+ * forwarded and then <code>invoke()</code> is called on the method handler
+ * associated with the generated class. The calls of the methods from the interfaces
+ * are also forwarded to the method handler.
+ *
+ * <p>For example, if the following code is executed,
+ *
+ * <ul><pre>
+ * ProxyFactory f = new ProxyFactory();
+ * f.setSuperclass(Foo.class);
+ * MethodHandler mi = new MethodHandler() {
+ * public Object invoke(Object self, Method m, Method proceed,
+ * Object[] args) throws Exception {
+ * System.out.println("Name: " + m.getName());
+ * proceed.invoke(self, args); // execute the original method.
+ * }
+ * };
+ * f.setHandler(mi);
+ * Class c = f.createClass();
+ * Foo foo = (Foo)c.newInstance();
+ * </pre></ul>
+ *
+ * <p>Then, the following method call will be forwarded to MethodHandler
+ * <code>mi</code> and prints a message before executing the originally called method
+ * <code>bar()</code> in <code>Foo</code>.
+ *
+ * <ul><pre>
+ * foo.bar();
+ * </pre></ul>
+ *
+ * <p>To change the method handler during runtime,
+ * execute the following code:
+ *
+ * <ul><pre>
+ * MethodHandler mi2 = ... ; // another handler
+ * ((ProxyObject)foo).setHandler(mi2);
+ * </pre></ul>
+ *
+ * <p>Here is an example of method handler. It does not execute
+ * anything except invoking the original method:
+ *
+ * <ul><pre>
+ * class SimpleHandler implements MethodHandler {
+ * public Object invoke(Object self, Method m,
+ * Method proceed, Object[] args) throws Exception {
+ * return proceed.invoke(self, args);
+ * }
+ * }
+ * </pre></ul>
+ *
+ * @see MethodHandler
+ * @since 3.1
+ */
+public class ProxyFactory {
+ private Class superClass;
+ private Class[] interfaces;
+ private MethodFilter methodFilter;
+ private MethodHandler handler;
+ private Class thisClass;
+
+ /**
+ * If the value of this variable is not null, the class file of
+ * the generated proxy class is written under the directory specified
+ * by this variable. For example, if the value is
+ * <code>"."</code>, then the class file is written under the current
+ * directory. This method is for debugging.
+ *
+ * <p>The default value is null.
+ */
+ public String writeDirectory;
+
+ private static final Class OBJECT_TYPE = Object.class;
+
+ private static final String HOLDER = "_methods_";
+ private static final String HOLDER_TYPE = "[Ljava/lang/reflect/Method;";
+ private static final String HANDLER = "handler";
+ private static final String DEFAULT_INTERCEPTOR = "default_interceptor";
+ private static final String HANDLER_TYPE
+ = 'L' + MethodHandler.class.getName().replace('.', '/') + ';';
+ private static final String HANDLER_SETTER = "setHandler";
+ private static final String HANDLER_SETTER_TYPE = "(" + HANDLER_TYPE + ")V";
+
+ /**
+ * Constructs a factory of proxy class.
+ */
+ public ProxyFactory() {
+ superClass = null;
+ interfaces = null;
+ methodFilter = null;
+ handler = new MethodHandler() {
+ public Object invoke(Object self, Method m,
+ Method proceed, Object[] args)
+ throws Exception
+ {
+ return proceed.invoke(self, args);
+ }
+ };
+ thisClass = null;
+ writeDirectory = null;
+ }
+
+ /**
+ * Sets the super class of a proxy class.
+ */
+ public void setSuperclass(Class clazz) {
+ superClass = clazz;
+ }
+
+ /**
+ * Sets the interfaces of a proxy class.
+ */
+ public void setInterfaces(Class[] ifs) {
+ interfaces = ifs;
+ }
+
+ /**
+ * Sets a filter that selects the methods that will be controlled by a handler.
+ */
+ public void setFilter(MethodFilter mf) {
+ methodFilter = mf;
+ }
+
+ /**
+ * Generates a proxy class.
+ */
+ public Class createClass() {
+ if (thisClass == null)
+ try {
+ ClassFile cf = make();
+ ClassLoader cl = getClassLoader();
+ if (writeDirectory != null)
+ FactoryHelper.writeFile(cf, writeDirectory);
+
+ thisClass = FactoryHelper.toClass(cf, cl);
+ setHandler();
+ }
+ catch (CannotCompileException e) {
+ throw new RuntimeException(e.getMessage(), e);
+ }
+
+ return thisClass;
+ }
+
+ protected ClassLoader getClassLoader() {
+ if (superClass != null && !superClass.getName().equals("java.lang.Object"))
+ return superClass.getClassLoader();
+ else if (interfaces != null && interfaces.length > 0)
+ return interfaces[0].getClassLoader();
+ else
+ return this.getClass().getClassLoader();
+ // return Thread.currentThread().getContextClassLoader();
+ }
+
+ /**
+ * Sets the default invocation handler. This invocation handler is shared
+ * among all the instances of a proxy class unless another is explicitly
+ * specified.
+ */
+ public void setHandler(MethodHandler mi) {
+ handler = mi;
+ setHandler();
+ }
+
+ private void setHandler() {
+ if (thisClass != null && handler != null)
+ try {
+ Field f = thisClass.getField(DEFAULT_INTERCEPTOR);
+ f.setAccessible(true);
+ f.set(null, handler);
+ f.setAccessible(false);
+ }
+ catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ private static int counter = 0;
+
+ private ClassFile make() throws CannotCompileException {
+ String superName, classname;
+ if (interfaces == null)
+ interfaces = new Class[0];
+
+ if (superClass == null) {
+ superClass = OBJECT_TYPE;
+ superName = superClass.getName();
+ classname = interfaces.length == 0 ? superName
+ : interfaces[0].getName();
+ }
+ else {
+ superName = superClass.getName();
+ classname = superName;
+ }
+
+ if (Modifier.isFinal(superClass.getModifiers()))
+ throw new CannotCompileException(superName + " is final");
+
+ // generate a proxy name.
+ classname = classname + "_$$_javassist_" + counter++;
+ if (classname.startsWith("java."))
+ classname = "org.javassist.tmp." + classname;
+
+ ClassFile cf = new ClassFile(false, classname, superName);
+ cf.setAccessFlags(AccessFlag.PUBLIC);
+ setInterfaces(cf, interfaces);
+ ConstPool pool = cf.getConstPool();
+ FieldInfo finfo = new FieldInfo(pool, DEFAULT_INTERCEPTOR, HANDLER_TYPE);
+ finfo.setAccessFlags(AccessFlag.PUBLIC | AccessFlag.STATIC);
+ cf.addField(finfo);
+
+ FieldInfo finfo2 = new FieldInfo(pool, HANDLER, HANDLER_TYPE);
+ finfo2.setAccessFlags(AccessFlag.PRIVATE);
+ cf.addField(finfo2);
+
+ HashMap allMethods = getMethods(superClass, interfaces);
+ int size = allMethods.size();
+ makeConstructors(classname, cf, pool, classname);
+ int s = overrideMethods(cf, pool, classname, allMethods);
+ addMethodsHolder(cf, pool, classname, s);
+ addSetter(classname, cf, pool);
+
+ thisClass = null;
+ return cf;
+ }
+
+ private static void setInterfaces(ClassFile cf, Class[] interfaces) {
+ String setterIntf = ProxyObject.class.getName();
+ String[] list;
+ if (interfaces == null || interfaces.length == 0)
+ list = new String[] { setterIntf };
+ else {
+ list = new String[interfaces.length + 1];
+ for (int i = 0; i < interfaces.length; i++)
+ list[i] = interfaces[i].getName();
+
+ list[interfaces.length] = setterIntf;
+ }
+
+ cf.setInterfaces(list);
+ }
+
+ private static void addMethodsHolder(ClassFile cf, ConstPool cp,
+ String classname, int size)
+ throws CannotCompileException
+ {
+ FieldInfo finfo = new FieldInfo(cp, HOLDER, HOLDER_TYPE);
+ finfo.setAccessFlags(AccessFlag.PRIVATE | AccessFlag.STATIC);
+ cf.addField(finfo);
+ MethodInfo minfo = new MethodInfo(cp, "<clinit>", "()V");
+ Bytecode code = new Bytecode(cp, 0, 0);
+ code.addIconst(size * 2);
+ code.addAnewarray("java.lang.reflect.Method");
+ code.addPutstatic(classname, HOLDER, HOLDER_TYPE);
+ code.addOpcode(Bytecode.RETURN);
+ minfo.setCodeAttribute(code.toCodeAttribute());
+ cf.addMethod(minfo);
+ }
+
+ private static void addSetter(String classname, ClassFile cf, ConstPool cp)
+ throws CannotCompileException
+ {
+ MethodInfo minfo = new MethodInfo(cp, HANDLER_SETTER,
+ HANDLER_SETTER_TYPE);
+ minfo.setAccessFlags(AccessFlag.PUBLIC);
+ Bytecode code = new Bytecode(cp, 2, 2);
+ code.addAload(0);
+ code.addAload(1);
+ code.addPutfield(classname, HANDLER, HANDLER_TYPE);
+ code.addOpcode(Bytecode.RETURN);
+ minfo.setCodeAttribute(code.toCodeAttribute());
+ cf.addMethod(minfo);
+ }
+
+ private int overrideMethods(ClassFile cf, ConstPool cp, String className,
+ HashMap allMethods)
+ throws CannotCompileException
+ {
+ String prefix = makeUniqueName("_d", allMethods);
+ Set entries = allMethods.entrySet();
+ Iterator it = entries.iterator();
+ int index = 0;
+ while (it.hasNext()) {
+ Map.Entry e = (Map.Entry)it.next();
+ String key = (String)e.getKey();
+ Method meth = (Method)e.getValue();
+ int mod = meth.getModifiers();
+ if (!Modifier.isFinal(mod) && !Modifier.isStatic(mod)
+ && isVisible(mod, className, meth))
+ if (methodFilter == null || methodFilter.isHandled(meth))
+ override(className, meth, prefix, index++,
+ keyToDesc(key), cf, cp);
+ }
+
+ return index;
+ }
+
+ private void override(String thisClassname, Method meth, String prefix,
+ int index, String desc, ClassFile cf, ConstPool cp)
+ throws CannotCompileException
+ {
+ Class declClass = meth.getDeclaringClass();
+ String delegatorName = prefix + index + meth.getName();
+ if (Modifier.isAbstract(meth.getModifiers()))
+ delegatorName = null;
+ else {
+ MethodInfo delegator
+ = makeDelegator(meth, desc, cp, declClass, delegatorName);
+ cf.addMethod(delegator);
+ }
+
+ MethodInfo forwarder
+ = makeForwarder(thisClassname, meth, desc, cp, declClass,
+ delegatorName, index);
+ cf.addMethod(forwarder);
+ }
+
+ private void makeConstructors(String thisClassName, ClassFile cf,
+ ConstPool cp, String classname) throws CannotCompileException
+ {
+ Constructor[] cons = superClass.getDeclaredConstructors();
+ for (int i = 0; i < cons.length; i++) {
+ Constructor c = cons[i];
+ int mod = c.getModifiers();
+ if (!Modifier.isFinal(mod) && !Modifier.isPrivate(mod)
+ && isVisible(mod, classname, c)) {
+ MethodInfo m = makeConstructor(thisClassName, c, cp, superClass);
+ cf.addMethod(m);
+ }
+ }
+ }
+
+ private static String makeUniqueName(String name, HashMap hash) {
+ Set keys = hash.keySet();
+ if (makeUniqueName0(name, keys.iterator()))
+ return name;
+
+ for (int i = 100; i < 999; i++) {
+ String s = name + i;
+ if (makeUniqueName0(s, keys.iterator()))
+ return s;
+ }
+
+ throw new RuntimeException("cannot make a unique method name");
+ }
+
+ private static boolean makeUniqueName0(String name, Iterator it) {
+ while (it.hasNext()) {
+ String key = (String)it.next();
+ if (key.startsWith(name))
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Returns true if the method is visible from the class.
+ *
+ * @param mod the modifiers of the method.
+ */
+ private static boolean isVisible(int mod, String from, Member meth) {
+ if ((mod & Modifier.PRIVATE) != 0)
+ return false;
+ else if ((mod & (Modifier.PUBLIC | Modifier.PROTECTED)) != 0)
+ return true;
+ else {
+ String p = getPackageName(from);
+ String q = getPackageName(meth.getDeclaringClass().getName());
+ if (p == null)
+ return q == null;
+ else
+ return p.equals(q);
+ }
+ }
+
+ private static String getPackageName(String name) {
+ int i = name.lastIndexOf('.');
+ if (i < 0)
+ return null;
+ else
+ return name.substring(0, i);
+ }
+
+ private static HashMap getMethods(Class superClass, Class[] interfaceTypes) {
+ HashMap hash = new HashMap();
+ for (int i = 0; i < interfaceTypes.length; i++)
+ getMethods(hash, interfaceTypes[i]);
+
+ getMethods(hash, superClass);
+ return hash;
+ }
+
+ private static void getMethods(HashMap hash, Class clazz) {
+ Class[] ifs = clazz.getInterfaces();
+ for (int i = 0; i < ifs.length; i++)
+ getMethods(hash, ifs[i]);
+
+ Class parent = clazz.getSuperclass();
+ if (parent != null)
+ getMethods(hash, parent);
+
+ Method[] methods = clazz.getDeclaredMethods();
+ for (int i = 0; i < methods.length; i++)
+ if (!Modifier.isPrivate(methods[i].getModifiers())) {
+ Method m = methods[i];
+ String key = m.getName() + ':' + RuntimeSupport.makeDescriptor(m);
+ hash.put(key, methods[i]);
+ }
+ }
+
+ private static String keyToDesc(String key) {
+ return key.substring(key.indexOf(':') + 1);
+ }
+
+ private static MethodInfo makeConstructor(String thisClassName, Constructor cons,
+ ConstPool cp, Class superClass) {
+ String desc = RuntimeSupport.makeDescriptor(cons.getParameterTypes(),
+ Void.TYPE);
+ MethodInfo minfo = new MethodInfo(cp, "<init>", desc);
+ minfo.setAccessFlags(Modifier.PUBLIC); // cons.getModifiers() & ~Modifier.NATIVE
+ setThrows(minfo, cp, cons.getExceptionTypes());
+ Bytecode code = new Bytecode(cp, 0, 0);
+ code.addAload(0);
+ code.addGetstatic(thisClassName, DEFAULT_INTERCEPTOR, HANDLER_TYPE);
+ code.addPutfield(thisClassName, HANDLER, HANDLER_TYPE);
+ code.addAload(0);
+ int s = addLoadParameters(code, cons.getParameterTypes(), 1);
+ code.addInvokespecial(superClass.getName(), "<init>", desc);
+ code.addOpcode(Opcode.RETURN);
+ code.setMaxLocals(++s);
+ minfo.setCodeAttribute(code.toCodeAttribute());
+ return minfo;
+ }
+
+ private static MethodInfo makeDelegator(Method meth, String desc,
+ ConstPool cp, Class declClass, String delegatorName) {
+ MethodInfo delegator = new MethodInfo(cp, delegatorName, desc);
+ delegator.setAccessFlags(Modifier.FINAL | Modifier.PUBLIC
+ | (meth.getModifiers() & ~(Modifier.PRIVATE
+ | Modifier.PROTECTED
+ | Modifier.ABSTRACT
+ | Modifier.NATIVE
+ | Modifier.SYNCHRONIZED)));
+ setThrows(delegator, cp, meth);
+ Bytecode code = new Bytecode(cp, 0, 0);
+ code.addAload(0);
+ int s = addLoadParameters(code, meth.getParameterTypes(), 1);
+ code.addInvokespecial(declClass.getName(), meth.getName(), desc);
+ addReturn(code, meth.getReturnType());
+ code.setMaxLocals(++s);
+ delegator.setCodeAttribute(code.toCodeAttribute());
+ return delegator;
+ }
+
+ /**
+ * @param delegatorName null if the original method is abstract.
+ */
+ private static MethodInfo makeForwarder(String thisClassName,
+ Method meth, String desc, ConstPool cp,
+ Class declClass, String delegatorName, int index) {
+ MethodInfo forwarder = new MethodInfo(cp, meth.getName(), desc);
+ forwarder.setAccessFlags(Modifier.FINAL
+ | (meth.getModifiers() & ~(Modifier.ABSTRACT
+ | Modifier.NATIVE
+ | Modifier.SYNCHRONIZED)));
+ setThrows(forwarder, cp, meth);
+ int args = Descriptor.paramSize(desc);
+ Bytecode code = new Bytecode(cp, 0, args + 2);
+ /*
+ * if (methods[index * 2] == null) {
+ * methods[index * 2]
+ * = RuntimeSupport.findMethod(this, <overridden name>, <desc>);
+ * methods[index * 2 + 1]
+ * = RuntimeSupport.findMethod(this, <delegator name>, <desc>);
+ * or = null // the original method is abstract.
+ * }
+ * return ($r)handler.invoke(this, methods[index * 2],
+ * methods[index * 2 + 1], $args);
+ */
+ int origIndex = index * 2;
+ int delIndex = index * 2 + 1;
+ int arrayVar = args + 1;
+ code.addGetstatic(thisClassName, HOLDER, HOLDER_TYPE);
+ code.addAstore(arrayVar);
+ code.addAload(arrayVar);
+ code.addIconst(origIndex);
+ code.addOpcode(Opcode.AALOAD);
+ code.addOpcode(Opcode.IFNONNULL);
+ int pc = code.currentPc();
+ code.addIndex(0);
+
+ callFindMethod(code, "findSuperMethod", arrayVar, origIndex, meth.getName(), desc);
+ callFindMethod(code, "findMethod", arrayVar, delIndex, delegatorName, desc);
+
+ code.write16bit(pc, code.currentPc() - pc + 1);
+ code.addAload(0);
+ code.addGetfield(thisClassName, HANDLER, HANDLER_TYPE);
+ code.addAload(0);
+
+ code.addAload(arrayVar);
+ code.addIconst(origIndex);
+ code.addOpcode(Opcode.AALOAD);
+
+ code.addAload(arrayVar);
+ code.addIconst(delIndex);
+ code.addOpcode(Opcode.AALOAD);
+
+ makeParameterList(code, meth.getParameterTypes());
+ code.addInvokeinterface(MethodHandler.class.getName(), "invoke",
+ "(Ljava/lang/Object;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;",
+ 5);
+ Class retType = meth.getReturnType();
+ addUnwrapper(code, retType);
+ addReturn(code, retType);
+
+ forwarder.setCodeAttribute(code.toCodeAttribute());
+ return forwarder;
+ }
+
+ private static void setThrows(MethodInfo minfo, ConstPool cp, Method orig) {
+ Class[] exceptions = orig.getExceptionTypes();
+ setThrows(minfo, cp, exceptions);
+ }
+
+ private static void setThrows(MethodInfo minfo, ConstPool cp,
+ Class[] exceptions) {
+ if (exceptions.length == 0)
+ return;
+
+ String[] list = new String[exceptions.length];
+ for (int i = 0; i < exceptions.length; i++)
+ list[i] = exceptions[i].getName();
+
+ ExceptionsAttribute ea = new ExceptionsAttribute(cp);
+ ea.setExceptions(list);
+ minfo.setExceptionsAttribute(ea);
+ }
+
+ private static int addLoadParameters(Bytecode code, Class[] params,
+ int offset) {
+ int stacksize = 0;
+ int n = params.length;
+ for (int i = 0; i < n; ++i)
+ stacksize += addLoad(code, stacksize + offset, params[i]);
+
+ return stacksize;
+ }
+
+ private static int addLoad(Bytecode code, int n, Class type) {
+ if (type.isPrimitive()) {
+ if (type == Long.TYPE) {
+ code.addLload(n);
+ return 2;
+ }
+ else if (type == Float.TYPE)
+ code.addFload(n);
+ else if (type == Double.TYPE) {
+ code.addDload(n);
+ return 2;
+ }
+ else
+ code.addIload(n);
+ }
+ else
+ code.addAload(n);
+
+ return 1;
+ }
+
+ private static int addReturn(Bytecode code, Class type) {
+ if (type.isPrimitive()) {
+ if (type == Long.TYPE) {
+ code.addOpcode(Opcode.LRETURN);
+ return 2;
+ }
+ else if (type == Float.TYPE)
+ code.addOpcode(Opcode.FRETURN);
+ else if (type == Double.TYPE) {
+ code.addOpcode(Opcode.DRETURN);
+ return 2;
+ }
+ else if (type == Void.TYPE) {
+ code.addOpcode(Opcode.RETURN);
+ return 0;
+ }
+ else
+ code.addOpcode(Opcode.IRETURN);
+ }
+ else
+ code.addOpcode(Opcode.ARETURN);
+
+ return 1;
+ }
+
+ private static void makeParameterList(Bytecode code, Class[] params) {
+ int regno = 1;
+ int n = params.length;
+ code.addIconst(n);
+ code.addAnewarray("java/lang/Object");
+ for (int i = 0; i < n; i++) {
+ code.addOpcode(Opcode.DUP);
+ code.addIconst(i);
+ Class type = params[i];
+ if (type.isPrimitive())
+ regno = makeWrapper(code, type, regno);
+ else {
+ code.addAload(regno);
+ regno++;
+ }
+
+ code.addOpcode(Opcode.AASTORE);
+ }
+ }
+
+ private static int makeWrapper(Bytecode code, Class type, int regno) {
+ int index = FactoryHelper.typeIndex(type);
+ String wrapper = FactoryHelper.wrapperTypes[index];
+ code.addNew(wrapper);
+ code.addOpcode(Opcode.DUP);
+ addLoad(code, regno, type);
+ code.addInvokespecial(wrapper, "<init>",
+ FactoryHelper.wrapperDesc[index]);
+ return regno + FactoryHelper.dataSize[index];
+ }
+
+ /**
+ * @param methodName might be null.
+ */
+ private static void callFindMethod(Bytecode code, String findMethod,
+ int arrayVar, int index, String methodName, String desc) {
+ String findClass = RuntimeSupport.class.getName();
+ String findDesc
+ = "(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/reflect/Method;";
+
+ code.addAload(arrayVar);
+ code.addIconst(index);
+ if (methodName == null)
+ code.addOpcode(Opcode.ACONST_NULL);
+ else {
+ code.addAload(0);
+ code.addLdc(methodName);
+ code.addLdc(desc);
+ code.addInvokestatic(findClass, findMethod, findDesc);
+ }
+
+ code.addOpcode(Opcode.AASTORE);
+ }
+
+ private static void addUnwrapper(Bytecode code, Class type) {
+ if (type.isPrimitive()) {
+ if (type == Void.TYPE)
+ code.addOpcode(Opcode.POP);
+ else {
+ int index = FactoryHelper.typeIndex(type);
+ String wrapper = FactoryHelper.wrapperTypes[index];
+ code.addCheckcast(wrapper);
+ code.addInvokevirtual(wrapper,
+ FactoryHelper.unwarpMethods[index],
+ FactoryHelper.unwrapDesc[index]);
+ }
+ }
+ else
+ code.addCheckcast(type.getName());
+ }
+}
diff --git a/src/main/javassist/util/proxy/ProxyObject.java b/src/main/javassist/util/proxy/ProxyObject.java
index 4cba5c7b..9af00f83 100644
--- a/src/main/javassist/util/proxy/ProxyObject.java
+++ b/src/main/javassist/util/proxy/ProxyObject.java
@@ -1,6 +1,6 @@
/*
* Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
diff --git a/src/main/javassist/util/proxy/RuntimeSupport.java b/src/main/javassist/util/proxy/RuntimeSupport.java
index 837ed6ca..3e469699 100644
--- a/src/main/javassist/util/proxy/RuntimeSupport.java
+++ b/src/main/javassist/util/proxy/RuntimeSupport.java
@@ -1,157 +1,157 @@
-/*
- * Javassist, a Java-bytecode translator toolkit.
- * Copyright (C) 1999-2005 Shigeru Chiba. All Rights Reserved.
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. Alternatively, the contents of this file may be used under
- * the terms of the GNU Lesser General Public License Version 2.1 or later.
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- */
-
-package javassist.util.proxy;
-
-import java.lang.reflect.Method;
-
-/**
- * Runtime support routines that the classes generated by ProxyFactory use.
- *
- * @see ProxyFactory
- */
-public class RuntimeSupport {
- /**
- * Finds a method with the given name and descriptor.
- * It searches only the class of self.
- *
- * @throws RuntimeException if the method is not found.
- */
- public static Method findMethod(Object self, String name, String desc) {
- Method m = findMethod2(self.getClass(), name, desc);
- if (m == null)
- error(self, name, desc);
-
- return m;
- }
-
- /**
- * Finds a method that has the given name and descriptor and is declared
- * in the super class.
- *
- * @throws RuntimeException if the method is not found.
- */
- public static Method findSuperMethod(Object self, String name, String desc) {
- Class clazz = self.getClass();
- Method m = findSuperMethod2(clazz.getSuperclass(), name, desc);
- if (m == null)
- m = searchInterfaces(clazz, name, desc);
-
- if (m == null)
- error(self, name, desc);
-
- return m;
- }
-
- private static void error(Object self, String name, String desc) {
- throw new RuntimeException("not found " + name + ":" + desc
- + " in " + self.getClass().getName());
- }
-
- private static Method findSuperMethod2(Class clazz, String name, String desc) {
- Method m = findMethod2(clazz, name, desc);
- if (m != null)
- return m;
-
- Class superClass = clazz.getSuperclass();
- if (superClass != null) {
- m = findSuperMethod2(superClass, name, desc);
- if (m != null)
- return m;
- }
-
- return searchInterfaces(clazz, name, desc);
- }
-
- private static Method searchInterfaces(Class clazz, String name, String desc) {
- Method m = null;
- Class[] interfaces = clazz.getInterfaces();
- for (int i = 0; i < interfaces.length; i++) {
- m = findSuperMethod2(interfaces[i], name, desc);
- if (m != null)
- return m;
- }
-
- return m;
- }
-
- private static Method findMethod2(Class clazz, String name, String desc) {
- Method[] methods = clazz.getDeclaredMethods();
- int n = methods.length;
- for (int i = 0; i < n; i++)
- if (methods[i].getName().equals(name)
- && makeDescriptor(methods[i]).equals(desc))
- return methods[i];
-
- return null;
- }
-
- /**
- * Makes a descriptor for a given method.
- */
- public static String makeDescriptor(Method m) {
- Class[] params = m.getParameterTypes();
- return makeDescriptor(params, m.getReturnType());
- }
-
- /**
- * Makes a descriptor for a given method.
- *
- * @param params parameter types.
- * @param retType return type.
- */
- public static String makeDescriptor(Class[] params, Class retType) {
- StringBuffer sbuf = new StringBuffer();
- sbuf.append('(');
- for (int i = 0; i < params.length; i++)
- makeDesc(sbuf, params[i]);
-
- sbuf.append(')');
- makeDesc(sbuf, retType);
- return sbuf.toString();
- }
-
- private static void makeDesc(StringBuffer sbuf, Class type) {
- if (type.isArray()) {
- sbuf.append('[');
- makeDesc(sbuf, type.getComponentType());
- }
- else if (type.isPrimitive()) {
- if (type == Void.TYPE)
- sbuf.append('V');
- else if (type == Integer.TYPE)
- sbuf.append('I');
- else if (type == Byte.TYPE)
- sbuf.append('B');
- else if (type == Long.TYPE)
- sbuf.append('J');
- else if (type == Double.TYPE)
- sbuf.append('D');
- else if (type == Float.TYPE)
- sbuf.append('F');
- else if (type == Character.TYPE)
- sbuf.append('C');
- else if (type == Short.TYPE)
- sbuf.append('S');
- else if (type == Boolean.TYPE)
- sbuf.append('Z');
- else
- throw new RuntimeException("bad type: " + type.getName());
- }
- else
- sbuf.append('L').append(type.getName().replace('.', '/'))
- .append(';');
- }
-}
+/*
+ * Javassist, a Java-bytecode translator toolkit.
+ * Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. Alternatively, the contents of this file may be used under
+ * the terms of the GNU Lesser General Public License Version 2.1 or later.
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ */
+
+package javassist.util.proxy;
+
+import java.lang.reflect.Method;
+
+/**
+ * Runtime support routines that the classes generated by ProxyFactory use.
+ *
+ * @see ProxyFactory
+ */
+public class RuntimeSupport {
+ /**
+ * Finds a method with the given name and descriptor.
+ * It searches only the class of self.
+ *
+ * @throws RuntimeException if the method is not found.
+ */
+ public static Method findMethod(Object self, String name, String desc) {
+ Method m = findMethod2(self.getClass(), name, desc);
+ if (m == null)
+ error(self, name, desc);
+
+ return m;
+ }
+
+ /**
+ * Finds a method that has the given name and descriptor and is declared
+ * in the super class.
+ *
+ * @throws RuntimeException if the method is not found.
+ */
+ public static Method findSuperMethod(Object self, String name, String desc) {
+ Class clazz = self.getClass();
+ Method m = findSuperMethod2(clazz.getSuperclass(), name, desc);
+ if (m == null)
+ m = searchInterfaces(clazz, name, desc);
+
+ if (m == null)
+ error(self, name, desc);
+
+ return m;
+ }
+
+ private static void error(Object self, String name, String desc) {
+ throw new RuntimeException("not found " + name + ":" + desc
+ + " in " + self.getClass().getName());
+ }
+
+ private static Method findSuperMethod2(Class clazz, String name, String desc) {
+ Method m = findMethod2(clazz, name, desc);
+ if (m != null)
+ return m;
+
+ Class superClass = clazz.getSuperclass();
+ if (superClass != null) {
+ m = findSuperMethod2(superClass, name, desc);
+ if (m != null)
+ return m;
+ }
+
+ return searchInterfaces(clazz, name, desc);
+ }
+
+ private static Method searchInterfaces(Class clazz, String name, String desc) {
+ Method m = null;
+ Class[] interfaces = clazz.getInterfaces();
+ for (int i = 0; i < interfaces.length; i++) {
+ m = findSuperMethod2(interfaces[i], name, desc);
+ if (m != null)
+ return m;
+ }
+
+ return m;
+ }
+
+ private static Method findMethod2(Class clazz, String name, String desc) {
+ Method[] methods = clazz.getDeclaredMethods();
+ int n = methods.length;
+ for (int i = 0; i < n; i++)
+ if (methods[i].getName().equals(name)
+ && makeDescriptor(methods[i]).equals(desc))
+ return methods[i];
+
+ return null;
+ }
+
+ /**
+ * Makes a descriptor for a given method.
+ */
+ public static String makeDescriptor(Method m) {
+ Class[] params = m.getParameterTypes();
+ return makeDescriptor(params, m.getReturnType());
+ }
+
+ /**
+ * Makes a descriptor for a given method.
+ *
+ * @param params parameter types.
+ * @param retType return type.
+ */
+ public static String makeDescriptor(Class[] params, Class retType) {
+ StringBuffer sbuf = new StringBuffer();
+ sbuf.append('(');
+ for (int i = 0; i < params.length; i++)
+ makeDesc(sbuf, params[i]);
+
+ sbuf.append(')');
+ makeDesc(sbuf, retType);
+ return sbuf.toString();
+ }
+
+ private static void makeDesc(StringBuffer sbuf, Class type) {
+ if (type.isArray()) {
+ sbuf.append('[');
+ makeDesc(sbuf, type.getComponentType());
+ }
+ else if (type.isPrimitive()) {
+ if (type == Void.TYPE)
+ sbuf.append('V');
+ else if (type == Integer.TYPE)
+ sbuf.append('I');
+ else if (type == Byte.TYPE)
+ sbuf.append('B');
+ else if (type == Long.TYPE)
+ sbuf.append('J');
+ else if (type == Double.TYPE)
+ sbuf.append('D');
+ else if (type == Float.TYPE)
+ sbuf.append('F');
+ else if (type == Character.TYPE)
+ sbuf.append('C');
+ else if (type == Short.TYPE)
+ sbuf.append('S');
+ else if (type == Boolean.TYPE)
+ sbuf.append('Z');
+ else
+ throw new RuntimeException("bad type: " + type.getName());
+ }
+ else
+ sbuf.append('L').append(type.getName().replace('.', '/'))
+ .append(';');
+ }
+}