public static ILNode NodeNamed(this NegListSlice <ILNode> self, Symbol name) { foreach (var node in self) { if (node.Name == name) { return(node); } } return(null); }
private void PrintArgList(NegListSlice <ILNode> args, bool stmtMode, string leftDelim, char rightDelim, string separator = null, ILNode target = null) { if (target != null) { PrintPrefixTrivia(target); } _out.Write(leftDelim); _out.JustWroteSymbolOrSpecialId = false; if (target != null) { PrintSuffixTrivia(target, 0, ""); } if (stmtMode) { _out.Indent(); bool anyNewlines = false; var childContext = rightDelim == '}' ? StartStmt : StartSubexpr; separator = separator ?? ";"; foreach (var stmt in args) { if ((_o.PrintTriviaExplicitly || stmt.AttrNamed(S.TriviaAppendStatement) == null)) { _out.Newline(); anyNewlines = true; } else { SpaceIf(_o.SpacesBetweenAppendedStatements); } Print(stmt, childContext, separator); } _out.Dedent(); if (anyNewlines) { _out.Newline(); } else { SpaceIf(_o.SpacesBetweenAppendedStatements); } } else { for (int i = 0; i < args.Count;) { Print(args[i], StartSubexpr, ++i == args.Count ? "" : separator ?? ", "); } } _out.Write(rightDelim); _out.JustWroteSymbolOrSpecialId = false; }
private void PrintArgList(NegListSlice <ILNode> args, bool stmtMode, string leftDelim, char rightDelim, ILNode target = null) { if (target != null) { PrintPrefixTrivia(target); } _out.Write(leftDelim, true); if (target != null) { PrintSuffixTrivia(target, 0, ""); } if (stmtMode) { _out.Indent(); bool anyNewlines = false; foreach (var stmt in args) { if (stmt.AttrNamed(S.TriviaAppendStatement) == null && !_isOneLiner) { _out.Newline(); anyNewlines = true; } else { SpaceIf(_o.SpacesBetweenAppendedStatements); } Print(stmt, StartStmt, ";"); } _out.Dedent(); if (anyNewlines) { _out.Newline(); } else { SpaceIf(_o.SpacesBetweenAppendedStatements); } } else { for (int i = 0; i < args.Count;) { Print(args[i], StartStmt, ++i == args.Count ? "" : ", "); } } _out.Write(rightDelim, true); }