/// <summary> /// Gets the variables defined by an element with parameters and child statements, such as a method or a constructor. /// </summary> /// <param name="element">The element.</param> /// <param name="parameters">The element's parameters.</param> /// <returns>Returns the variables.</returns> internal static VariableCollection GatherVariablesForElementWithParametersAndChildStatements(Element element, IList <Parameter> parameters) { Param.AssertNotNull(element, "element"); Param.Ignore(parameters); var variables = new VariableCollection(); if (parameters != null && parameters.Count > 0) { for (int i = 0; i < parameters.Count; ++i) { variables.Add(parameters[i]); } } for (VariableDeclarationStatement variableStatement = element.FindFirstChild <VariableDeclarationStatement>(); variableStatement != null; variableStatement = variableStatement.FindNextSibling <VariableDeclarationStatement>()) { variables.AddRange(variableStatement.Variables); } return(variables); }
/// <summary> /// Gets the variables defined by an element with parameters and child statements, such as a method or a constructor. /// </summary> /// <param name="element">The element.</param> /// <param name="parameters">The element's parameters.</param> /// <returns>Returns the variables.</returns> internal static VariableCollection GatherVariablesForElementWithParametersAndChildStatements(Element element, IList<Parameter> parameters) { Param.AssertNotNull(element, "element"); Param.Ignore(parameters); var variables = new VariableCollection(); if (parameters != null && parameters.Count > 0) { for (int i = 0; i < parameters.Count; ++i) { variables.Add(parameters[i]); } } for (VariableDeclarationStatement variableStatement = element.FindFirstChild<VariableDeclarationStatement>(); variableStatement != null; variableStatement = variableStatement.FindNextSibling<VariableDeclarationStatement>()) { variables.AddRange(variableStatement.Variables); } return variables; }