internal Parameter(Declaration declaration, SyntaxNodeList <AttributeNode> attributes, string name, int position, bool variadic) : base(attributes) { Declaration = declaration; Name = name; Position = position; IsVariadic = variadic; }
private protected Metadata(SyntaxNodeList <AttributeNode> nodes) { var attrs = ImmutableArray <Attribute> .Empty; foreach (var attr in nodes) { attrs = attrs.Add(new Attribute(attr.NameToken.Text, attr.ValueToken.Value !)); } Attributes = attrs; }
static SyntaxDiagnostic?CheckDocAttribute(SyntaxNodeList <AttributeNode> attributes, SourceLocation location, string error) { var doc = attributes.LastOrDefault(x => x.NameToken.Text == "doc"); if (doc == null) { return(new SyntaxDiagnostic(location, error)); } var value = doc.ValueToken; return(!value.IsMissing && value.Kind != SyntaxTokenKind.StringLiteral && value.Value != (object)false ? new SyntaxDiagnostic(value.Location, $"The value of the 'doc' attribute must be a string literal or the 'false' Boolean literal") : null); }
internal TryStatementWithCodeAnalysis() { node = new StatementNode <TryStatementWithCodeAnalysis, TryStatementSyntax>(this); catchStatements = new SyntaxNodeList <TryStatementWithCodeAnalysis, TryStatementSyntax, CatchStatementWithCodeAnalysis, CatchClauseSyntax>( node, syntax => syntax.Catches, (parentSyntax, childSyntax) => parentSyntax.WithCatches(childSyntax), () => new CatchStatementWithCodeAnalysis()); finallyStatement = new CachedChildNode <TryStatementWithCodeAnalysis, TryStatementSyntax, FinallyStatementWithCodeAnalysis, FinallyClauseSyntax>( node, () => new FinallyStatementWithCodeAnalysis(), syntax => syntax.Finally, (parentSyntax, childSyntax) => parentSyntax.WithFinally(childSyntax)); tryStatements = new StatementListWrapper <TryStatementWithCodeAnalysis, TryStatementSyntax>( node, syntax => syntax.Block.Statements, (parentSyntax, childSyntax) => parentSyntax.WithBlock(parentSyntax.Block.WithStatements(childSyntax))); }
private QueryExpressionListWrapper( SyntaxNodeList <TParent, TParentSyntax, IInternalQueryExpression, QueryClauseSyntax> list) : base(list, parent => parent, child => child as IInternalQueryExpression) { this.list = list; }
internal SeparatedSyntaxNodeList(SyntaxNodeList <T> nodes, SyntaxTokenList separators) { Nodes = nodes; Separators = separators; }