Пример #1
0
ClassExpression::ClassExpression(
    EXPRESSION_CONSTRUCTOR_PARAMETERS,
    ClassStatementPtr cls,
    ExpressionListPtr params)
  : FunctionCall(EXPRESSION_CONSTRUCTOR_PARAMETER_VALUES(ClassExpression),
      nullptr, "", false, params, nullptr)
  , m_cls(cls)
{
}
Пример #2
0
UserAttribute::UserAttribute
(EXPRESSION_CONSTRUCTOR_PARAMETERS,
 const std::string& name,
 ExpressionPtr exp)
  : Expression(EXPRESSION_CONSTRUCTOR_PARAMETER_VALUES(UserAttribute)),
    m_name(name), m_exp(exp) {
  if (m_exp) {
    assert(m_exp->isScalar());
  }
}
Пример #3
0
ClosureExpression::ClosureExpression(
    EXPRESSION_CONSTRUCTOR_PARAMETERS,
    ClosureType type,
    FunctionStatementPtr func,
    ExpressionListPtr vars)
  : Expression(EXPRESSION_CONSTRUCTOR_PARAMETER_VALUES(ClosureExpression))
  , m_type(type)
  , m_func(func)
  , m_captureState(m_type == ClosureType::Short ? CaptureState::Unknown
                                               : CaptureState::Known)
{
  switch (m_type) {
  case ClosureType::Short:
    break;
  case ClosureType::Long:
    if (vars) initializeFromUseList(vars);
    break;
  }
}
Пример #4
0
UnaryOpExpression::UnaryOpExpression
(EXPRESSION_CONSTRUCTOR_PARAMETERS, ExpressionPtr exp, int op, bool front)
  : Expression(EXPRESSION_CONSTRUCTOR_PARAMETER_VALUES(UnaryOpExpression)),
    m_exp(exp), m_op(op), m_front(front) {
  ctorInit();
}