Bug #2776
closed
xsl:override : indirectly called function does not invoke overridden function
Category:
XSLT 3.0 packages
Applies to branch:
9.7, trunk
Fix Committed on Branch:
9.7, trunk
Fixed in Maintenance Release:
Description
See XSLT 3.0 test case override-f-024
The problem is that in the used package, function b has been inlined within a, so the override has no effect. Function inlining should only happen for functions that are private or final.
The function does not have a declared visibility, so this is being defaulted to PRIVATE; but there is an xsl:expose that makes it PUBLIC.
- Status changed from New to Resolved
- Applies to branch 9.8 added
- Fix Committed on Branch 9.7, 9.8 added
Fixed in PrincipalStylesheetModuleEE by doing adjustExposedVisibility() before we start optimizing components.
Patch committed on 9.7 and 9.8 branches.
- Status changed from Resolved to In Progress
Reopened. Doing adjustExposedVisibility() earlier fails in the case of attribute sets, because XSLAttributeSet.getCompiledProcedure() returns null. See test case expose-001. Attribute sets are probably behaving differently because multiple source declarations contribute to a single component.
- Status changed from In Progress to Resolved
A further tweak has been added to the patch to ensure that combineAttributeSets() is called (to create the attribute set components) before adjustExposedVisibility() is called (to set their visibility).
- Status changed from Resolved to Closed
- % Done changed from 0 to 100
- Fixed in Maintenance Release 9.7.0.6 added
Bug fixed in maintenance release 9.7.0.6.
- Applies to branch trunk added
- Applies to branch deleted (
9.8)
- Fix Committed on Branch trunk added
- Fix Committed on Branch deleted (
9.8)
Please register to edit this issue
Also available in: Atom
PDF