You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2015/08/18 14:32:33 UTC
svn commit: r1696411 - in /commons/proper/bcel/trunk/src:
main/java/org/apache/commons/bcel6/generic/
test/java/org/apache/commons/bcel6/
test/java/org/apache/commons/bcel6/generic/
Author: sebb
Date: Tue Aug 18 12:32:32 2015
New Revision: 1696411
URL: http://svn.apache.org/r1696411
Log:
Reduce visibility of field added in 6.0
Added:
commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/generic/FieldAnnotationsTestCase.java
- copied, changed from r1696324, commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/FieldAnnotationsTestCase.java
Removed:
commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/FieldAnnotationsTestCase.java
Modified:
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/AnnotationEntryGen.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ClassGen.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGen.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGenOrMethodGen.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/MethodGen.java
commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/generic/AnnotationGenTestCase.java
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/AnnotationEntryGen.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/AnnotationEntryGen.java?rev=1696411&r1=1696410&r2=1696411&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/AnnotationEntryGen.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/AnnotationEntryGen.java Tue Aug 18 12:32:32 2015
@@ -194,10 +194,10 @@ public class AnnotationEntryGen {
* that can be attached to the class file.
*
* @param cp The constant pool gen where we can create the necessary name refs
- * @param vec A list of AnnotationGen objects
+ * @param annotationEntryGens An array of AnnotationGen objects
*/
- static Attribute[] getAnnotationAttributes(ConstantPoolGen cp, List<AnnotationEntryGen> vec) {
- if (vec.isEmpty()) {
+ static Attribute[] getAnnotationAttributes(ConstantPoolGen cp, AnnotationEntryGen[] annotationEntryGens) {
+ if (annotationEntryGens.length == 0) {
return new Attribute[0];
}
@@ -206,7 +206,7 @@ public class AnnotationEntryGen {
int countInvisible = 0;
// put the annotations in the right output stream
- for (AnnotationEntryGen a : vec) {
+ for (AnnotationEntryGen a : annotationEntryGens) {
if (a.isRuntimeVisible()) {
countVisible++;
} else {
@@ -223,7 +223,7 @@ public class AnnotationEntryGen {
riaDos.writeShort(countInvisible);
// put the annotations in the right output stream
- for (AnnotationEntryGen a : vec) {
+ for (AnnotationEntryGen a : annotationEntryGens) {
if (a.isRuntimeVisible()) {
a.dump(rvaDos);
} else {
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ClassGen.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ClassGen.java?rev=1696411&r1=1696410&r2=1696411&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ClassGen.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ClassGen.java Tue Aug 18 12:32:32 2015
@@ -204,7 +204,7 @@ public class ClassGen extends AccessFlag
attributes = getAttributes();
} else {
// TODO: Sometime later, trash any attributes called 'RuntimeVisibleAnnotations' or 'RuntimeInvisibleAnnotations'
- Attribute[] annAttributes = AnnotationEntryGen.getAnnotationAttributes(cp,annotation_vec);
+ Attribute[] annAttributes = AnnotationEntryGen.getAnnotationAttributes(cp, getAnnotationEntries());
attributes = new Attribute[attribute_vec.size()+annAttributes.length];
attribute_vec.toArray(attributes);
System.arraycopy(annAttributes,0,attributes,attribute_vec.size(),annAttributes.length);
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGen.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGen.java?rev=1696411&r1=1696410&r2=1696411&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGen.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGen.java Tue Aug 18 12:32:32 2015
@@ -228,7 +228,7 @@ public class FieldGen extends FieldGenOr
}
private void addAnnotationsAsAttribute(ConstantPoolGen cp) {
- Attribute[] attrs = AnnotationEntryGen.getAnnotationAttributes(cp,annotation_vec);
+ Attribute[] attrs = AnnotationEntryGen.getAnnotationAttributes(cp, super.getAnnotationEntries());
for (Attribute attr : attrs) {
addAttribute(attr);
}
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGenOrMethodGen.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGenOrMethodGen.java?rev=1696411&r1=1696410&r2=1696411&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGenOrMethodGen.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGenOrMethodGen.java Tue Aug 18 12:32:32 2015
@@ -37,14 +37,18 @@ public abstract class FieldGenOrMethodGe
protected Type type;
protected ConstantPoolGen cp;
private final List<Attribute> attribute_vec = new ArrayList<>();
- protected List<AnnotationEntryGen> annotation_vec= new ArrayList<>();
+ // @since 6.0
+ private List<AnnotationEntryGen> annotation_vec= new ArrayList<>();
protected FieldGenOrMethodGen() {
}
- public FieldGenOrMethodGen(int access_flags) {
+ /**
+ * @since 6.0
+ */
+ protected FieldGenOrMethodGen(int access_flags) { // TODO could this be package protected?
super(access_flags);
}
@@ -99,7 +103,10 @@ public abstract class FieldGenOrMethodGe
attribute_vec.add(a);
}
- public void addAnnotationEntry(AnnotationEntryGen ag)
+ /**
+ * @since 6.0
+ */
+ protected void addAnnotationEntry(AnnotationEntryGen ag) // TODO could this be package protected?
{
annotation_vec.add(ag);
}
@@ -112,7 +119,10 @@ public abstract class FieldGenOrMethodGe
attribute_vec.remove(a);
}
- public void removeAnnotationEntry(AnnotationEntryGen ag)
+ /**
+ * @since 6.0
+ */
+ protected void removeAnnotationEntry(AnnotationEntryGen ag) // TODO could this be package protected?
{
annotation_vec.remove(ag);
}
@@ -125,7 +135,10 @@ public abstract class FieldGenOrMethodGe
attribute_vec.clear();
}
- public void removeAnnotationEntries()
+ /**
+ * @since 6.0
+ */
+ protected void removeAnnotationEntries() // TODO could this be package protected?
{
annotation_vec.clear();
}
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/MethodGen.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/MethodGen.java?rev=1696411&r1=1696410&r2=1696411&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/MethodGen.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/MethodGen.java Tue Aug 18 12:32:32 2015
@@ -591,13 +591,19 @@ public class MethodGen extends FieldGenO
return attributes;
}
+ /**
+ * @since 6.0
+ */
public void addAnnotationsAsAttribute(ConstantPoolGen cp) {
- Attribute[] attrs = AnnotationEntryGen.getAnnotationAttributes(cp,annotation_vec);
+ Attribute[] attrs = AnnotationEntryGen.getAnnotationAttributes(cp, super.getAnnotationEntries());
for (Attribute attr : attrs) {
addAttribute(attr);
}
}
+ /**
+ * @since 6.0
+ */
public void addParameterAnnotationsAsAttribute(ConstantPoolGen cp) {
if (!hasParameterAnnotations) {
return;
@@ -1070,6 +1076,7 @@ public class MethodGen extends FieldGenO
// is more likely to suggest to the caller it is readonly (which a List does not).
/**
* Return a list of AnnotationGen objects representing parameter annotations
+ * @since 6.0
*/
public List<AnnotationEntryGen> getAnnotationsOnParameter(int i) {
ensureExistingParameterAnnotationsUnpacked();
Modified: commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/generic/AnnotationGenTestCase.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/generic/AnnotationGenTestCase.java?rev=1696411&r1=1696410&r2=1696411&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/generic/AnnotationGenTestCase.java (original)
+++ commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/generic/AnnotationGenTestCase.java Tue Aug 18 12:32:32 2015
@@ -98,7 +98,7 @@ public class AnnotationGenTestCase exten
AnnotationEntryGen a = new AnnotationEntryGen(t, elements, true, cp);
List<AnnotationEntryGen> v = new ArrayList<>();
v.add(a);
- Attribute[] attributes = AnnotationEntryGen.getAnnotationAttributes(cp, v);
+ Attribute[] attributes = AnnotationEntryGen.getAnnotationAttributes(cp, v.toArray(new AnnotationEntryGen[0]));
boolean foundRV = false;
for (Attribute attribute : attributes) {
if (attribute instanceof RuntimeVisibleAnnotations)
@@ -113,7 +113,7 @@ public class AnnotationGenTestCase exten
AnnotationEntryGen a2 = new AnnotationEntryGen(t, elements, false, cp);
List<AnnotationEntryGen> v2 = new ArrayList<>();
v2.add(a2);
- Attribute[] attributes2 = AnnotationEntryGen.getAnnotationAttributes(cp, v2);
+ Attribute[] attributes2 = AnnotationEntryGen.getAnnotationAttributes(cp, v2.toArray(new AnnotationEntryGen[0]));
boolean foundRIV = false;
for (Attribute attribute : attributes2) {
if (attribute instanceof RuntimeInvisibleAnnotations)
Copied: commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/generic/FieldAnnotationsTestCase.java (from r1696324, commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/FieldAnnotationsTestCase.java)
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/generic/FieldAnnotationsTestCase.java?p2=commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/generic/FieldAnnotationsTestCase.java&p1=commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/FieldAnnotationsTestCase.java&r1=1696324&r2=1696411&rev=1696411&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/FieldAnnotationsTestCase.java (original)
+++ commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/generic/FieldAnnotationsTestCase.java Tue Aug 18 12:32:32 2015
@@ -16,18 +16,16 @@
*
*/
-package org.apache.commons.bcel6;
+package org.apache.commons.bcel6.generic;
import java.io.File;
import java.io.IOException;
+import org.apache.commons.bcel6.AbstractTestCase;
import org.apache.commons.bcel6.classfile.AnnotationEntry;
import org.apache.commons.bcel6.classfile.ElementValuePair;
import org.apache.commons.bcel6.classfile.Field;
import org.apache.commons.bcel6.classfile.JavaClass;
-import org.apache.commons.bcel6.generic.AnnotationEntryGen;
-import org.apache.commons.bcel6.generic.ClassGen;
-import org.apache.commons.bcel6.generic.FieldGen;
import org.apache.commons.bcel6.util.SyntheticRepository;
public class FieldAnnotationsTestCase extends AbstractTestCase