Adding GetArray for strings
This commit is contained in:
parent
75cc266b25
commit
89ba7fdcb3
|
@ -539,9 +539,13 @@ static void opGetArray(Program* program)
|
||||||
// TODO: If type is string then do substr instead of array operation
|
// TODO: If type is string then do substr instead of array operation
|
||||||
|
|
||||||
auto key = programStackPopValue(program);
|
auto key = programStackPopValue(program);
|
||||||
auto arrayId = programStackPopInteger(program);
|
|
||||||
auto value = GetArray(arrayId, SFallScriptValue { key });
|
auto arrayId = SFallScriptValue { programStackPopValue(program) };
|
||||||
programStackPushValue(program, value);
|
if (arrayId.isInt()) {
|
||||||
|
auto value = GetArray(arrayId.integerValue, SFallScriptValue { key });
|
||||||
|
programStackPushValue(program, value);
|
||||||
|
} else {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// free_array
|
// free_array
|
||||||
|
|
|
@ -18,7 +18,7 @@ SFallScriptValue::SFallScriptValue(Object* value)
|
||||||
opcode = VALUE_TYPE_PTR;
|
opcode = VALUE_TYPE_PTR;
|
||||||
pointerValue = value;
|
pointerValue = value;
|
||||||
};
|
};
|
||||||
SFallScriptValue::SFallScriptValue(ProgramValue& value)
|
SFallScriptValue::SFallScriptValue(const ProgramValue& value)
|
||||||
{
|
{
|
||||||
opcode = value.opcode;
|
opcode = value.opcode;
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ public:
|
||||||
SFallScriptValue();
|
SFallScriptValue();
|
||||||
SFallScriptValue(int value);
|
SFallScriptValue(int value);
|
||||||
SFallScriptValue(Object* value);
|
SFallScriptValue(Object* value);
|
||||||
SFallScriptValue(ProgramValue& value);
|
SFallScriptValue(const ProgramValue& value);
|
||||||
|
|
||||||
bool isInt() const;
|
bool isInt() const;
|
||||||
bool isFloat() const;
|
bool isFloat() const;
|
||||||
|
|
Loading…
Reference in New Issue