bool Option::Load(int &option, ExpressionPtr value) { ScalarExpressionPtr v = dynamic_pointer_cast<ScalarExpression>(value); if (!v || !v->isLiteralInteger()) { Logger::Error("Line %d: invalid integer: %s", value->getLocation()->line1, value->getText().c_str()); return false; } option = v->getLiteralInteger(); return true; }
int64_t CaseStatement::getLiteralInteger() const { assert(m_condition->is(Expression::KindOfScalarExpression)); ScalarExpressionPtr exp = dynamic_pointer_cast<ScalarExpression>(m_condition); return exp->getLiteralInteger(); }