Torque2D Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
CodeBlock Class 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

## Detailed Description

Core TorqueScript code management class.

This class represents a block of code, usually mapped directly to a file.

## Constructor & Destructor Documentation

CodeBlock | ( |  | ) |

~CodeBlock | ( |  | ) |

## Member Function Documentation

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.

Parameters

  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.

Parameters

  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.

CodeBlock * find | ( | StringTableEntry | name | ) |
| static

void findBreakLine | ( | U32 | ip,
|  | U32 & | line,
|  | U32 & | instruction
| ) |  |

U32 findFirstBreakLine | ( | U32 | lineNumber | ) |

Returns the first breakable line or 0 if none was found.

Parameters

  lineNumber | The one based line number.

static CodeBlock* getCodeBlockList | ( |  | ) |
| inline static

static CodeBlock* getCurrentBlock | ( |  | ) |
| inline static

StringTableEntry getCurrentCodeBlockFullPath | ( |  | ) |
| static

StringTableEntry getCurrentCodeBlockModName | ( |  | ) |
| static

StringTableEntry getCurrentCodeBlockName | ( |  | ) |
| 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.

Parameters

  lineNumber | The one based line number.

## Member Data Documentation

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

U32 smBreakLineCount = 0
| static

ConsoleParser * smCurrentParser = NULL
| static

bool smInFunction = false
| static

The documentation for this class was generated from the following files:

- console/codeBlock.h
- console/codeBlock.cc
- console/compiledEval.cc