// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) // This code is distributed under MIT X11 license (for details please see \doc\license.txt) using System; using System.Linq; namespace ICSharpCode.NRefactory.CSharp.PatternMatching { /// /// Matches the last entry in the specified named group. /// public class Backreference : Pattern { readonly string referencedGroupName; public Backreference(string referencedGroupName) { if (referencedGroupName == null) throw new ArgumentNullException("referencedGroupName"); this.referencedGroupName = referencedGroupName; } protected internal override bool DoMatch(AstNode other, Match match) { return match.Get(referencedGroupName).Last().Match(other) != null; } } }