/// <summary> /// Initialize a new instance of <see cref="AlgorithmClassMethodDeclaration"/> /// </summary> /// <param name="name">The name of the method</param> /// <param name="isAsync">Defines whether the method can be call asynchronously</param> /// <param name="arguments">The arguments declaration for this method</param> public AlgorithmClassMethodDeclaration(string name, bool isAsync, params AlgorithmParameterDeclaration[] arguments) : base(name) { Statements = new AlgorithmStatementCollection(); IsAsync = isAsync; Arguments = new AlgorithmParameterDeclarationCollection(); Arguments.AddRange(arguments); }
/// <summary> /// Initialize a new instance of <see cref="AlgorithmIterationStatement"/> /// </summary> /// <param name="initializationStatement">The statement that initialize the iteration</param> /// <param name="incrementStatement">The statement that define the incrementation</param> /// <param name="condition">The test expression of the iteration</param> /// <param name="conditionAfterBody">This value defines whether the test expression will be run before of after the execution of the iteration's body</param> /// <param name="statements">The statements in the iteration's body</param> public AlgorithmIterationStatement(AlgorithmStatement initializationStatement, AlgorithmStatement incrementStatement, AlgorithmExpression condition, bool conditionAfterBody = false, AlgorithmStatementCollection statements = null) { InitializationStatement = initializationStatement; IncrementStatement = incrementStatement; Condition = condition; ConditionAfterBody = conditionAfterBody; Statements = statements ?? new AlgorithmStatementCollection(); }
/// <summary> /// Initialize a new instance of <see cref="AlgorithmConditionStatement"/> /// </summary> /// <param name="condition">The expression to evaluate true or false</param> /// <param name="trueStatement">The collection of statements to run when the condition is true</param> /// <param name="falseStatement">The collection of statements to run when the condition is false</param> public AlgorithmConditionStatement(AlgorithmExpression condition, AlgorithmStatementCollection trueStatement, AlgorithmStatementCollection falseStatement) { Condition = condition; TrueStatements = trueStatement ?? new AlgorithmStatementCollection(); FalseStatements = falseStatement ?? new AlgorithmStatementCollection(); }