コード例 #1
0
ファイル: run.cpp プロジェクト: victor-yacovlev/kumir2
QVariant Run::valueStackTopItem() const
{
    VMMutex_->lock();
    AnyValue value;
    value = vm->returnCode();
    VMMutex_->unlock();
    QVariant result;
    if (value.isValid()) {
        if (value.type() == VT_int) {
            result = QVariant(value.toInt());
        }
        else if (value.type() == VT_real) {
            result = QVariant(value.toReal());
        }
        else if (value.type() == VT_bool) {
            result = QVariant(value.toBool());
        }
        else if (value.type() == VT_char) {
            result = QVariant(QChar(value.toChar()));
        }
        else if (value.type() == VT_string) {
            result = QVariant(QString::fromStdWString(value.toString()));
        }
    }
    return result;
}
コード例 #2
0
ファイル: test_value.cpp プロジェクト: aldebaran/libqi
TEST(Value, InvalidValue)
{
  AnyValue v;
  EXPECT_FALSE(v.isValid());
  EXPECT_EQ(AnyValue{}, v);
}