Difference between revisions of "QAS getCallStack"

From Catglobe Wiki
Jump to: navigation, search
(QAS_getCallStack)
(QAS_getCallStack)
Line 13: Line 13:
 
'''Return type'''
 
'''Return type'''
  
array  
+
array. The array returned from QAS_getCallStack has the following structure:
  
 
{| cellspacing="0" cellpadding="2" border="1" width="875" style="border-collapse:collapse; border:1px solid #010101" class="tableintopic"
 
{| cellspacing="0" cellpadding="2" border="1" width="875" style="border-collapse:collapse; border:1px solid #010101" class="tableintopic"
Line 70: Line 70:
 
<span class="normalise">This array contains an array for each stack frame on the call stack, including information about caller and callee, where the stack frame in the array correspond to the stack frame at the bottom of the call stack.</span>
 
<span class="normalise">This array contains an array for each stack frame on the call stack, including information about caller and callee, where the stack frame in the array correspond to the stack frame at the bottom of the call stack.</span>
  
 +
|}
 +
 +
The property QAS_CALL_STACK_FRAMES consists of arrays which we refer to as call stack frames, each call stack frame consists of two arrays; one for the caller and one for the callee in the following way:
 +
 +
{| cellspacing="0" cellpadding="2" border="1" width="875" style="border-collapse:collapse; border:1px solid #010101" class="tableintopic"
 +
|- align="left" valign="top"
 +
| bgcolor="#C0C0C0" width="200" style="border:1px solid #010101;" |
 +
'''Index'''
  
 +
| bgcolor="#C0C0C0" width="450" style="border:1px solid #010101;" |
 +
'''Property name'''
  
|}
+
| bgcolor="#C0C0C0" width="200" style="border:1px solid #010101;" |
 +
'''Data type'''
 +
 
 +
| bgcolor="#C0C0C0" width="1500" style="border:1px solid #010101;" |
 +
'''Description'''
 +
 
 +
|- align="left" valign="top"
 +
| width="200" style="border:1px solid #010101;" |
 +
<span class="normalise">0</span>
 +
 
 +
| width="450" style="border:1px solid #010101;" |
 +
<span class="normalise">QAS_STACK_FRAME_CALLER</span>
 +
 
 +
| width="200" style="border:1px solid #010101;" |
 +
<span class="normalise">array</span>
 +
 
 +
| width="1500" style="border:1px solid #010101;" |
 +
<span class="normalise"></span>
 +
 
 +
|- align="left" valign="top"
 +
| width="200" style="border:1px solid #010101;" |
 +
<span class="normalise">1</span>
 +
 
 +
| width="450" style="border:1px solid #010101;" |
 +
<span class="normalise">QAS_STACK_FRAME_CALLEE</span>
 +
 
 +
| width="200" style="border:1px solid #010101;" |
 +
<span class="normalise">array</span>
 +
 
 +
| width="1500" style="border:1px solid #010101;" |
 +
<span class="normalise"></span>
  
 
'''Example'''
 
'''Example'''

Revision as of 06:03, 11 April 2012

QAS_getCallStack

This function makes it possible for the script writer to peek into the current answer sheet call stack. The function requires an answer sheet context to be present which only exists for CG Scripts executed in dummy questions.

Syntax

QAS_getCallStack()

Arguments

No

Return type

array. The array returned from QAS_getCallStack has the following structure:

Index

Property name

Data type

Description

0

QAS_CALL_STACK_ANSWER_SHEET_CONTEXT_ID

number

The answer sheet id for the initial answer sheet, this id is also known as the answer sheet context id.

1

QAS_CALL_STACK_ANSWER_SHEET_IDS

array

All the answer sheet ids currently on the answer sheet call stack, where the first answer sheet id in the array correspond to the caller answer sheet at the bottom of the call stack.

This array always contains minimum one element, which is the initial answer sheet id.

2

QAS_CALL_STACK_FRAMES

array

This array contains an array for each stack frame on the call stack, including information about caller and callee, where the stack frame in the array correspond to the stack frame at the bottom of the call stack.

The property QAS_CALL_STACK_FRAMES consists of arrays which we refer to as call stack frames, each call stack frame consists of two arrays; one for the caller and one for the callee in the following way:

Index

Property name

Data type

Description

0

QAS_STACK_FRAME_CALLER

array

1

QAS_STACK_FRAME_CALLEE

array

Example


QAS_getCallStack();


Availability

Version 5.9.5