public static void Write(this ConditionalAccessExpressionSyntax syntax, IIndentedTextWriterWrapper textWriter, IContext context) { textWriter.Write("_M.CA("); syntax.Expression.Write(textWriter, context); textWriter.Write(",function(obj) return "); var stringWriter = new StringWriter(); var newTextWriter = new IndentedTextWriterWrapper(stringWriter); syntax.WhenNotNull.Write(newTextWriter, context); if (stringWriter.ToString().StartsWith("(")) { textWriter.Write("((obj % _M.DOT)"); textWriter.Write(newTextWriter.ToString().Substring(1)); } else { textWriter.Write("(obj % _M.DOT)"); textWriter.AppendTextWriter(newTextWriter); } textWriter.Write("; end)"); }
static void Main(string[] args) { try { var projectPath = args[0]; var outPath = args[1]; var namespaceConstructor = new NamespaceConstructor(); var csluaNamespace = namespaceConstructor.GetNamespacesFromProject(projectPath).Single(); var fileStream = new StreamWriter(outPath); var writer = new IndentedTextWriterWrapper(fileStream); csluaNamespace.WritingAction(writer); fileStream.Close(); } catch (Exception ex) { Console.Write(ex.ToString()); Environment.Exit(1); } }