mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2025-02-22 04:37:13 +01:00
Prepare the script container for the revised script loading system.
This commit is contained in:
parent
c8d5200dc0
commit
b59710ddeb
@ -136,27 +136,31 @@ void ScriptSrc::Process()
|
|||||||
{
|
{
|
||||||
mLine.push_back(line);
|
mLine.push_back(line);
|
||||||
}
|
}
|
||||||
|
// Specify that this script contains line information
|
||||||
|
mInfo = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
ScriptSrc::ScriptSrc(HSQUIRRELVM vm, const String & path, bool info)
|
ScriptSrc::ScriptSrc(HSQUIRRELVM vm, String && path, bool delay, bool info)
|
||||||
: mExec(vm)
|
: mExec(vm)
|
||||||
, mPath(path)
|
, mPath(std::move(path))
|
||||||
, mData()
|
, mData()
|
||||||
, mLine()
|
, mLine()
|
||||||
|
, mInfo(info)
|
||||||
|
, mDelay(delay)
|
||||||
{
|
{
|
||||||
// Is the specified path empty?
|
|
||||||
if (mPath.empty())
|
|
||||||
{
|
|
||||||
throw std::runtime_error("Invalid or empty script path");
|
|
||||||
}
|
|
||||||
// Is the specified virtual machine invalid?
|
// Is the specified virtual machine invalid?
|
||||||
else if (!vm)
|
if (!vm)
|
||||||
{
|
{
|
||||||
throw std::runtime_error("Invalid virtual machine pointer");
|
throw std::runtime_error("Invalid virtual machine pointer");
|
||||||
}
|
}
|
||||||
|
// Is the specified path empty?
|
||||||
|
else if (mPath.empty())
|
||||||
|
{
|
||||||
|
throw std::runtime_error("Invalid or empty script path");
|
||||||
|
}
|
||||||
// Should we load the file contents for debugging purposes?
|
// Should we load the file contents for debugging purposes?
|
||||||
else if (info)
|
else if (mInfo)
|
||||||
{
|
{
|
||||||
Process();
|
Process();
|
||||||
}
|
}
|
||||||
|
@ -29,6 +29,8 @@ public:
|
|||||||
String mPath; // Path to the script file.
|
String mPath; // Path to the script file.
|
||||||
String mData; // The contents of the script file.
|
String mData; // The contents of the script file.
|
||||||
Line mLine; // List of lines of code in the data.
|
Line mLine; // List of lines of code in the data.
|
||||||
|
bool mInfo; // Whether this script contains line information.
|
||||||
|
bool mDelay; // Don't execute immediately after compilation.
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------
|
/* --------------------------------------------------------------------------------------------
|
||||||
* Read file contents and calculate information about the lines of code.
|
* Read file contents and calculate information about the lines of code.
|
||||||
@ -36,9 +38,18 @@ public:
|
|||||||
void Process();
|
void Process();
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------
|
/* --------------------------------------------------------------------------------------------
|
||||||
* Default constructor.
|
* Base constructor.
|
||||||
*/
|
*/
|
||||||
ScriptSrc(HSQUIRRELVM vm, const String & path, bool info = false);
|
ScriptSrc(HSQUIRRELVM vm, const String & path, bool delay = false, bool info = false)
|
||||||
|
: ScriptSrc(vm, String(path), delay, info)
|
||||||
|
{
|
||||||
|
/* ... */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --------------------------------------------------------------------------------------------
|
||||||
|
* Base constructor.
|
||||||
|
*/
|
||||||
|
ScriptSrc(HSQUIRRELVM vm, String && path, bool delay = false, bool info = false);
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------
|
/* --------------------------------------------------------------------------------------------
|
||||||
* Copy constructor.
|
* Copy constructor.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user