public void AddFormalParameter(FormalParameter formalParameter) { if (formalParameter != null) { ((List <FormalParameter>) this.Parameters).Add(formalParameter); } }
//private string typeParametersAsString(IEnumerable<string> typeParameters) //{ // string typeParamsAsStr = String.Join(",", typeParameters); // return "(" + typeParamsAsStr + ")"; //} public string SpokenText(FormalParameter formalParameter) { if ( formalParameter == null) { return String.Empty; } return formalParameter.ParameterName + $" {rm.GetString("AtLine", CultureInfo.CurrentCulture)} " + formalParameter.Location.StartLineNumber; }
//private string typeParametersAsString(IEnumerable<string> typeParameters) //{ // string typeParamsAsStr = String.Join(",", typeParameters); // return "<" + typeParamsAsStr + ">"; //} //private string formalParametersAsString(IEnumerable<FormalParameter> formalParameters) //{ // string formalParametersAsStr = String.Join(",", formalParameters.Select(fp => SpokenText(fp))); // return "(" + formalParametersAsStr + ")"; //} public string SpokenText(FormalParameter formalParameter) { if (formalParameter == null) { return(String.Empty); } string formalParameterAsStr = formalParameter.Modifiers + " " + formalParameter.TypeName + " " + formalParameter.ParameterName; return(formalParameterAsStr + $" {rm.GetString("AtLine", CultureInfo.CurrentCulture)} " + formalParameter.Location.StartLineNumber); }
public override void VisitParameter(ParameterSyntax node) { FormalParameter fp = CSharpEntityCreationHelper.CreateFormalParameter(node); if (m_currentParent.GetType() == typeof(FunctionDefinition)) { (m_currentParent as FunctionDefinition).AddFormalParameter(fp); } else if (m_currentParent.GetType() == typeof(MemberProperty)) { (m_currentParent as MemberProperty).SoleParameter = fp; } else { String msg = String.Format(CultureInfo.InvariantCulture, "Cannot process parameter if parent is: {0} [{1}]", m_currentParent.Kind, m_currentParent.Name); throw new InvalidOperationException(msg); } base.VisitParameter(node); }
internal static FormalParameter CreateFormalParameter(ParameterSyntax node) { FormalParameter fp = new FormalParameter(node.Type != null ? node.Type.ToFullString().Trim() : String.Empty, node.Identifier.Text); foreach (var modifier in node.Modifiers) { switch (modifier.Kind()) { case SyntaxKind.InKeyword: fp.Modifiers |= ParameterModifiers.In; break; case SyntaxKind.OutKeyword: fp.Modifiers |= ParameterModifiers.Out; break; case SyntaxKind.RefKeyword: fp.Modifiers |= ParameterModifiers.Ref; break; case SyntaxKind.ParamsKeyword: fp.Modifiers |= ParameterModifiers.Params; break; case SyntaxKind.ThisKeyword: fp.Modifiers |= ParameterModifiers.This; break; default: throw new NotSupportedException(String.Format(CultureInfo.InvariantCulture, "Unable to process keyword {0} in parameter declaration {1}", modifier, node.ToString())); } } if (node.Default != null) { fp.DefaultValue = node.Default.Value.ToString(); } return(fp); }
public string SpokenText(FormalParameter formalParameter) { return(m_language.SpokenText(formalParameter)); }