[
https://jira.jboss.org/jira/browse/JBAOP-779?page=com.atlassian.jira.plug...
]
Flavia Rainone updated JBAOP-779:
---------------------------------
Summary: Instrumentor.convertReferences skips superclasses and interfaces (was:
FieldTestCase fails)
Fix Version/s: 2.2.0.GA
(was: 2.1.9.GA)
Description:
Instrumentor.convertReferences method should find all superclasses (direct and indirect)
of referenced classes.
However, when a referenced class is marked as skipReferences in InterceptionMarkers, the
method does not look for the superclasses.
Plus, it does not process implemented interfaces of references classes.
For that reason, FieldTestCase is failing whenever it is executed in precompiled mode.
In precompiled mode, all classes as woven, which causes org.jboss.test.aop.B class to be
marked as skipReference prior to weaving of FieldTestCase.
At the time JBoss AOP starts instrumenting FieldTestCase, it can't instrument the
reference to c.inheritedFieldInSubClassFieldA in testFieldsReplacedInSubClass test method.
Since the field is defined in the super class A, convertReferences would have to get from
class org.jboss.aop.C to B, and then from B to A. But it skips B, and never gets to A.
The failures does not occur when this test is run with loadtime weaving, because B class
is not marked to be skipped at the time FieldTestCase is woven.
was:FieldTestCase is failing on compatibility tests
Complexity: Medium (was: Low)
Instrumentor.convertReferences skips superclasses and interfaces
----------------------------------------------------------------
Key: JBAOP-779
URL:
https://jira.jboss.org/jira/browse/JBAOP-779
Project: JBoss AOP
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 2.1.9.Alpha1
Reporter: Flavia Rainone
Assignee: Flavia Rainone
Fix For: 2.2.0.GA
Instrumentor.convertReferences method should find all superclasses (direct and indirect)
of referenced classes.
However, when a referenced class is marked as skipReferences in InterceptionMarkers, the
method does not look for the superclasses.
Plus, it does not process implemented interfaces of references classes.
For that reason, FieldTestCase is failing whenever it is executed in precompiled mode.
In precompiled mode, all classes as woven, which causes org.jboss.test.aop.B class to be
marked as skipReference prior to weaving of FieldTestCase.
At the time JBoss AOP starts instrumenting FieldTestCase, it can't instrument the
reference to c.inheritedFieldInSubClassFieldA in testFieldsReplacedInSubClass test method.
Since the field is defined in the super class A, convertReferences would have to get from
class org.jboss.aop.C to B, and then from B to A. But it skips B, and never gets to A.
The failures does not occur when this test is run with loadtime weaving, because B class
is not marked to be skipped at the time FieldTestCase is woven.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira