mirror of
https://github.com/krgamestudios/Toy.git
synced 2026-04-15 23:04:08 +10:00
Fixed a pattern with parsing identifiers
This commit is contained in:
@@ -242,10 +242,10 @@ static int nativeRunScript(Interpreter* interpreter, LiteralArray* arguments) {
|
|||||||
|
|
||||||
//get the runner object
|
//get the runner object
|
||||||
Literal runnerLiteral = popLiteralArray(arguments);
|
Literal runnerLiteral = popLiteralArray(arguments);
|
||||||
Literal idn = runnerLiteral;
|
|
||||||
|
|
||||||
if (parseIdentifierToValue(interpreter, &runnerLiteral)) {
|
Literal runnerIdn = runnerLiteral;
|
||||||
freeLiteral(idn);
|
if (IS_IDENTIFIER(runnerLiteral) && parseIdentifierToValue(interpreter, &runnerLiteral)) {
|
||||||
|
freeLiteral(runnerIdn);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OPAQUE_TAG(runnerLiteral) != OPAQUE_TAG_RUNNER) {
|
if (OPAQUE_TAG(runnerLiteral) != OPAQUE_TAG_RUNNER) {
|
||||||
@@ -285,16 +285,14 @@ static int nativeGetScriptVar(Interpreter* interpreter, LiteralArray* arguments)
|
|||||||
Literal varName = popLiteralArray(arguments);
|
Literal varName = popLiteralArray(arguments);
|
||||||
Literal runnerLiteral = popLiteralArray(arguments);
|
Literal runnerLiteral = popLiteralArray(arguments);
|
||||||
|
|
||||||
if (IS_IDENTIFIER(varName)) {
|
Literal varNameIdn = varName;
|
||||||
Literal idn = varName;
|
if (IS_IDENTIFIER(varName) && parseIdentifierToValue(interpreter, &varName)) {
|
||||||
parseIdentifierToValue(interpreter, &varName);
|
freeLiteral(varNameIdn);
|
||||||
freeLiteral(idn);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_IDENTIFIER(runnerLiteral)) {
|
Literal runnerIdn = runnerLiteral;
|
||||||
Literal idn = runnerLiteral;
|
if (IS_IDENTIFIER(runnerLiteral) && parseIdentifierToValue(interpreter, &runnerLiteral)) {
|
||||||
parseIdentifierToValue(interpreter, &runnerLiteral);
|
freeLiteral(runnerIdn);
|
||||||
freeLiteral(idn);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OPAQUE_TAG(runnerLiteral) != OPAQUE_TAG_RUNNER) {
|
if (OPAQUE_TAG(runnerLiteral) != OPAQUE_TAG_RUNNER) {
|
||||||
@@ -360,16 +358,14 @@ static int nativeCallScriptFn(Interpreter* interpreter, LiteralArray* arguments)
|
|||||||
Literal varName = popLiteralArray(arguments);
|
Literal varName = popLiteralArray(arguments);
|
||||||
Literal runnerLiteral = popLiteralArray(arguments);
|
Literal runnerLiteral = popLiteralArray(arguments);
|
||||||
|
|
||||||
if (IS_IDENTIFIER(varName)) {
|
Literal varNameIdn = varName;
|
||||||
Literal idn = varName;
|
if (IS_IDENTIFIER(varName) && parseIdentifierToValue(interpreter, &varName)) {
|
||||||
parseIdentifierToValue(interpreter, &varName);
|
freeLiteral(varNameIdn);
|
||||||
freeLiteral(idn);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_IDENTIFIER(runnerLiteral)) {
|
Literal runnerIdn = runnerLiteral;
|
||||||
Literal idn = runnerLiteral;
|
if (IS_IDENTIFIER(runnerLiteral) && parseIdentifierToValue(interpreter, &runnerLiteral)) {
|
||||||
parseIdentifierToValue(interpreter, &runnerLiteral);
|
freeLiteral(runnerIdn);
|
||||||
freeLiteral(idn);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OPAQUE_TAG(runnerLiteral) != OPAQUE_TAG_RUNNER) {
|
if (OPAQUE_TAG(runnerLiteral) != OPAQUE_TAG_RUNNER) {
|
||||||
@@ -436,10 +432,9 @@ static int nativeResetScript(Interpreter* interpreter, LiteralArray* arguments)
|
|||||||
//get the runner object
|
//get the runner object
|
||||||
Literal runnerLiteral = popLiteralArray(arguments);
|
Literal runnerLiteral = popLiteralArray(arguments);
|
||||||
|
|
||||||
if (IS_IDENTIFIER(runnerLiteral)) {
|
Literal runnerIdn = runnerLiteral;
|
||||||
Literal idn = runnerLiteral;
|
if (IS_IDENTIFIER(runnerLiteral) && parseIdentifierToValue(interpreter, &runnerLiteral)) {
|
||||||
parseIdentifierToValue(interpreter, &runnerLiteral);
|
freeLiteral(runnerIdn);
|
||||||
freeLiteral(idn);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OPAQUE_TAG(runnerLiteral) != OPAQUE_TAG_RUNNER) {
|
if (OPAQUE_TAG(runnerLiteral) != OPAQUE_TAG_RUNNER) {
|
||||||
@@ -473,10 +468,9 @@ static int nativeFreeScript(Interpreter* interpreter, LiteralArray* arguments) {
|
|||||||
//get the runner object
|
//get the runner object
|
||||||
Literal runnerLiteral = popLiteralArray(arguments);
|
Literal runnerLiteral = popLiteralArray(arguments);
|
||||||
|
|
||||||
if (IS_IDENTIFIER(runnerLiteral)) {
|
Literal runnerIdn = runnerLiteral;
|
||||||
Literal idn = runnerLiteral;
|
if (IS_IDENTIFIER(runnerLiteral) && parseIdentifierToValue(interpreter, &runnerLiteral)) {
|
||||||
parseIdentifierToValue(interpreter, &runnerLiteral);
|
freeLiteral(runnerIdn);
|
||||||
freeLiteral(idn);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OPAQUE_TAG(runnerLiteral) != OPAQUE_TAG_RUNNER) {
|
if (OPAQUE_TAG(runnerLiteral) != OPAQUE_TAG_RUNNER) {
|
||||||
@@ -508,10 +502,9 @@ static int nativeCheckScriptDirty(Interpreter* interpreter, LiteralArray* argume
|
|||||||
//get the runner object
|
//get the runner object
|
||||||
Literal runnerLiteral = popLiteralArray(arguments);
|
Literal runnerLiteral = popLiteralArray(arguments);
|
||||||
|
|
||||||
if (IS_IDENTIFIER(runnerLiteral)) {
|
Literal runnerIdn = runnerLiteral;
|
||||||
Literal idn = runnerLiteral;
|
if (IS_IDENTIFIER(runnerLiteral) && parseIdentifierToValue(interpreter, &runnerLiteral)) {
|
||||||
parseIdentifierToValue(interpreter, &runnerLiteral);
|
freeLiteral(runnerIdn);
|
||||||
freeLiteral(idn);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OPAQUE_TAG(runnerLiteral) != OPAQUE_TAG_RUNNER) {
|
if (OPAQUE_TAG(runnerLiteral) != OPAQUE_TAG_RUNNER) {
|
||||||
|
|||||||
Reference in New Issue
Block a user