[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