Project

Profile

Help

Bug #2191

Debugger access to global variables

Added by Michael Kay almost 5 years ago. Updated almost 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Internals
Sprint/Milestone:
Start date:
2014-10-20
Due date:
% Done:

100%

Legacy ID:
Applies to branch:
9.6
Fix Committed on Branch:
9.6
Fixed in Maintenance Release:

Description

Saxon 9.6 does not replicate the behavior of previous releases in providing visibility of global variables that are unused (that is, where the global variable is declared but never referenced). The desired behaviour is that searching in the Executable should reveal the existence of such variables, but they should be marked as unused and should not be pre-evaluated.

A patch is being committed to achieve this behaviour. When the compileWithTracing option is set on the XsltCompiler, Saxon will create GlobalVariable objects and register them in the Executable even if they are unused; but they will be marked as unused, and no bindery slots will be allocated. During Controller.preEvaluateGlobals() (which is executed only if a TraceListener is registered), global variables that are marked as unused will not be evaluated. A new method GlobalVariable.isUnused() is provided to test whether a variable is marked as being unused, in which case it MUST NOT be evaluated.

History

#1 Updated by Michael Kay almost 5 years ago

  • Status changed from New to Resolved

#2 Updated by O'Neil Delpratt almost 5 years ago

  • Status changed from Resolved to Closed
  • % Done changed from 0 to 100
  • Fixed in version set to 9.6.0.2

Bug fix applied to the maintenance release Saxon 9.6.0.2

#3 Updated by O'Neil Delpratt almost 4 years ago

  • Sprint/Milestone set to 9.6.0.2
  • Applies to branch 9.6 added
  • Fix Committed on Branch 9.6 added
  • Fixed in Maintenance Release 9.6.0.2 added

Please register to edit this issue

Also available in: Atom PDF