From 72bc07cd5373defa23c4e66335cb75dd099d9f46 Mon Sep 17 00:00:00 2001 From: chiba Date: Mon, 13 Feb 2006 16:38:05 +0000 Subject: [PATCH] Adjusting indentation, adding javadoc comments, etc. git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@243 30ef5769-5b8d-40dd-aea6-55b5d6557bb3 --- .../bytecode/EnclosingMethodAttribute.java | 4 +- .../bytecode/annotation/AnnotationImpl.java | 53 +++++++++++-------- 2 files changed, 34 insertions(+), 23 deletions(-) diff --git a/src/main/javassist/bytecode/EnclosingMethodAttribute.java b/src/main/javassist/bytecode/EnclosingMethodAttribute.java index 1efcb82c..cefbfebb 100644 --- a/src/main/javassist/bytecode/EnclosingMethodAttribute.java +++ b/src/main/javassist/bytecode/EnclosingMethodAttribute.java @@ -57,6 +57,7 @@ public class EnclosingMethodAttribute extends AttributeInfo { /** * Constructs an EnclosingMethod attribute. + * The value of method_index is set to 0. * * @param cp a constant pool table. * @param className the name of the innermost enclosing class. @@ -125,7 +126,8 @@ public class EnclosingMethodAttribute extends AttributeInfo { public AttributeInfo copy(ConstPool newCp, Map classnames) { if (methodIndex() == 0) return new EnclosingMethodAttribute(newCp, className()); - return new EnclosingMethodAttribute(newCp, className(), + else + return new EnclosingMethodAttribute(newCp, className(), methodName(), methodDescriptor()); } } diff --git a/src/main/javassist/bytecode/annotation/AnnotationImpl.java b/src/main/javassist/bytecode/annotation/AnnotationImpl.java index 59f83e0d..63d89f9c 100644 --- a/src/main/javassist/bytecode/annotation/AnnotationImpl.java +++ b/src/main/javassist/bytecode/annotation/AnnotationImpl.java @@ -24,6 +24,10 @@ import javassist.bytecode.MethodInfo; import java.lang.reflect.*; +/** + * Internal-use only. This is a helper class internally used for implementing + * toAnnotationType() in Annotation. + */ public class AnnotationImpl implements InvocationHandler { private Annotation annotation; private ClassPool pool; @@ -50,33 +54,38 @@ public class AnnotationImpl implements InvocationHandler { classLoader = loader; } - public String getTypeName() - { - return annotation.getTypeName(); + /** + * Obtains the name of the annotation type. + */ + public String getTypeName() { + return annotation.getTypeName(); } - + + /** + * Executes a method invocation on a proxy instance. + */ public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { - String name = method.getName(); - if (Object.class == method.getDeclaringClass()) - { - if ("equals".equals(name)) - { - Object obj = args[0]; - if (obj == null || obj instanceof Proxy == false) - return Boolean.FALSE; - Object other = Proxy.getInvocationHandler(obj); - if (this.equals(other)) - return Boolean.TRUE; - else - return Boolean.FALSE; - } - if ("toString".equals(name)) - return annotation.getTypeName() + '@' + hashCode(); - if ("hashCode".equals(name)) - return new Integer(hashCode()); + String name = method.getName(); + if (Object.class == method.getDeclaringClass()) { + if ("equals".equals(name)) { + Object obj = args[0]; + if (obj == null || obj instanceof Proxy == false) + return Boolean.FALSE; + + Object other = Proxy.getInvocationHandler(obj); + if (this.equals(other)) + return Boolean.TRUE; + else + return Boolean.FALSE; + } + else if ("toString".equals(name)) + return annotation.getTypeName() + '@' + hashCode(); + else if ("hashCode".equals(name)) + return new Integer(hashCode()); } + MemberValue mv = annotation.getMemberValue(name); if (mv == null) return getDefault(name, method); -- 2.39.5