[jboss-jira] [JBoss JIRA] Updated: (JBAOP-779) Instrumentor.convertReferences skips superclasses and interfaces
Flavia Rainone (JIRA)
jira-events at lists.jboss.org
Tue Mar 23 22:43:45 EDT 2010
[ https://jira.jboss.org/jira/browse/JBAOP-779?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
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
More information about the jboss-jira
mailing list