This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-bcel.git
The following commit(s) were added to refs/heads/master by this push:
new 952c64b5 Add support for permitted subclasses #493
952c64b5 is described below
commit 952c64b594d8bb03622383bc7340f2b2f9a84c2e
Author: Gary Gregory <[email protected]>
AuthorDate: Sun Feb 1 15:56:34 2026 -0500
Add support for permitted subclasses #493
Sort members
---
src/changes/changes.xml | 1 +
.../org/apache/bcel/classfile/DescendingVisitor.java | 16 ++++++++--------
.../java/org/apache/bcel/classfile/EmptyVisitor.java | 10 +++++-----
src/main/java/org/apache/bcel/classfile/Visitor.java | 20 ++++++++++----------
.../bcel/verifier/statics/StringRepresentation.java | 14 +++++++-------
5 files changed, 31 insertions(+), 30 deletions(-)
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 30e42566..b6a69423 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -62,6 +62,7 @@ The <action> type attribute can be add,update,fix,remove.
<release version="6.12.1" date="YYYY-MM-DD" description="This is a feature
and maintenance release. Java 8 or later is required.">
<!-- FIX -->
<action type="update" dev="ggregory"
due-to="nbauma109">Fix constant pool module access test on Java 26 and above
#492.</action>
+ <action type="update" dev="ggregory" due-to="nbauma109,
Gary Gregory">Add support for permitted subclasses #493.</action>
<!-- ADD -->
<!-- UPDATE -->
<action type="update" dev="ggregory" due-to="Gary
Gregory">Bump org.apache.commons:commons-parent from 95 to 96.</action>
diff --git a/src/main/java/org/apache/bcel/classfile/DescendingVisitor.java
b/src/main/java/org/apache/bcel/classfile/DescendingVisitor.java
index 37f72df7..816bf091 100644
--- a/src/main/java/org/apache/bcel/classfile/DescendingVisitor.java
+++ b/src/main/java/org/apache/bcel/classfile/DescendingVisitor.java
@@ -496,14 +496,6 @@ public class DescendingVisitor implements Visitor {
stack.pop();
}
- /** @since 6.13.0 */
- @Override
- public void visitPermittedSubclasses(final PermittedSubclasses obj) {
- stack.push(obj);
- obj.accept(visitor);
- stack.pop();
- }
-
/**
* @since 6.0
*/
@@ -522,6 +514,14 @@ public class DescendingVisitor implements Visitor {
stack.pop();
}
+ /** @since 6.13.0 */
+ @Override
+ public void visitPermittedSubclasses(final PermittedSubclasses obj) {
+ stack.push(obj);
+ obj.accept(visitor);
+ stack.pop();
+ }
+
@Override
public void visitRecord(final Record record) {
stack.push(record);
diff --git a/src/main/java/org/apache/bcel/classfile/EmptyVisitor.java
b/src/main/java/org/apache/bcel/classfile/EmptyVisitor.java
index 7a5165bd..d8f315cf 100644
--- a/src/main/java/org/apache/bcel/classfile/EmptyVisitor.java
+++ b/src/main/java/org/apache/bcel/classfile/EmptyVisitor.java
@@ -284,11 +284,6 @@ public class EmptyVisitor implements Visitor {
public void visitNestMembers(final NestMembers obj) {
}
- /** @since 6.13.0 */
- @Override
- public void visitPermittedSubclasses(final PermittedSubclasses obj) {
- }
-
/**
* @since 6.0
*/
@@ -303,6 +298,11 @@ public class EmptyVisitor implements Visitor {
public void visitParameterAnnotationEntry(final ParameterAnnotationEntry
parameterAnnotationEntry) {
}
+ /** @since 6.13.0 */
+ @Override
+ public void visitPermittedSubclasses(final PermittedSubclasses obj) {
+ }
+
@Override
public void visitSignature(final Signature obj) {
}
diff --git a/src/main/java/org/apache/bcel/classfile/Visitor.java
b/src/main/java/org/apache/bcel/classfile/Visitor.java
index 5df8e243..7ea0fa65 100644
--- a/src/main/java/org/apache/bcel/classfile/Visitor.java
+++ b/src/main/java/org/apache/bcel/classfile/Visitor.java
@@ -411,16 +411,6 @@ public interface Visitor {
// empty
}
- /**
- * Visits a PermittedSubclasses attribute.
- *
- * @param obj the attribute.
- * @since 6.13.0
- */
- default void visitPermittedSubclasses(final PermittedSubclasses obj) {
- // empty
- }
-
/**
* Visits a ParameterAnnotations attribute.
*
@@ -437,6 +427,16 @@ public interface Visitor {
*/
void visitParameterAnnotationEntry(ParameterAnnotationEntry obj);
+ /**
+ * Visits a PermittedSubclasses attribute.
+ *
+ * @param obj the attribute.
+ * @since 6.13.0
+ */
+ default void visitPermittedSubclasses(final PermittedSubclasses obj) {
+ // empty
+ }
+
/**
* Visits a {@link Record} object.
*
diff --git
a/src/main/java/org/apache/bcel/verifier/statics/StringRepresentation.java
b/src/main/java/org/apache/bcel/verifier/statics/StringRepresentation.java
index e9329f90..0ba7801d 100644
--- a/src/main/java/org/apache/bcel/verifier/statics/StringRepresentation.java
+++ b/src/main/java/org/apache/bcel/verifier/statics/StringRepresentation.java
@@ -387,12 +387,10 @@ public class StringRepresentation extends
org.apache.bcel.classfile.EmptyVisitor
}
/**
- * Visits PermittedSubclasses attribute.
- *
- * @since 6.13.0
+ * @since 6.0
*/
@Override
- public void visitPermittedSubclasses(final PermittedSubclasses obj) {
+ public void visitParameterAnnotation(final ParameterAnnotations obj) {
tostring = toString(obj);
}
@@ -400,15 +398,17 @@ public class StringRepresentation extends
org.apache.bcel.classfile.EmptyVisitor
* @since 6.0
*/
@Override
- public void visitParameterAnnotation(final ParameterAnnotations obj) {
+ public void visitParameterAnnotationEntry(final ParameterAnnotationEntry
obj) {
tostring = toString(obj);
}
/**
- * @since 6.0
+ * Visits PermittedSubclasses attribute.
+ *
+ * @since 6.13.0
*/
@Override
- public void visitParameterAnnotationEntry(final ParameterAnnotationEntry
obj) {
+ public void visitPermittedSubclasses(final PermittedSubclasses obj) {
tostring = toString(obj);
}