01: package net.sf.saxon.instruct;
02:
03: import net.sf.saxon.expr.Expression;
04: import net.sf.saxon.trace.InstructionInfo;
05:
06: /**
07: * A run-time instruction which wraps a real instruction and traces its entry and exit to the
08: * TraceListener
09: */
10:
11: public class TraceInstruction extends TraceWrapper {
12:
13: InstructionInfo details;
14:
15: /**
16: * Create a Trace instruction
17: * @param child the "real" instruction to be traced
18: */
19:
20: public TraceInstruction(Expression child, InstructionInfo details) {
21: this .child = child;
22: this .details = details;
23: adoptChildExpression(child);
24: }
25:
26: /**
27: * Get the instruction details
28: */
29:
30: public InstructionInfo getInstructionInfo() {
31: return details;
32: }
33:
34: }
35:
36: //
37: // The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License");
38: // you may not use this file except in compliance with the License. You may obtain a copy of the
39: // License at http://www.mozilla.org/MPL/
40: //
41: // Software distributed under the License is distributed on an "AS IS" basis,
42: // WITHOUT WARRANTY OF ANY KIND, either express or implied.
43: // See the License for the specific language governing rights and limitations under the License.
44: //
45: // The Original Code is: all this file.
46: //
47: // The Initial Developer of the Original Code is Michael H. Kay.
48: //
49: // Portions created by (your name) are Copyright (C) (your legal entity). All Rights Reserved.
50: //
51: // Contributor(s): none.
52: //
|