[prev in list] [next in list] [prev in thread] [next in thread] 

List:       bcel-dev
Subject:    svn commit: r153682 - in jakarta/bcel/trunk/src/java/org/apache/bcel:
From:       dbrosius () apache ! org
Date:       2005-02-14 0:10:00
Message-ID: 20050214001000.57179.qmail () minotaur ! apache ! org
[Download RAW message or body]

Author: dbrosius
Date: Sun Feb 13 16:09:58 2005
New Revision: 153682

URL: http://svn.apache.org/viewcvs?view=rev&rev=153682
Log:
Add support for the Attribute - AnnotationDefault , again commented out.

Added:
    jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/AnnotationDefault.java
Modified:
    jakarta/bcel/trunk/src/java/org/apache/bcel/Constants.java
    jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Attribute.java
    jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/EmptyVisitor.java
    jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Visitor.java

Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/Constants.java
URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/Constants.java?view=diff&r1=153681&r2=153682
 ==============================================================================
--- jakarta/bcel/trunk/src/java/org/apache/bcel/Constants.java (original)
+++ jakarta/bcel/trunk/src/java/org/apache/bcel/Constants.java Sun Feb 13 16:09:58 \
2005 @@ -715,8 +715,9 @@
   public static final byte ATTR_RUNTIMEINVISIBLE_ANNOTATIONS  			= 13;
   public static final byte ATTR_RUNTIMEVISIBLE_PARAMETER_ANNOTATIONS 	= 14;
   public static final byte ATTR_RUNTIMEINVISIBLE_PARAMETER_ANNOTATIONS 	= 15;
+  public static final byte ATTR_ANNOTATION_DEFAULT                      = 16;
 
-  public static final short KNOWN_ATTRIBUTES = 12;//should be 16
+  public static final short KNOWN_ATTRIBUTES = 12;//should be 17
 
   public static final String[] ATTRIBUTE_NAMES = {
     "SourceFile", "ConstantValue", "Code", "Exceptions",
@@ -724,7 +725,8 @@
     "InnerClasses", "Synthetic", "Deprecated",
     "PMGClass", "Signature", "StackMap", 
     "RuntimeVisibleAnnotations", "RuntimeInvisibleAnnotations",
-    "RuntimeVisibleParameterAnnotations", "RuntimeInvisibleParameterAnnotations"
+    "RuntimeVisibleParameterAnnotations", "RuntimeInvisibleParameterAnnotations",
+    "AnnotationDefault"
   };
 
   /** Constants used in the StackMap attribute.

Added: jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/AnnotationDefault.java
URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/AnnotationDefault.java?view=auto&rev=153682
 ==============================================================================
--- jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/AnnotationDefault.java \
                (added)
+++ jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/AnnotationDefault.java Sun \
Feb 13 16:09:58 2005 @@ -0,0 +1,87 @@
+/*
+ * Copyright  2000-2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInputStream;
+import java.io.IOException;
+
+import  org.apache.bcel.Constants;
+
+/**
+ * represents the default value of a annotation for a method info
+ * 
+ * @version $Id: AnnotationDefault 1 2005-02-13 03:15:08Z dbrosius $
+ * @author  <A HREF="mailto:dbrosius@qis.net">D. Brosius</A>
+ */
+public abstract class AnnotationDefault extends Attribute {
+
+	ElementValue default_value;
+
+	/**
+	 * @param annotation_type the subclass type of the annotation
+	 * @param name_index Index pointing to the name <em>Code</em>
+	 * @param length Content length in bytes
+	 * @param file Input stream
+	 * @param constant_pool Array of constants
+	 */
+	AnnotationDefault(byte annotation_type, int name_index, int length, DataInputStream \
file, +       ConstantPool constant_pool) throws IOException
+    {
+	    this(annotation_type, name_index, length, (ElementValue) null, constant_pool);  \
 +	    default_value = new ElementValue(file, constant_pool);
+	}
+	
+	/**
+	 * @param annotation_type the subclass type of the annotation
+	 * @param name_index Index pointing to the name <em>Code</em>
+	 * @param length Content length in bytes
+	 * @param defaultValue the annotation's default value
+	 * @param constant_pool Array of constants
+	 */
+	 public AnnotationDefault(byte annotation_type, int name_index, int length, \
ElementValue defaultValue, ConstantPool constant_pool) +	 {
+	    super(annotation_type, name_index, length, constant_pool);
+	    setDefaultValue(defaultValue);
+	 }
+	 	  
+	  /**
+	   * Called by objects that are traversing the nodes of the tree implicitely
+	   * defined by the contents of a Java class. I.e., the hierarchy of methods,
+	   * fields, attributes, etc. spawns a tree of objects.
+	   *
+	   * @param v Visitor object
+	   */
+	  public void accept(Visitor v) {
+//	    v.visitAnnotationDefault(this);
+	  }
+	  
+	  /**
+	   * @param defaultValue the default value of this methodinfo's annotation
+	   */
+	  public final void setDefaultValue(ElementValue defaultValue)
+	  {
+	    default_value = defaultValue;
+	  }
+
+	  /**
+	   * @returns the default value
+	   */
+	  public final ElementValue getDefaultValue()
+	  {
+	    return default_value;
+	  }
+}

Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Attribute.java
URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Attribute.java?view=diff&r1=153681&r2=153682
 ==============================================================================
--- jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Attribute.java (original)
+++ jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Attribute.java Sun Feb 13 \
16:09:58 2005 @@ -195,6 +195,9 @@
 //    case Constants.ATTR_RUNTIMEINVISIBLE_PARAMETER_ANNOTATIONS:
 //      return new RuntimeInvisibleParameterAnnotations(name_index, length, file, \
constant_pool);  
+//    case Constants.ATTR_ANNOTATION_DEFAULT:
+//      return new AnnotationDefault(name_index, length, file, constant_pool);
+
     default: // Never reached
       throw new IllegalStateException("Ooops! default case reached.");
     }

Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/EmptyVisitor.java
URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/EmptyVisitor.java?view=diff&r1=153681&r2=153682
 ==============================================================================
--- jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/EmptyVisitor.java \
                (original)
+++ jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/EmptyVisitor.java Sun Feb \
13 16:09:58 2005 @@ -34,6 +34,7 @@
   public void visitAnnotation(Annotations obj) {}
   public void visitParameterAnnotation(ParameterAnnotations obj) {}
   public void visitAnnotationEntry(AnnotationEntry obj) {}
+  public void visitAnnotationDefault(AnnotationDefault obj) {}
   public void visitCode(Code obj) {}
   public void visitCodeException(CodeException obj) {}
   public void visitConstantClass(ConstantClass obj) {}

Modified: jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Visitor.java
URL: http://svn.apache.org/viewcvs/jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Visitor.java?view=diff&r1=153681&r2=153682
 ==============================================================================
--- jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Visitor.java (original)
+++ jakarta/bcel/trunk/src/java/org/apache/bcel/classfile/Visitor.java Sun Feb 13 \
16:09:58 2005 @@ -32,6 +32,7 @@
   //public void visitAnnotation(Annotations obj);
   //public void visitParameterAnnotation(ParameterAnnotations obj);
   //public void visitAnnotationEntry(AnnotationEntry obj);
+  //public void visitAnnotationDefault(AnnotationDefault obj);
   public void visitCode(Code obj);    
   public void visitCodeException(CodeException obj);    
   public void visitConstantClass(ConstantClass obj);    



---------------------------------------------------------------------
To unsubscribe, e-mail: bcel-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: bcel-dev-help@jakarta.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic