Torque2D Reference
|
#include <codeBlock.h>
Public Member Functions | |
CodeBlock () | |
~CodeBlock () | |
void | addToCodeList () |
void | removeFromCodeList () |
void | calcBreakList () |
void | clearAllBreaks () |
void | setAllBreaks () |
U32 | findFirstBreakLine (U32 lineNumber) |
void | clearBreakpoint (U32 lineNumber) |
bool | setBreakpoint (U32 lineNumber) |
void | findBreakLine (U32 ip, U32 &line, U32 &instruction) |
void | getFunctionArgs (char buffer[1024], U32 offset) |
const char * | getFileLine (U32 ip) |
bool | read (StringTableEntry fileName, Stream &st) |
bool | compile (const char *dsoName, StringTableEntry fileName, const char *script) |
void | incRefCount () |
void | decRefCount () |
const char * | compileExec (StringTableEntry fileName, const char *script, bool noCalls, int setFrame=-1) |
const char * | exec (U32 offset, const char *fnName, Namespace *ns, U32 argc, const char **argv, bool noCalls, StringTableEntry packageName, S32 setFrame=-1) |
Static Public Member Functions | |
static CodeBlock * | getCurrentBlock () |
static CodeBlock * | getCodeBlockList () |
static StringTableEntry | getCurrentCodeBlockName () |
static StringTableEntry | getCurrentCodeBlockFullPath () |
static StringTableEntry | getCurrentCodeBlockModName () |
static CodeBlock * | find (StringTableEntry) |
Public Attributes | |
StringTableEntry | name |
StringTableEntry | fullPath |
StringTableEntry | modPath |
char * | globalStrings |
char * | functionStrings |
F64 * | globalFloats |
F64 * | functionFloats |
U32 | codeSize |
U32 * | code |
U32 | refCount |
U32 | lineBreakPairCount |
U32 * | lineBreakPairs |
U32 | breakListSize |
U32 * | breakList |
CodeBlock * | nextFile |
StringTableEntry | mRoot |
Static Public Attributes | |
static U32 | smBreakLineCount = 0 |
static bool | smInFunction = false |
static Compiler::ConsoleParser * | smCurrentParser = NULL |
Core TorqueScript code management class.
This class represents a block of code, usually mapped directly to a file.
CodeBlock | ( | ) |
~CodeBlock | ( | ) |
void addToCodeList | ( | ) |
void calcBreakList | ( | ) |
void clearAllBreaks | ( | ) |
void clearBreakpoint | ( | U32 | lineNumber | ) |
bool compile | ( | const char * | dsoName, |
StringTableEntry | fileName, | ||
const char * | script | ||
) |
const char * compileExec | ( | StringTableEntry | fileName, |
const char * | script, | ||
bool | noCalls, | ||
int | setFrame = -1 |
||
) |
Compiles and executes a block of script storing the compiled code in this CodeBlock. If there is no filename breakpoints will not be generated and the CodeBlock will not be added to the linked list of loaded CodeBlocks. Note that if the script contains no executable statements the CodeBlock will delete itself on return an empty string. The return string is any result of the code executed, if any, or an empty string.
fileName | The file name, including path and extension, for the block of code or an empty string. |
script | The script code to compile and execute. |
noCalls | Skips calling functions from the script. |
setFrame | A zero based index of the stack frame to execute the code with, zero being the top of the stack. If the the index is -1 a new frame is created. If the index is out of range the top stack frame is used. |
void decRefCount | ( | ) |
const char * exec | ( | U32 | offset, |
const char * | fnName, | ||
Namespace * | ns, | ||
U32 | argc, | ||
const char ** | argv, | ||
bool | noCalls, | ||
StringTableEntry | packageName, | ||
S32 | setFrame = -1 |
||
) |
Executes the existing code in the CodeBlock. The return string is any result of the code executed, if any, or an empty string.
offset | The instruction offset to start executing from. |
fnName | The name of the function to execute or null. |
ns | The namespace of the function to execute or null. |
argc | The number of parameters passed to the function or zero to execute code outside of a function. |
argv | The function parameter list. |
noCalls | Skips calling functions from the script. |
setFrame | A zero based index of the stack frame to execute the code with, zero being the top of the stack. If the the index is -1 a new frame is created. If the index is out of range the top stack frame is used. |
packageName | The code package name or null. |
|
static |
void findBreakLine | ( | U32 | ip, |
U32 & | line, | ||
U32 & | instruction | ||
) |
U32 findFirstBreakLine | ( | U32 | lineNumber | ) |
Returns the first breakable line or 0 if none was found.
lineNumber | The one based line number. |
|
inlinestatic |
|
inlinestatic |
|
static |
|
static |
|
static |
const char * getFileLine | ( | U32 | ip | ) |
void getFunctionArgs | ( | char | buffer[1024], |
U32 | offset | ||
) |
void incRefCount | ( | ) |
bool read | ( | StringTableEntry | fileName, |
Stream & | st | ||
) |
void removeFromCodeList | ( | ) |
void setAllBreaks | ( | ) |
bool setBreakpoint | ( | U32 | lineNumber | ) |
Set a OP_BREAK instruction on a line. If a break is not possible on that line it returns false.
lineNumber | The one based line number. |
U32* breakList |
U32 breakListSize |
U32* code |
U32 codeSize |
StringTableEntry fullPath |
F64* functionFloats |
char* functionStrings |
F64* globalFloats |
char* globalStrings |
U32 lineBreakPairCount |
U32* lineBreakPairs |
StringTableEntry modPath |
StringTableEntry mRoot |
StringTableEntry name |
CodeBlock* nextFile |
U32 refCount |
|
static |
|
static |
|
static |