public List <SyntaxToken> FormatParameters(ConstructorSyntax syntax) { List <SyntaxToken> tokens = new List <SyntaxToken>(); List <ParameterDetails> parameters = syntax.GetParameters(); tokens.Add(new SyntaxToken("(", SyntaxTokens.Text)); for (int i = 0; i < parameters.Count; i++) { if (i != 0) { tokens.Add(new SyntaxToken(",\n\t", SyntaxTokens.Text)); } else { tokens.Add(new SyntaxToken("\n\t", SyntaxTokens.Text)); } tokens.AddRange(FormatParameterModifiers(parameters[i])); tokens.Add(new SyntaxToken(parameters[i].Name, SyntaxTokens.Text)); tokens.Add(Constants.Space); tokens.Add(Constants.KeywordAs); tokens.Add(Constants.Space); tokens.AddRange(FormatTypeDetails(parameters[i].TypeDetails)); } if (parameters.Count > 0) { tokens.Add(new SyntaxToken("\n\t", SyntaxTokens.Text)); } tokens.Add(new SyntaxToken(")", SyntaxTokens.Text)); return(tokens); }
public List <SyntaxToken> FormatParameters(ConstructorSyntax syntax) { List <SyntaxToken> tokens = new List <SyntaxToken>(); List <ParameterDetails> parameters = syntax.GetParameters(); tokens.Add(new SyntaxToken("(", SyntaxTokens.Text)); for (int i = 0; i < parameters.Count; i++) { if (i != 0) { tokens.Add(new SyntaxToken($",{Environment.NewLine}\t", SyntaxTokens.Text)); } else { tokens.Add(new SyntaxToken($"{Environment.NewLine}\t", SyntaxTokens.Text)); } // need to check out first as out is also by ref tokens.AddRange(FormatParameterModifiers(parameters[i])); tokens.AddRange(FormatTypeDetails(parameters[i].TypeDetails)); tokens.Add(new SyntaxToken(" ", SyntaxTokens.Text)); tokens.Add(new SyntaxToken(parameters[i].Name, SyntaxTokens.Text)); } if (parameters.Count > 0) { tokens.Add(new SyntaxToken("\n\t", SyntaxTokens.Text)); } tokens.Add(new SyntaxToken(")", SyntaxTokens.Text)); return(tokens); }
public BoundConstructor( List<BoundParameter> boundParameters, BoundScopeStatement boundStatements, ConstructorSyntax syntax) : base(syntax) { Parameter = boundParameters; Statements = boundStatements; }
public SyntaxTokenCollection Format(ConstructorSyntax syntax) { SyntaxTokenCollection tokens = new SyntaxTokenCollection(); SyntaxToken inheritanceModifier = FormatInheritance(syntax); tokens.AddRange(FormatVisibility(syntax)); if (inheritanceModifier != null) { tokens.Add(Constants.Space); tokens.Add(inheritanceModifier); } tokens.Add(Constants.Space); tokens.Add(new SyntaxToken(syntax.GetIdentifier(), SyntaxTokens.Text)); tokens.AddRange(FormatParameters(syntax)); return(tokens); }
public SyntaxToken FormatInheritance(ConstructorSyntax syntax) { return(FormatInheritance(syntax.GetInheritance())); }
public List <SyntaxToken> FormatVisibility(ConstructorSyntax syntax) { return(FormatVisibility(syntax.GetVisibility())); }
public CSharpConstructorFormatter(ConstructorSyntax syntax) { _syntax = syntax; _signiture = syntax.Method.Signiture; }
public virtual void Visit(ConstructorSyntax constructorSyntax) { foreach (var parameterSyntax in constructorSyntax.Parameter) { Visit(parameterSyntax); } Visit(constructorSyntax.Statements); }
private BoundConstructor BindConstructor(ConstructorSyntax syntax) { _contextService.EnterScope(); var boundParameters = syntax.Parameter.Select(BindParameter).ToList(); var boundStatements = BindScope(syntax.Statements); _contextService.ExitScope(); return new BoundConstructor(boundParameters, boundStatements, syntax); }