[
https://issues.jboss.org/browse/JASSIST-263?page=com.atlassian.jira.plugi...
]
Paul Pogonyshev commented on JASSIST-263:
-----------------------------------------
The fix works, thanks.
However, for me to better understand: ClassPool absolutely needs bytecode, not a loaded
class, right? Would it be somehow possible to keep generated byte[] arrays, or does
ClassPool need classes as files?
ClassPool cannot read generated classes
---------------------------------------
Key: JASSIST-263
URL:
https://issues.jboss.org/browse/JASSIST-263
Project: Javassist
Issue Type: Bug
Affects Versions: 3.20.0-GA
Reporter: Paul Pogonyshev
Assignee: Shigeru Chiba
Attachments: JavassistBug.java
ClassPool.get() cannot retrieve classes that are in turn generated at runtime. For
example, if I try to define at runtime two classes, one of which extends another, the base
will not be found, even though it can be retrieved just fine from my class loader. See the
attached example.
As far as I could trace it, the issue comes from ClassPoolTail.find() returning a null
URL for the class. This is understandable, since class definition doesn't exist as a
file --- it is generated at runtime. However, ClassPool.get() should still succeed for
classes that have no URL, yet can be found through its ClassLoader.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)