Project

Profile

Help

Bug #2191

closed

Debugger access to global variables

Added by Michael Kay about 10 years ago. Updated almost 9 years ago.

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

100%

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

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.

Please register to edit this issue

Also available in: Atom PDF