示例#1
0
        /// <summary>Gets a new list with any %trailing attributes removed. Trailing
        /// trivia inside those attributes are returned in an `out` parameter.</summary>
        public static LNodeList WithoutTrailingTrivia(this LNodeList attrs, out LNodeList trailingTrivia)
        {
            trailingTrivia = LNodeList.Empty;
            var attrs2 = attrs.SmartWhere(attr => !attr.Calls(S.TriviaTrailing));

            if (attrs2 != attrs)
            {
                foreach (var attr in attrs)
                {
                    if (attr.Calls(S.TriviaTrailing))
                    {
                        trailingTrivia.AddRange(attr.Args);
                    }
                }
            }
            return(attrs2);
        }
示例#2
0
 /// <summary>Gets a new list with any %trailing attributes removed.</summary>
 public static LNodeList WithoutTrailingTrivia(this LNodeList attrs)
 {
     return(attrs.SmartWhere(attr => !attr.Calls(S.TriviaTrailing)));
 }