/// <summary> /// /// </summary> /// <param name="expression"></param> /// <param name="keyword"></param> /// <returns></returns> public static ExpressionStatementTranslationUnit Create(ExpressionTranslationUnit expression, string keyword = null) { ExpressionTranslationUnit realExpression = expression ?? ExpressionTranslationUnit.Create(VoidTranslationUnit.Create()); return new ExpressionStatementTranslationUnit(AutomaticNestingLevel) { expression = realExpression, keyword = keyword }; }
/// <summary> /// /// </summary> /// <param name="expression"></param> /// <param name="keyword"></param> /// <returns></returns> public static ExpressionStatementTranslationUnit Create(ExpressionTranslationUnit expression, string keyword = null) { ExpressionTranslationUnit realExpression = expression ?? ExpressionTranslationUnit.Create(VoidTranslationUnit.Create()); return(new ExpressionStatementTranslationUnit(AutomaticNestingLevel) { expression = realExpression, keyword = keyword }); }
/// <summary> /// Builds a throw statement with the specified expression. /// </summary> /// <param name="expression"></param> /// <returns></returns> public static ExpressionStatementTranslationUnit CreateThrow(ExpressionTranslationUnit expression) { return(Create(expression, Lexems.ThrowKeyword)); }
/// <summary> /// Copy initializes a new instance of the <see cref="ExpressionStatementTranslationUnit"/> class. /// </summary> /// <param name="other"></param> /// <remarks> /// For testability. /// </remarks> public ExpressionStatementTranslationUnit(ExpressionStatementTranslationUnit other) : base(other) { this.expression = other.expression; this.keyword = other.keyword; }
/// <summary> /// Initializes a new instance of the <see cref="ExpressionStatementTranslationUnit"/> class. /// </summary> /// <param name="nestingLevel"></param> protected ExpressionStatementTranslationUnit(int nestingLevel) : base(nestingLevel) { this.expression = null; this.keyword = null; }
/// <summary> /// Builds a return statement with the specified expression. /// </summary> /// <param name="expression"></param> /// <returns></returns> public static ExpressionStatementTranslationUnit CreateReturn(ExpressionTranslationUnit expression) { return Create(expression, Lexems.ReturnKeyword); }
/// <summary> /// Initializes a new instance of the <see cref="ExpressionStatementTranslationUnit"/> class. /// </summary> /// <param name="nestingLevel"></param> protected ExpressionStatementTranslationUnit(int nestingLevel) : base(nestingLevel) { this.expression = null; this.keyword = null; }
/// <summary> /// Copy initializes a new instance of the <see cref="ExpressionStatementTranslationUnit"/> class. /// </summary> /// <param name="other"></param> /// <remarks> /// For testability. /// </remarks> public ExpressionStatementTranslationUnit(ExpressionStatementTranslationUnit other) : base(other) { this.expression = other.expression; this.keyword = other.keyword; }