01: package net.sf.saxon.expr;
02:
03: import net.sf.saxon.instruct.SlotManager;
04: import net.sf.saxon.om.ValueRepresentation;
05:
06: /**
07: * This class represents a stack frame holding details of the variables used in a function or in
08: * an XSLT template.
09: */
10:
11: public class StackFrame {
12: protected SlotManager map;
13: protected ValueRepresentation[] slots;
14:
15: public StackFrame(SlotManager map, ValueRepresentation[] slots) {
16: this .map = map;
17: this .slots = slots;
18: }
19:
20: public SlotManager getStackFrameMap() {
21: return map;
22: }
23:
24: public ValueRepresentation[] getStackFrameValues() {
25: return slots;
26: }
27:
28: public static final StackFrame EMPTY = new StackFrame(null,
29: ValueRepresentation.EMPTY_VALUE_ARRAY);
30: }
31:
32: //
33: // The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License");
34: // you may not use this file except in compliance with the License. You may obtain a copy of the
35: // License at http://www.mozilla.org/MPL/
36: //
37: // Software distributed under the License is distributed on an "AS IS" basis,
38: // WITHOUT WARRANTY OF ANY KIND, either express or implied.
39: // See the License for the specific language governing rights and limitations under the License.
40: //
41: // The Original Code is: all this file.
42: //
43: // The Initial Developer of the Original Code is Michael H. Kay.
44: //
45: // Portions created by (your name) are Copyright (C) (your legal entity). All Rights Reserved.
46: //
47: // Contributor(s): none.
48: //
|