Project

Profile

Help

Bug #2776

closed

xsl:override : indirectly called function does not invoke overridden function

Added by Michael Kay about 6 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
XSLT 3.0 packages
Sprint/Milestone:
-
Start date:
2016-06-05
Due date:
% Done:

100%

Estimated time:
Legacy ID:
Applies to branch:
9.7, trunk
Fix Committed on Branch:
9.7, trunk
Fixed in Maintenance Release:
Platforms:

Description

See XSLT 3.0 test case override-f-024

Actions #1

Updated by Michael Kay about 6 years ago

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.

Actions #2

Updated by Michael Kay about 6 years ago

  • 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.

Actions #3

Updated by Michael Kay about 6 years ago

  • 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.

Actions #4

Updated by Michael Kay about 6 years ago

  • 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).

Actions #5

Updated by O'Neil Delpratt about 6 years ago

  • 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.

Actions #6

Updated by O'Neil Delpratt about 5 years ago

  • Applies to branch trunk added
  • Applies to branch deleted (9.8)
Actions #7

Updated by O'Neil Delpratt about 5 years ago

  • Fix Committed on Branch trunk added
  • Fix Committed on Branch deleted (9.8)

Please register to edit this issue

Also available in: Atom PDF