提交 6be13848 编写于 作者: N Neal Gafter

Rename SubpatternElementSyntax to SubpatternSyntax

上级 1b3b3749
......@@ -746,7 +746,7 @@ private BoundPattern BindVarDesignation(VarPatternSyntax node, VariableDesignati
ref bool hasErrors)
{
var builder = ArrayBuilder<BoundSubpattern>.GetInstance(node.Subpatterns.Count);
foreach (SubpatternElementSyntax p in node.Subpatterns)
foreach (SubpatternSyntax p in node.Subpatterns)
{
IdentifierNameSyntax name = p.NameColon?.Name;
PatternSyntax pattern = p.Pattern;
......
......@@ -11520,7 +11520,7 @@ internal DeconstructionPatternClauseSyntax(SyntaxKind kind, SyntaxToken openPare
}
public SyntaxToken OpenParenToken { get { return this.openParenToken; } }
public Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<SubpatternElementSyntax> Subpatterns { get { return new Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<SubpatternElementSyntax>(new Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList<CSharpSyntaxNode>(this.subpatterns)); } }
public Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<SubpatternSyntax> Subpatterns { get { return new Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<SubpatternSyntax>(new Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList<CSharpSyntaxNode>(this.subpatterns)); } }
public SyntaxToken CloseParenToken { get { return this.closeParenToken; } }
internal override GreenNode GetSlot(int index)
......@@ -11549,7 +11549,7 @@ public override void Accept(CSharpSyntaxVisitor visitor)
visitor.VisitDeconstructionPatternClause(this);
}
public DeconstructionPatternClauseSyntax Update(SyntaxToken openParenToken, Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<SubpatternElementSyntax> subpatterns, SyntaxToken closeParenToken)
public DeconstructionPatternClauseSyntax Update(SyntaxToken openParenToken, Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<SubpatternSyntax> subpatterns, SyntaxToken closeParenToken)
{
if (openParenToken != this.OpenParenToken || subpatterns != this.Subpatterns || closeParenToken != this.CloseParenToken)
{
......@@ -11669,7 +11669,7 @@ internal PropertyPatternClauseSyntax(SyntaxKind kind, SyntaxToken openBraceToken
}
public SyntaxToken OpenBraceToken { get { return this.openBraceToken; } }
public Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<SubpatternElementSyntax> Subpatterns { get { return new Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<SubpatternElementSyntax>(new Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList<CSharpSyntaxNode>(this.subpatterns)); } }
public Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<SubpatternSyntax> Subpatterns { get { return new Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<SubpatternSyntax>(new Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList<CSharpSyntaxNode>(this.subpatterns)); } }
public SyntaxToken CloseBraceToken { get { return this.closeBraceToken; } }
internal override GreenNode GetSlot(int index)
......@@ -11698,7 +11698,7 @@ public override void Accept(CSharpSyntaxVisitor visitor)
visitor.VisitPropertyPatternClause(this);
}
public PropertyPatternClauseSyntax Update(SyntaxToken openBraceToken, Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<SubpatternElementSyntax> subpatterns, SyntaxToken closeBraceToken)
public PropertyPatternClauseSyntax Update(SyntaxToken openBraceToken, Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<SubpatternSyntax> subpatterns, SyntaxToken closeBraceToken)
{
if (openBraceToken != this.OpenBraceToken || subpatterns != this.Subpatterns || closeBraceToken != this.CloseBraceToken)
{
......@@ -11763,12 +11763,12 @@ static PropertyPatternClauseSyntax()
}
}
internal sealed partial class SubpatternElementSyntax : CSharpSyntaxNode
internal sealed partial class SubpatternSyntax : CSharpSyntaxNode
{
internal readonly NameColonSyntax nameColon;
internal readonly PatternSyntax pattern;
internal SubpatternElementSyntax(SyntaxKind kind, NameColonSyntax nameColon, PatternSyntax pattern, DiagnosticInfo[] diagnostics, SyntaxAnnotation[] annotations)
internal SubpatternSyntax(SyntaxKind kind, NameColonSyntax nameColon, PatternSyntax pattern, DiagnosticInfo[] diagnostics, SyntaxAnnotation[] annotations)
: base(kind, diagnostics, annotations)
{
this.SlotCount = 2;
......@@ -11782,7 +11782,7 @@ internal SubpatternElementSyntax(SyntaxKind kind, NameColonSyntax nameColon, Pat
}
internal SubpatternElementSyntax(SyntaxKind kind, NameColonSyntax nameColon, PatternSyntax pattern, SyntaxFactoryContext context)
internal SubpatternSyntax(SyntaxKind kind, NameColonSyntax nameColon, PatternSyntax pattern, SyntaxFactoryContext context)
: base(kind)
{
this.SetFactoryContext(context);
......@@ -11797,7 +11797,7 @@ internal SubpatternElementSyntax(SyntaxKind kind, NameColonSyntax nameColon, Pat
}
internal SubpatternElementSyntax(SyntaxKind kind, NameColonSyntax nameColon, PatternSyntax pattern)
internal SubpatternSyntax(SyntaxKind kind, NameColonSyntax nameColon, PatternSyntax pattern)
: base(kind)
{
this.SlotCount = 2;
......@@ -11825,24 +11825,24 @@ internal override GreenNode GetSlot(int index)
internal override SyntaxNode CreateRed(SyntaxNode parent, int position)
{
return new CSharp.Syntax.SubpatternElementSyntax(this, parent, position);
return new CSharp.Syntax.SubpatternSyntax(this, parent, position);
}
public override TResult Accept<TResult>(CSharpSyntaxVisitor<TResult> visitor)
{
return visitor.VisitSubpatternElement(this);
return visitor.VisitSubpattern(this);
}
public override void Accept(CSharpSyntaxVisitor visitor)
{
visitor.VisitSubpatternElement(this);
visitor.VisitSubpattern(this);
}
public SubpatternElementSyntax Update(NameColonSyntax nameColon, PatternSyntax pattern)
public SubpatternSyntax Update(NameColonSyntax nameColon, PatternSyntax pattern)
{
if (nameColon != this.NameColon || pattern != this.Pattern)
{
var newNode = SyntaxFactory.SubpatternElement(nameColon, pattern);
var newNode = SyntaxFactory.Subpattern(nameColon, pattern);
var diags = this.GetDiagnostics();
if (diags != null && diags.Length > 0)
newNode = newNode.WithDiagnosticsGreen(diags);
......@@ -11857,15 +11857,15 @@ public SubpatternElementSyntax Update(NameColonSyntax nameColon, PatternSyntax p
internal override GreenNode SetDiagnostics(DiagnosticInfo[] diagnostics)
{
return new SubpatternElementSyntax(this.Kind, this.nameColon, this.pattern, diagnostics, GetAnnotations());
return new SubpatternSyntax(this.Kind, this.nameColon, this.pattern, diagnostics, GetAnnotations());
}
internal override GreenNode SetAnnotations(SyntaxAnnotation[] annotations)
{
return new SubpatternElementSyntax(this.Kind, this.nameColon, this.pattern, GetDiagnostics(), annotations);
return new SubpatternSyntax(this.Kind, this.nameColon, this.pattern, GetDiagnostics(), annotations);
}
internal SubpatternElementSyntax(ObjectReader reader)
internal SubpatternSyntax(ObjectReader reader)
: base(reader)
{
this.SlotCount = 2;
......@@ -11890,9 +11890,9 @@ internal override void WriteTo(ObjectWriter writer)
writer.WriteValue(this.pattern);
}
static SubpatternElementSyntax()
static SubpatternSyntax()
{
ObjectBinder.RegisterTypeReader(typeof(SubpatternElementSyntax), r => new SubpatternElementSyntax(r));
ObjectBinder.RegisterTypeReader(typeof(SubpatternSyntax), r => new SubpatternSyntax(r));
}
}
......@@ -35419,7 +35419,7 @@ public virtual TResult VisitPropertyPatternClause(PropertyPatternClauseSyntax no
return this.DefaultVisit(node);
}
public virtual TResult VisitSubpatternElement(SubpatternElementSyntax node)
public virtual TResult VisitSubpattern(SubpatternSyntax node)
{
return this.DefaultVisit(node);
}
......@@ -36488,7 +36488,7 @@ public virtual void VisitPropertyPatternClause(PropertyPatternClauseSyntax node)
this.DefaultVisit(node);
}
public virtual void VisitSubpatternElement(SubpatternElementSyntax node)
public virtual void VisitSubpattern(SubpatternSyntax node)
{
this.DefaultVisit(node);
}
......@@ -37783,7 +37783,7 @@ public override CSharpSyntaxNode VisitPropertyPatternClause(PropertyPatternClaus
return node.Update(openBraceToken, subpatterns, closeBraceToken);
}
public override CSharpSyntaxNode VisitSubpatternElement(SubpatternElementSyntax node)
public override CSharpSyntaxNode VisitSubpattern(SubpatternSyntax node)
{
var nameColon = (NameColonSyntax)this.Visit(node.NameColon);
var pattern = (PatternSyntax)this.Visit(node.Pattern);
......@@ -41561,7 +41561,7 @@ public RecursivePatternSyntax RecursivePattern(TypeSyntax type, DeconstructionPa
return new RecursivePatternSyntax(SyntaxKind.RecursivePattern, type, deconstructionPatternClause, propertyPatternClause, designation, this.context);
}
public DeconstructionPatternClauseSyntax DeconstructionPatternClause(SyntaxToken openParenToken, Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<SubpatternElementSyntax> subpatterns, SyntaxToken closeParenToken)
public DeconstructionPatternClauseSyntax DeconstructionPatternClause(SyntaxToken openParenToken, Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<SubpatternSyntax> subpatterns, SyntaxToken closeParenToken)
{
#if DEBUG
if (openParenToken == null)
......@@ -41597,7 +41597,7 @@ public DeconstructionPatternClauseSyntax DeconstructionPatternClause(SyntaxToken
return result;
}
public PropertyPatternClauseSyntax PropertyPatternClause(SyntaxToken openBraceToken, Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<SubpatternElementSyntax> subpatterns, SyntaxToken closeBraceToken)
public PropertyPatternClauseSyntax PropertyPatternClause(SyntaxToken openBraceToken, Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<SubpatternSyntax> subpatterns, SyntaxToken closeBraceToken)
{
#if DEBUG
if (openBraceToken == null)
......@@ -41633,7 +41633,7 @@ public PropertyPatternClauseSyntax PropertyPatternClause(SyntaxToken openBraceTo
return result;
}
public SubpatternElementSyntax SubpatternElement(NameColonSyntax nameColon, PatternSyntax pattern)
public SubpatternSyntax Subpattern(NameColonSyntax nameColon, PatternSyntax pattern)
{
#if DEBUG
if (pattern == null)
......@@ -41641,10 +41641,10 @@ public SubpatternElementSyntax SubpatternElement(NameColonSyntax nameColon, Patt
#endif
int hash;
var cached = CSharpSyntaxNodeCache.TryGetNode((int)SyntaxKind.SubpatternElement, nameColon, pattern, this.context, out hash);
if (cached != null) return (SubpatternElementSyntax)cached;
var cached = CSharpSyntaxNodeCache.TryGetNode((int)SyntaxKind.Subpattern, nameColon, pattern, this.context, out hash);
if (cached != null) return (SubpatternSyntax)cached;
var result = new SubpatternElementSyntax(SyntaxKind.SubpatternElement, nameColon, pattern, this.context);
var result = new SubpatternSyntax(SyntaxKind.Subpattern, nameColon, pattern, this.context);
if (hash >= 0)
{
SyntaxNodeCache.AddNode(result, hash);
......@@ -48742,7 +48742,7 @@ public static RecursivePatternSyntax RecursivePattern(TypeSyntax type, Deconstru
return new RecursivePatternSyntax(SyntaxKind.RecursivePattern, type, deconstructionPatternClause, propertyPatternClause, designation);
}
public static DeconstructionPatternClauseSyntax DeconstructionPatternClause(SyntaxToken openParenToken, Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<SubpatternElementSyntax> subpatterns, SyntaxToken closeParenToken)
public static DeconstructionPatternClauseSyntax DeconstructionPatternClause(SyntaxToken openParenToken, Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<SubpatternSyntax> subpatterns, SyntaxToken closeParenToken)
{
#if DEBUG
if (openParenToken == null)
......@@ -48778,7 +48778,7 @@ public static DeconstructionPatternClauseSyntax DeconstructionPatternClause(Synt
return result;
}
public static PropertyPatternClauseSyntax PropertyPatternClause(SyntaxToken openBraceToken, Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<SubpatternElementSyntax> subpatterns, SyntaxToken closeBraceToken)
public static PropertyPatternClauseSyntax PropertyPatternClause(SyntaxToken openBraceToken, Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<SubpatternSyntax> subpatterns, SyntaxToken closeBraceToken)
{
#if DEBUG
if (openBraceToken == null)
......@@ -48814,7 +48814,7 @@ public static PropertyPatternClauseSyntax PropertyPatternClause(SyntaxToken open
return result;
}
public static SubpatternElementSyntax SubpatternElement(NameColonSyntax nameColon, PatternSyntax pattern)
public static SubpatternSyntax Subpattern(NameColonSyntax nameColon, PatternSyntax pattern)
{
#if DEBUG
if (pattern == null)
......@@ -48822,10 +48822,10 @@ public static SubpatternElementSyntax SubpatternElement(NameColonSyntax nameColo
#endif
int hash;
var cached = SyntaxNodeCache.TryGetNode((int)SyntaxKind.SubpatternElement, nameColon, pattern, out hash);
if (cached != null) return (SubpatternElementSyntax)cached;
var cached = SyntaxNodeCache.TryGetNode((int)SyntaxKind.Subpattern, nameColon, pattern, out hash);
if (cached != null) return (SubpatternSyntax)cached;
var result = new SubpatternElementSyntax(SyntaxKind.SubpatternElement, nameColon, pattern);
var result = new SubpatternSyntax(SyntaxKind.Subpattern, nameColon, pattern);
if (hash >= 0)
{
SyntaxNodeCache.AddNode(result, hash);
......@@ -53430,7 +53430,7 @@ internal static IEnumerable<Type> GetNodeTypes()
typeof(RecursivePatternSyntax),
typeof(DeconstructionPatternClauseSyntax),
typeof(PropertyPatternClauseSyntax),
typeof(SubpatternElementSyntax),
typeof(SubpatternSyntax),
typeof(ConstantPatternSyntax),
typeof(InterpolatedStringTextSyntax),
typeof(InterpolationSyntax),
......@@ -496,8 +496,8 @@ public virtual TResult VisitPropertyPatternClause(PropertyPatternClauseSyntax no
return this.DefaultVisit(node);
}
/// <summary>Called when the visitor visits a SubpatternElementSyntax node.</summary>
public virtual TResult VisitSubpatternElement(SubpatternElementSyntax node)
/// <summary>Called when the visitor visits a SubpatternSyntax node.</summary>
public virtual TResult VisitSubpattern(SubpatternSyntax node)
{
return this.DefaultVisit(node);
}
......@@ -1777,8 +1777,8 @@ public virtual void VisitPropertyPatternClause(PropertyPatternClauseSyntax node)
this.DefaultVisit(node);
}
/// <summary>Called when the visitor visits a SubpatternElementSyntax node.</summary>
public virtual void VisitSubpatternElement(SubpatternElementSyntax node)
/// <summary>Called when the visitor visits a SubpatternSyntax node.</summary>
public virtual void VisitSubpattern(SubpatternSyntax node)
{
this.DefaultVisit(node);
}
......@@ -3205,7 +3205,7 @@ public override SyntaxNode VisitPropertyPatternClause(PropertyPatternClauseSynta
return node.Update(openBraceToken, subpatterns, closeBraceToken);
}
public override SyntaxNode VisitSubpatternElement(SubpatternElementSyntax node)
public override SyntaxNode VisitSubpattern(SubpatternSyntax node)
{
var nameColon = (NameColonSyntax)this.Visit(node.NameColon);
var pattern = (PatternSyntax)this.Visit(node.Pattern);
......@@ -6812,7 +6812,7 @@ public static RecursivePatternSyntax RecursivePattern()
}
/// <summary>Creates a new DeconstructionPatternClauseSyntax instance.</summary>
public static DeconstructionPatternClauseSyntax DeconstructionPatternClause(SyntaxToken openParenToken, SeparatedSyntaxList<SubpatternElementSyntax> subpatterns, SyntaxToken closeParenToken)
public static DeconstructionPatternClauseSyntax DeconstructionPatternClause(SyntaxToken openParenToken, SeparatedSyntaxList<SubpatternSyntax> subpatterns, SyntaxToken closeParenToken)
{
switch (openParenToken.Kind())
{
......@@ -6828,18 +6828,18 @@ public static DeconstructionPatternClauseSyntax DeconstructionPatternClause(Synt
default:
throw new ArgumentException("closeParenToken");
}
return (DeconstructionPatternClauseSyntax)Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory.DeconstructionPatternClause((Syntax.InternalSyntax.SyntaxToken)openParenToken.Node, subpatterns.Node.ToGreenSeparatedList<Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SubpatternElementSyntax>(), (Syntax.InternalSyntax.SyntaxToken)closeParenToken.Node).CreateRed();
return (DeconstructionPatternClauseSyntax)Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory.DeconstructionPatternClause((Syntax.InternalSyntax.SyntaxToken)openParenToken.Node, subpatterns.Node.ToGreenSeparatedList<Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SubpatternSyntax>(), (Syntax.InternalSyntax.SyntaxToken)closeParenToken.Node).CreateRed();
}
/// <summary>Creates a new DeconstructionPatternClauseSyntax instance.</summary>
public static DeconstructionPatternClauseSyntax DeconstructionPatternClause(SeparatedSyntaxList<SubpatternElementSyntax> subpatterns = default(SeparatedSyntaxList<SubpatternElementSyntax>))
public static DeconstructionPatternClauseSyntax DeconstructionPatternClause(SeparatedSyntaxList<SubpatternSyntax> subpatterns = default(SeparatedSyntaxList<SubpatternSyntax>))
{
return SyntaxFactory.DeconstructionPatternClause(SyntaxFactory.Token(SyntaxKind.OpenParenToken), subpatterns, SyntaxFactory.Token(SyntaxKind.CloseParenToken));
}
/// <summary>Creates a new PropertyPatternClauseSyntax instance.</summary>
public static PropertyPatternClauseSyntax PropertyPatternClause(SyntaxToken openBraceToken, SeparatedSyntaxList<SubpatternElementSyntax> subpatterns, SyntaxToken closeBraceToken)
public static PropertyPatternClauseSyntax PropertyPatternClause(SyntaxToken openBraceToken, SeparatedSyntaxList<SubpatternSyntax> subpatterns, SyntaxToken closeBraceToken)
{
switch (openBraceToken.Kind())
{
......@@ -6855,29 +6855,29 @@ public static PropertyPatternClauseSyntax PropertyPatternClause(SyntaxToken open
default:
throw new ArgumentException("closeBraceToken");
}
return (PropertyPatternClauseSyntax)Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory.PropertyPatternClause((Syntax.InternalSyntax.SyntaxToken)openBraceToken.Node, subpatterns.Node.ToGreenSeparatedList<Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SubpatternElementSyntax>(), (Syntax.InternalSyntax.SyntaxToken)closeBraceToken.Node).CreateRed();
return (PropertyPatternClauseSyntax)Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory.PropertyPatternClause((Syntax.InternalSyntax.SyntaxToken)openBraceToken.Node, subpatterns.Node.ToGreenSeparatedList<Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SubpatternSyntax>(), (Syntax.InternalSyntax.SyntaxToken)closeBraceToken.Node).CreateRed();
}
/// <summary>Creates a new PropertyPatternClauseSyntax instance.</summary>
public static PropertyPatternClauseSyntax PropertyPatternClause(SeparatedSyntaxList<SubpatternElementSyntax> subpatterns = default(SeparatedSyntaxList<SubpatternElementSyntax>))
public static PropertyPatternClauseSyntax PropertyPatternClause(SeparatedSyntaxList<SubpatternSyntax> subpatterns = default(SeparatedSyntaxList<SubpatternSyntax>))
{
return SyntaxFactory.PropertyPatternClause(SyntaxFactory.Token(SyntaxKind.OpenBraceToken), subpatterns, SyntaxFactory.Token(SyntaxKind.CloseBraceToken));
}
/// <summary>Creates a new SubpatternElementSyntax instance.</summary>
public static SubpatternElementSyntax SubpatternElement(NameColonSyntax nameColon, PatternSyntax pattern)
/// <summary>Creates a new SubpatternSyntax instance.</summary>
public static SubpatternSyntax Subpattern(NameColonSyntax nameColon, PatternSyntax pattern)
{
if (pattern == null)
throw new ArgumentNullException(nameof(pattern));
return (SubpatternElementSyntax)Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory.SubpatternElement(nameColon == null ? null : (Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.NameColonSyntax)nameColon.Green, pattern == null ? null : (Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.PatternSyntax)pattern.Green).CreateRed();
return (SubpatternSyntax)Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory.Subpattern(nameColon == null ? null : (Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.NameColonSyntax)nameColon.Green, pattern == null ? null : (Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.PatternSyntax)pattern.Green).CreateRed();
}
/// <summary>Creates a new SubpatternElementSyntax instance.</summary>
public static SubpatternElementSyntax SubpatternElement(PatternSyntax pattern)
/// <summary>Creates a new SubpatternSyntax instance.</summary>
public static SubpatternSyntax Subpattern(PatternSyntax pattern)
{
return SyntaxFactory.SubpatternElement(default(NameColonSyntax), pattern);
return SyntaxFactory.Subpattern(default(NameColonSyntax), pattern);
}
/// <summary>Creates a new ConstantPatternSyntax instance.</summary>
......
......@@ -7154,13 +7154,13 @@ public RecursivePatternSyntax WithDesignation(VariableDesignationSyntax designat
return this.Update(this.Type, this.DeconstructionPatternClause, this.PropertyPatternClause, designation);
}
public RecursivePatternSyntax AddDeconstructionPatternClauseSubpatterns(params SubpatternElementSyntax[] items)
public RecursivePatternSyntax AddDeconstructionPatternClauseSubpatterns(params SubpatternSyntax[] items)
{
var deconstructionPatternClause = this.DeconstructionPatternClause ?? SyntaxFactory.DeconstructionPatternClause();
return this.WithDeconstructionPatternClause(deconstructionPatternClause.WithSubpatterns(deconstructionPatternClause.Subpatterns.AddRange(items)));
}
public RecursivePatternSyntax AddPropertyPatternClauseSubpatterns(params SubpatternElementSyntax[] items)
public RecursivePatternSyntax AddPropertyPatternClauseSubpatterns(params SubpatternSyntax[] items)
{
var propertyPatternClause = this.PropertyPatternClause ?? SyntaxFactory.PropertyPatternClause();
return this.WithPropertyPatternClause(propertyPatternClause.WithSubpatterns(propertyPatternClause.Subpatterns.AddRange(items)));
......@@ -7181,15 +7181,15 @@ public SyntaxToken OpenParenToken
get { return new SyntaxToken(this, ((Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DeconstructionPatternClauseSyntax)this.Green).openParenToken, this.Position, 0); }
}
public SeparatedSyntaxList<SubpatternElementSyntax> Subpatterns
public SeparatedSyntaxList<SubpatternSyntax> Subpatterns
{
get
{
var red = this.GetRed(ref this.subpatterns, 1);
if (red != null)
return new SeparatedSyntaxList<SubpatternElementSyntax>(red, this.GetChildIndex(1));
return new SeparatedSyntaxList<SubpatternSyntax>(red, this.GetChildIndex(1));
return default(SeparatedSyntaxList<SubpatternElementSyntax>);
return default(SeparatedSyntaxList<SubpatternSyntax>);
}
}
......@@ -7225,7 +7225,7 @@ public override void Accept(CSharpSyntaxVisitor visitor)
visitor.VisitDeconstructionPatternClause(this);
}
public DeconstructionPatternClauseSyntax Update(SyntaxToken openParenToken, SeparatedSyntaxList<SubpatternElementSyntax> subpatterns, SyntaxToken closeParenToken)
public DeconstructionPatternClauseSyntax Update(SyntaxToken openParenToken, SeparatedSyntaxList<SubpatternSyntax> subpatterns, SyntaxToken closeParenToken)
{
if (openParenToken != this.OpenParenToken || subpatterns != this.Subpatterns || closeParenToken != this.CloseParenToken)
{
......@@ -7244,7 +7244,7 @@ public DeconstructionPatternClauseSyntax WithOpenParenToken(SyntaxToken openPare
return this.Update(openParenToken, this.Subpatterns, this.CloseParenToken);
}
public DeconstructionPatternClauseSyntax WithSubpatterns(SeparatedSyntaxList<SubpatternElementSyntax> subpatterns)
public DeconstructionPatternClauseSyntax WithSubpatterns(SeparatedSyntaxList<SubpatternSyntax> subpatterns)
{
return this.Update(this.OpenParenToken, subpatterns, this.CloseParenToken);
}
......@@ -7254,7 +7254,7 @@ public DeconstructionPatternClauseSyntax WithCloseParenToken(SyntaxToken closePa
return this.Update(this.OpenParenToken, this.Subpatterns, closeParenToken);
}
public DeconstructionPatternClauseSyntax AddSubpatterns(params SubpatternElementSyntax[] items)
public DeconstructionPatternClauseSyntax AddSubpatterns(params SubpatternSyntax[] items)
{
return this.WithSubpatterns(this.Subpatterns.AddRange(items));
}
......@@ -7274,15 +7274,15 @@ public SyntaxToken OpenBraceToken
get { return new SyntaxToken(this, ((Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.PropertyPatternClauseSyntax)this.Green).openBraceToken, this.Position, 0); }
}
public SeparatedSyntaxList<SubpatternElementSyntax> Subpatterns
public SeparatedSyntaxList<SubpatternSyntax> Subpatterns
{
get
{
var red = this.GetRed(ref this.subpatterns, 1);
if (red != null)
return new SeparatedSyntaxList<SubpatternElementSyntax>(red, this.GetChildIndex(1));
return new SeparatedSyntaxList<SubpatternSyntax>(red, this.GetChildIndex(1));
return default(SeparatedSyntaxList<SubpatternElementSyntax>);
return default(SeparatedSyntaxList<SubpatternSyntax>);
}
}
......@@ -7318,7 +7318,7 @@ public override void Accept(CSharpSyntaxVisitor visitor)
visitor.VisitPropertyPatternClause(this);
}
public PropertyPatternClauseSyntax Update(SyntaxToken openBraceToken, SeparatedSyntaxList<SubpatternElementSyntax> subpatterns, SyntaxToken closeBraceToken)
public PropertyPatternClauseSyntax Update(SyntaxToken openBraceToken, SeparatedSyntaxList<SubpatternSyntax> subpatterns, SyntaxToken closeBraceToken)
{
if (openBraceToken != this.OpenBraceToken || subpatterns != this.Subpatterns || closeBraceToken != this.CloseBraceToken)
{
......@@ -7337,7 +7337,7 @@ public PropertyPatternClauseSyntax WithOpenBraceToken(SyntaxToken openBraceToken
return this.Update(openBraceToken, this.Subpatterns, this.CloseBraceToken);
}
public PropertyPatternClauseSyntax WithSubpatterns(SeparatedSyntaxList<SubpatternElementSyntax> subpatterns)
public PropertyPatternClauseSyntax WithSubpatterns(SeparatedSyntaxList<SubpatternSyntax> subpatterns)
{
return this.Update(this.OpenBraceToken, subpatterns, this.CloseBraceToken);
}
......@@ -7347,18 +7347,18 @@ public PropertyPatternClauseSyntax WithCloseBraceToken(SyntaxToken closeBraceTok
return this.Update(this.OpenBraceToken, this.Subpatterns, closeBraceToken);
}
public PropertyPatternClauseSyntax AddSubpatterns(params SubpatternElementSyntax[] items)
public PropertyPatternClauseSyntax AddSubpatterns(params SubpatternSyntax[] items)
{
return this.WithSubpatterns(this.Subpatterns.AddRange(items));
}
}
public sealed partial class SubpatternElementSyntax : CSharpSyntaxNode
public sealed partial class SubpatternSyntax : CSharpSyntaxNode
{
private NameColonSyntax nameColon;
private PatternSyntax pattern;
internal SubpatternElementSyntax(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.CSharpSyntaxNode green, SyntaxNode parent, int position)
internal SubpatternSyntax(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.CSharpSyntaxNode green, SyntaxNode parent, int position)
: base(green, parent, position)
{
}
......@@ -7400,19 +7400,19 @@ internal override SyntaxNode GetCachedSlot(int index)
public override TResult Accept<TResult>(CSharpSyntaxVisitor<TResult> visitor)
{
return visitor.VisitSubpatternElement(this);
return visitor.VisitSubpattern(this);
}
public override void Accept(CSharpSyntaxVisitor visitor)
{
visitor.VisitSubpatternElement(this);
visitor.VisitSubpattern(this);
}
public SubpatternElementSyntax Update(NameColonSyntax nameColon, PatternSyntax pattern)
public SubpatternSyntax Update(NameColonSyntax nameColon, PatternSyntax pattern)
{
if (nameColon != this.NameColon || pattern != this.Pattern)
{
var newNode = SyntaxFactory.SubpatternElement(nameColon, pattern);
var newNode = SyntaxFactory.Subpattern(nameColon, pattern);
var annotations = this.GetAnnotations();
if (annotations != null && annotations.Length > 0)
return newNode.WithAnnotations(annotations);
......@@ -7422,12 +7422,12 @@ public SubpatternElementSyntax Update(NameColonSyntax nameColon, PatternSyntax p
return this;
}
public SubpatternElementSyntax WithNameColon(NameColonSyntax nameColon)
public SubpatternSyntax WithNameColon(NameColonSyntax nameColon)
{
return this.Update(nameColon, this.Pattern);
}
public SubpatternElementSyntax WithPattern(PatternSyntax pattern)
public SubpatternSyntax WithPattern(PatternSyntax pattern)
{
return this.Update(this.NameColon, pattern);
}
......
......@@ -24,7 +24,7 @@
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("ApiDesign", "RS0027:Public API with optional parameter(s) should have the most parameters amongst its public overloads.", Justification = "<Pending>", Scope = "member", Target = "~M:Microsoft.CodeAnalysis.CSharp.SyntaxFactory.ParenthesizedVariableDesignation(Microsoft.CodeAnalysis.SeparatedSyntaxList{Microsoft.CodeAnalysis.CSharp.Syntax.VariableDesignationSyntax})~Microsoft.CodeAnalysis.CSharp.Syntax.ParenthesizedVariableDesignationSyntax")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "<Pending>", Scope = "member", Target = "~M:Microsoft.CodeAnalysis.CSharp.CSharpExtensions.GetDeclaredSymbol(Microsoft.CodeAnalysis.SemanticModel,Microsoft.CodeAnalysis.CSharp.Syntax.TupleExpressionSyntax,System.Threading.CancellationToken)~Microsoft.CodeAnalysis.INamedTypeSymbol")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "<Pending>", Scope = "member", Target = "~M:Microsoft.CodeAnalysis.CSharp.CSharpExtensions.GetDeclaredSymbol(Microsoft.CodeAnalysis.SemanticModel,Microsoft.CodeAnalysis.CSharp.Syntax.ArgumentSyntax,System.Threading.CancellationToken)~Microsoft.CodeAnalysis.ISymbol")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("ApiDesign", "RS0027:Public API with optional parameter(s) should have the most parameters amongst its public overloads.", Justification = "<Pending>", Scope = "member", Target = "~M:Microsoft.CodeAnalysis.CSharp.SyntaxFactory.DeconstructionPattern(Microsoft.CodeAnalysis.SeparatedSyntaxList{Microsoft.CodeAnalysis.CSharp.Syntax.SubpatternElementSyntax})~Microsoft.CodeAnalysis.CSharp.Syntax.DeconstructionPatternSyntax")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("ApiDesign", "RS0027:Public API with optional parameter(s) should have the most parameters amongst its public overloads.", Justification = "<Pending>", Scope = "member", Target = "~M:Microsoft.CodeAnalysis.CSharp.SyntaxFactory.PropertyPatternClause(Microsoft.CodeAnalysis.SeparatedSyntaxList{Microsoft.CodeAnalysis.CSharp.Syntax.SubpatternElementSyntax})~Microsoft.CodeAnalysis.CSharp.Syntax.PropertyPatternClauseSyntax")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("ApiDesign", "RS0027:Public API with optional parameter(s) should have the most parameters amongst its public overloads.", Justification = "<Pending>", Scope = "member", Target = "~M:Microsoft.CodeAnalysis.CSharp.SyntaxFactory.DeconstructionPatternClause(Microsoft.CodeAnalysis.SeparatedSyntaxList{Microsoft.CodeAnalysis.CSharp.Syntax.SubpatternElementSyntax})~Microsoft.CodeAnalysis.CSharp.Syntax.DeconstructionPatternClauseSyntax")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("ApiDesign", "RS0027:Public API with optional parameter(s) should have the most parameters amongst its public overloads.", Justification = "<Pending>", Scope = "member", Target = "~M:Microsoft.CodeAnalysis.CSharp.SyntaxFactory.DeconstructionPattern(Microsoft.CodeAnalysis.SeparatedSyntaxList{Microsoft.CodeAnalysis.CSharp.Syntax.SubpatternSyntax})~Microsoft.CodeAnalysis.CSharp.Syntax.DeconstructionPatternSyntax")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("ApiDesign", "RS0027:Public API with optional parameter(s) should have the most parameters amongst its public overloads.", Justification = "<Pending>", Scope = "member", Target = "~M:Microsoft.CodeAnalysis.CSharp.SyntaxFactory.PropertyPatternClause(Microsoft.CodeAnalysis.SeparatedSyntaxList{Microsoft.CodeAnalysis.CSharp.Syntax.SubpatternSyntax})~Microsoft.CodeAnalysis.CSharp.Syntax.PropertyPatternClauseSyntax")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("ApiDesign", "RS0027:Public API with optional parameter(s) should have the most parameters amongst its public overloads.", Justification = "<Pending>", Scope = "member", Target = "~M:Microsoft.CodeAnalysis.CSharp.SyntaxFactory.DeconstructionPatternClause(Microsoft.CodeAnalysis.SeparatedSyntaxList{Microsoft.CodeAnalysis.CSharp.Syntax.SubpatternSyntax})~Microsoft.CodeAnalysis.CSharp.Syntax.DeconstructionPatternClauseSyntax")]
......@@ -478,7 +478,7 @@ bool looksLikeCast()
// We normalize later.
ParseSubpatternList(
openToken: out SyntaxToken openParenToken,
subPatterns: out SeparatedSyntaxList<SubpatternElementSyntax> subPatterns,
subPatterns: out SeparatedSyntaxList<SubpatternSyntax> subPatterns,
closeToken: out SyntaxToken closeParenToken,
openKind: SyntaxKind.OpenParenToken,
closeKind: SyntaxKind.CloseParenToken);
......@@ -501,8 +501,8 @@ bool looksLikeCast()
}
}
var deconstructopnPatternClause = _syntaxFactory.DeconstructionPatternClause(openParenToken, subPatterns, closeParenToken);
var result = _syntaxFactory.RecursivePattern(type, deconstructopnPatternClause, propertyPatternClause0, designation0);
var deconstructionPatternClause = _syntaxFactory.DeconstructionPatternClause(openParenToken, subPatterns, closeParenToken);
var result = _syntaxFactory.RecursivePattern(type, deconstructionPatternClause, propertyPatternClause0, designation0);
// 2017-11-20 LDM decision is to disallow a deconstruction pattern that contains just a
// single subpattern but for which the type is omitted.
......@@ -544,7 +544,7 @@ private PropertyPatternClauseSyntax ParsePropertyPatternClause()
{
ParseSubpatternList(
openToken: out SyntaxToken openBraceToken,
subPatterns: out SeparatedSyntaxList<SubpatternElementSyntax> subPatterns,
subPatterns: out SeparatedSyntaxList<SubpatternSyntax> subPatterns,
closeToken: out SyntaxToken closeBraceToken,
openKind: SyntaxKind.OpenBraceToken,
closeKind: SyntaxKind.CloseBraceToken);
......@@ -553,7 +553,7 @@ private PropertyPatternClauseSyntax ParsePropertyPatternClause()
private void ParseSubpatternList(
out SyntaxToken openToken,
out SeparatedSyntaxList<SubpatternElementSyntax> subPatterns,
out SeparatedSyntaxList<SubpatternSyntax> subPatterns,
out SyntaxToken closeToken,
SyntaxKind openKind,
SyntaxKind closeKind)
......@@ -564,7 +564,7 @@ private PropertyPatternClauseSyntax ParsePropertyPatternClause()
Debug.Assert(openKind == this.CurrentToken.Kind);
openToken = this.EatToken(openKind);
var list = _pool.AllocateSeparated<SubpatternElementSyntax>();
var list = _pool.AllocateSeparated<SubpatternSyntax>();
try
{
tryAgain:
......@@ -610,7 +610,7 @@ private PropertyPatternClauseSyntax ParsePropertyPatternClause()
}
}
private SubpatternElementSyntax ParseSubpatternElement()
private SubpatternSyntax ParseSubpatternElement()
{
NameColonSyntax nameColon = null;
if (this.CurrentToken.Kind == SyntaxKind.IdentifierToken && this.PeekToken(1).Kind == SyntaxKind.ColonToken)
......@@ -621,7 +621,7 @@ private SubpatternElementSyntax ParseSubpatternElement()
}
var pattern = ParsePattern(Precedence.Ternary);
return this._syntaxFactory.SubpatternElement(nameColon, pattern);
return this._syntaxFactory.Subpattern(nameColon, pattern);
}
/// <summary>
......@@ -641,7 +641,7 @@ private bool IsPossibleSubpatternElement()
private PostSkipAction SkipBadPatternListTokens(
ref SyntaxToken open,
SeparatedSyntaxListBuilder<SubpatternElementSyntax> list,
SeparatedSyntaxListBuilder<SubpatternSyntax> list,
SyntaxKind expected,
SyntaxKind closeKind)
{
......
......@@ -1791,7 +1791,7 @@
<Field Name="OpenParenToken" Type="SyntaxToken">
<Kind Name="OpenParenToken"/>
</Field>
<Field Name="Subpatterns" Type="SeparatedSyntaxList&lt;SubpatternElementSyntax&gt;"/>
<Field Name="Subpatterns" Type="SeparatedSyntaxList&lt;SubpatternSyntax&gt;"/>
<Field Name="CloseParenToken" Type="SyntaxToken">
<Kind Name="CloseParenToken"/>
</Field>
......@@ -1801,13 +1801,13 @@
<Field Name="OpenBraceToken" Type="SyntaxToken">
<Kind Name="OpenBraceToken"/>
</Field>
<Field Name="Subpatterns" Type="SeparatedSyntaxList&lt;SubpatternElementSyntax&gt;"/>
<Field Name="Subpatterns" Type="SeparatedSyntaxList&lt;SubpatternSyntax&gt;"/>
<Field Name="CloseBraceToken" Type="SyntaxToken">
<Kind Name="CloseBraceToken"/>
</Field>
</Node>
<Node Name="SubpatternElementSyntax" Base="CSharpSyntaxNode">
<Kind Name="SubpatternElement"/>
<Node Name="SubpatternSyntax" Base="CSharpSyntaxNode">
<Kind Name="Subpattern"/>
<Field Name="NameColon" Type="NameColonSyntax" Optional="true" />
<Field Name="Pattern" Type="PatternSyntax" />
</Node>
......
......@@ -560,7 +560,7 @@ public enum SyntaxKind : ushort
// added along with recursive patterns
RecursivePattern = 9020,
PropertyPatternClause = 9021,
SubpatternElement = 9022,
Subpattern = 9022,
DeconstructionPatternClause = 9023,
DiscardPattern = 9024,
SwitchExpression = 9025,
......
......@@ -401,17 +401,17 @@ private static Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.RecursivePatt
private static Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DeconstructionPatternClauseSyntax GenerateDeconstructionPatternClause()
{
return Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory.DeconstructionPatternClause(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory.Token(SyntaxKind.OpenParenToken), new Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SubpatternElementSyntax>(), Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory.Token(SyntaxKind.CloseParenToken));
return Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory.DeconstructionPatternClause(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory.Token(SyntaxKind.OpenParenToken), new Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SubpatternSyntax>(), Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory.Token(SyntaxKind.CloseParenToken));
}
private static Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.PropertyPatternClauseSyntax GeneratePropertyPatternClause()
{
return Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory.PropertyPatternClause(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory.Token(SyntaxKind.OpenBraceToken), new Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SubpatternElementSyntax>(), Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory.Token(SyntaxKind.CloseBraceToken));
return Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory.PropertyPatternClause(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory.Token(SyntaxKind.OpenBraceToken), new Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxList<Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SubpatternSyntax>(), Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory.Token(SyntaxKind.CloseBraceToken));
}
private static Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SubpatternElementSyntax GenerateSubpatternElement()
private static Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SubpatternSyntax GenerateSubpattern()
{
return Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory.SubpatternElement(null, GenerateDiscardPattern());
return Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxFactory.Subpattern(null, GenerateDiscardPattern());
}
private static Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ConstantPatternSyntax GenerateConstantPattern()
......@@ -2024,9 +2024,9 @@ public void TestPropertyPatternClauseFactoryAndProperties()
}
[Fact]
public void TestSubpatternElementFactoryAndProperties()
public void TestSubpatternFactoryAndProperties()
{
var node = GenerateSubpatternElement();
var node = GenerateSubpattern();
Assert.Null(node.NameColon);
Assert.NotNull(node.Pattern);
......@@ -5855,9 +5855,9 @@ public void TestPropertyPatternClauseIdentityRewriter()
}
[Fact]
public void TestSubpatternElementTokenDeleteRewriter()
public void TestSubpatternTokenDeleteRewriter()
{
var oldNode = GenerateSubpatternElement();
var oldNode = GenerateSubpattern();
var rewriter = new TokenDeleteRewriter();
var newNode = rewriter.Visit(oldNode);
......@@ -5871,9 +5871,9 @@ public void TestSubpatternElementTokenDeleteRewriter()
}
[Fact]
public void TestSubpatternElementIdentityRewriter()
public void TestSubpatternIdentityRewriter()
{
var oldNode = GenerateSubpatternElement();
var oldNode = GenerateSubpattern();
var rewriter = new IdentityRewriter();
var newNode = rewriter.Visit(oldNode);
......@@ -9709,17 +9709,17 @@ private static RecursivePatternSyntax GenerateRecursivePattern()
private static DeconstructionPatternClauseSyntax GenerateDeconstructionPatternClause()
{
return SyntaxFactory.DeconstructionPatternClause(SyntaxFactory.Token(SyntaxKind.OpenParenToken), new SeparatedSyntaxList<SubpatternElementSyntax>(), SyntaxFactory.Token(SyntaxKind.CloseParenToken));
return SyntaxFactory.DeconstructionPatternClause(SyntaxFactory.Token(SyntaxKind.OpenParenToken), new SeparatedSyntaxList<SubpatternSyntax>(), SyntaxFactory.Token(SyntaxKind.CloseParenToken));
}
private static PropertyPatternClauseSyntax GeneratePropertyPatternClause()
{
return SyntaxFactory.PropertyPatternClause(SyntaxFactory.Token(SyntaxKind.OpenBraceToken), new SeparatedSyntaxList<SubpatternElementSyntax>(), SyntaxFactory.Token(SyntaxKind.CloseBraceToken));
return SyntaxFactory.PropertyPatternClause(SyntaxFactory.Token(SyntaxKind.OpenBraceToken), new SeparatedSyntaxList<SubpatternSyntax>(), SyntaxFactory.Token(SyntaxKind.CloseBraceToken));
}
private static SubpatternElementSyntax GenerateSubpatternElement()
private static SubpatternSyntax GenerateSubpattern()
{
return SyntaxFactory.SubpatternElement(default(NameColonSyntax), GenerateDiscardPattern());
return SyntaxFactory.Subpattern(default(NameColonSyntax), GenerateDiscardPattern());
}
private static ConstantPatternSyntax GenerateConstantPattern()
......@@ -11332,9 +11332,9 @@ public void TestPropertyPatternClauseFactoryAndProperties()
}
[Fact]
public void TestSubpatternElementFactoryAndProperties()
public void TestSubpatternFactoryAndProperties()
{
var node = GenerateSubpatternElement();
var node = GenerateSubpattern();
Assert.Null(node.NameColon);
Assert.NotNull(node.Pattern);
......@@ -15163,9 +15163,9 @@ public void TestPropertyPatternClauseIdentityRewriter()
}
[Fact]
public void TestSubpatternElementTokenDeleteRewriter()
public void TestSubpatternTokenDeleteRewriter()
{
var oldNode = GenerateSubpatternElement();
var oldNode = GenerateSubpattern();
var rewriter = new TokenDeleteRewriter();
var newNode = rewriter.Visit(oldNode);
......@@ -15179,9 +15179,9 @@ public void TestSubpatternElementTokenDeleteRewriter()
}
[Fact]
public void TestSubpatternElementIdentityRewriter()
public void TestSubpatternIdentityRewriter()
{
var oldNode = GenerateSubpatternElement();
var oldNode = GenerateSubpattern();
var rewriter = new IdentityRewriter();
var newNode = rewriter.Visit(oldNode);
......
......@@ -1861,7 +1861,7 @@ public void ParenthesizedExpression_03()
N(SyntaxKind.DeconstructionPatternClause);
{
N(SyntaxKind.OpenParenToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -1941,21 +1941,21 @@ public void ParenthesizedExpression_04()
N(SyntaxKind.DeconstructionPatternClause);
{
N(SyntaxKind.OpenParenToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.RecursivePattern);
{
N(SyntaxKind.DeconstructionPatternClause);
{
N(SyntaxKind.OpenParenToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.RecursivePattern);
{
N(SyntaxKind.DeconstructionPatternClause);
{
N(SyntaxKind.OpenParenToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -2028,7 +2028,7 @@ public void RecursivePattern_01()
N(SyntaxKind.DeconstructionPatternClause);
{
N(SyntaxKind.OpenParenToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -2047,7 +2047,7 @@ public void RecursivePattern_01()
}
}
N(SyntaxKind.CommaToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -2070,7 +2070,7 @@ public void RecursivePattern_01()
N(SyntaxKind.PropertyPatternClause);
{
N(SyntaxKind.OpenBraceToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -2267,7 +2267,7 @@ public void ParenthesizedExpression_05()
N(SyntaxKind.DeconstructionPatternClause);
{
N(SyntaxKind.OpenParenToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -2459,7 +2459,7 @@ public void SwitchExpression03()
N(SyntaxKind.DeconstructionPatternClause);
{
N(SyntaxKind.OpenParenToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.ConstantPattern);
{
......@@ -2470,7 +2470,7 @@ public void SwitchExpression03()
}
}
N(SyntaxKind.CommaToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.ConstantPattern);
{
......@@ -2481,7 +2481,7 @@ public void SwitchExpression03()
}
}
N(SyntaxKind.CommaToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.ConstantPattern);
{
......@@ -2554,7 +2554,7 @@ public void BrokenRecursivePattern01()
N(SyntaxKind.DeconstructionPatternClause);
{
N(SyntaxKind.OpenParenToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.DeclarationPattern);
{
......@@ -2569,7 +2569,7 @@ public void BrokenRecursivePattern01()
}
}
M(SyntaxKind.CommaToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.ConstantPattern);
{
......@@ -4155,7 +4155,7 @@ public void RecursivePattern_00()
N(SyntaxKind.DeconstructionPatternClause);
{
N(SyntaxKind.OpenParenToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -4174,7 +4174,7 @@ public void RecursivePattern_00()
}
}
N(SyntaxKind.CommaToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -4197,7 +4197,7 @@ public void RecursivePattern_00()
N(SyntaxKind.PropertyPatternClause);
{
N(SyntaxKind.OpenBraceToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -4261,7 +4261,7 @@ public void RecursivePattern_02()
N(SyntaxKind.DeconstructionPatternClause);
{
N(SyntaxKind.OpenParenToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -4280,7 +4280,7 @@ public void RecursivePattern_02()
}
}
N(SyntaxKind.CommaToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -4303,7 +4303,7 @@ public void RecursivePattern_02()
N(SyntaxKind.PropertyPatternClause);
{
N(SyntaxKind.OpenBraceToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -4371,7 +4371,7 @@ public void RecursivePattern_03()
N(SyntaxKind.PropertyPatternClause);
{
N(SyntaxKind.OpenBraceToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -4435,7 +4435,7 @@ public void RecursivePattern_04()
N(SyntaxKind.PropertyPatternClause);
{
N(SyntaxKind.OpenBraceToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -4503,7 +4503,7 @@ public void RecursivePattern_05()
N(SyntaxKind.DeconstructionPatternClause);
{
N(SyntaxKind.OpenParenToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -4522,7 +4522,7 @@ public void RecursivePattern_05()
}
}
N(SyntaxKind.CommaToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -4586,7 +4586,7 @@ public void RecursivePattern_06()
N(SyntaxKind.DeconstructionPatternClause);
{
N(SyntaxKind.OpenParenToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -4605,7 +4605,7 @@ public void RecursivePattern_06()
}
}
N(SyntaxKind.CommaToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -4718,7 +4718,7 @@ public void RecursivePattern_08()
N(SyntaxKind.DeconstructionPatternClause);
{
N(SyntaxKind.OpenParenToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -4737,7 +4737,7 @@ public void RecursivePattern_08()
}
}
N(SyntaxKind.CommaToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -4760,7 +4760,7 @@ public void RecursivePattern_08()
N(SyntaxKind.PropertyPatternClause);
{
N(SyntaxKind.OpenBraceToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -4820,7 +4820,7 @@ public void RecursivePattern_09()
N(SyntaxKind.DeconstructionPatternClause);
{
N(SyntaxKind.OpenParenToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -4839,7 +4839,7 @@ public void RecursivePattern_09()
}
}
N(SyntaxKind.CommaToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -4862,7 +4862,7 @@ public void RecursivePattern_09()
N(SyntaxKind.PropertyPatternClause);
{
N(SyntaxKind.OpenBraceToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -4926,7 +4926,7 @@ public void RecursivePattern_10()
N(SyntaxKind.PropertyPatternClause);
{
N(SyntaxKind.OpenBraceToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -4986,7 +4986,7 @@ public void RecursivePattern_11()
N(SyntaxKind.PropertyPatternClause);
{
N(SyntaxKind.OpenBraceToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -5050,7 +5050,7 @@ public void RecursivePattern_12()
N(SyntaxKind.DeconstructionPatternClause);
{
N(SyntaxKind.OpenParenToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -5069,7 +5069,7 @@ public void RecursivePattern_12()
}
}
N(SyntaxKind.CommaToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -5129,7 +5129,7 @@ public void RecursivePattern_13()
N(SyntaxKind.DeconstructionPatternClause);
{
N(SyntaxKind.OpenParenToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......@@ -5148,7 +5148,7 @@ public void RecursivePattern_13()
}
}
N(SyntaxKind.CommaToken);
N(SyntaxKind.SubpatternElement);
N(SyntaxKind.Subpattern);
{
N(SyntaxKind.NameColon);
{
......
......@@ -46,10 +46,10 @@ public override async Task ProvideCompletionsAsync(CompletionContext context)
!m.IsImplicitlyDeclared);
// Filter out those members that have already been typed
var propertySubpattern = (PropertySubpatternSyntax)token.Parent;
var propertySubpattern = (PropertyPatternClauseSyntax)token.Parent;
// List the members that are already tested in this property sub-pattern
var alreadyTestedMembers = new HashSet<string>(propertySubpattern.SubPatterns.Select(
var alreadyTestedMembers = new HashSet<string>(propertySubpattern.Subpatterns.Select(
p => p.NameColon?.Name.Identifier.ValueText).Where(s => !string.IsNullOrEmpty(s)));
var untestedMembers = members.Where(m => !alreadyTestedMembers.Contains(m.Name) &&
......@@ -104,7 +104,7 @@ private static SyntaxToken TryGetOpenBraceOrCommaInPropertySubpattern(SyntaxTree
return default;
}
return token.Parent.IsKind(SyntaxKind.PropertySubpattern) ? token : default;
return token.Parent.IsKind(SyntaxKind.RecursivePattern) ? token : default;
}
}
}
......@@ -153,7 +153,7 @@ private bool IsProbablyGeneric(SimpleNameSyntax identifierName, CancellationToke
}
if (expression.IsParentKind(SyntaxKind.NameColon) &&
expression.Parent.IsParentKind(SyntaxKind.SubpatternElement))
expression.Parent.IsParentKind(SyntaxKind.Subpattern))
{
return true;
}
......
......@@ -780,7 +780,7 @@ public bool IsObjectCreationExpression(SyntaxNode node)
public bool IsNameOfSubpatternElement(SyntaxNode node)
=> node.IsKind(SyntaxKind.IdentifierName) &&
node.IsParentKind(SyntaxKind.NameColon) &&
node.Parent.IsParentKind(SyntaxKind.SubpatternElement);
node.Parent.IsParentKind(SyntaxKind.Subpattern);
public bool IsPropertyPatternClause(SyntaxNode node)
=> node.Kind() == SyntaxKind.PropertyPatternClause;
......
......@@ -173,7 +173,7 @@ private IEnumerable<TypeInferenceInfo> GetTypesSimple(SyntaxNode node)
case RefExpressionSyntax refExpression: return InferTypeInRefExpression(refExpression);
case ReturnStatementSyntax returnStatement: return InferTypeForReturnStatement(returnStatement);
case SimpleLambdaExpressionSyntax simpleLambdaExpression: return InferTypeInSimpleLambdaExpression(simpleLambdaExpression);
case SubpatternElementSyntax subpatternElement: return InferTypeInSubpatternElement(subpatternElement, node);
case SubpatternSyntax subpattern: return InferTypeInSubpattern(subpattern, node);
case SwitchLabelSyntax switchLabel: return InferTypeInSwitchLabel(switchLabel);
case SwitchStatementSyntax switchStatement: return InferTypeInSwitchStatement(switchStatement);
case ThrowExpressionSyntax throwExpression: return InferTypeInThrowExpression(throwExpression);
......@@ -1444,19 +1444,19 @@ private IEnumerable<TypeInferenceInfo> InferTypeInRecursivePattern(RecursivePatt
return InferTypes(propertySubpattern);
}
private IEnumerable<TypeInferenceInfo> InferTypeInSubpatternElement(
SubpatternElementSyntax subpatternElement,
private IEnumerable<TypeInferenceInfo> InferTypeInSubpattern(
SubpatternSyntax subpattern,
SyntaxNode child)
{
// we have { X: ... }. The type of ... is whatever the type of 'X' is in its
// parent type. So look up the parent type first, then find the X member in it
// and use that type.
if (child == subpatternElement.Pattern &&
subpatternElement.NameColon != null)
if (child == subpattern.Pattern &&
subpattern.NameColon != null)
{
var result = ArrayBuilder<TypeInferenceInfo>.GetInstance();
foreach (var symbol in this.SemanticModel.GetSymbolInfo(subpatternElement.NameColon.Name).GetAllSymbols())
foreach (var symbol in this.SemanticModel.GetSymbolInfo(subpattern.NameColon.Name).GetAllSymbols())
{
switch (symbol)
{
......@@ -1806,7 +1806,7 @@ private IEnumerable<TypeInferenceInfo> InferTypeInNameColon(NameColonSyntax name
private IEnumerable<TypeInferenceInfo> InferTypeInNameColon(NameColonSyntax nameColon)
{
if (nameColon.Parent is SubpatternElementSyntax subpattern)
if (nameColon.Parent is SubpatternSyntax subpattern)
{
return GetPatternTypes(subpattern.Pattern);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册