WriteLine() public method

public WriteLine ( ) : void
return void
        private void WriteMatchers(Grammar grammar, IndentedTextWriter output)
        {
            output.WriteLine("// Scanner Conditions: ");
            output.WriteLine();

            foreach (var condition in grammar.Conditions)
            {
                output.WriteLine("condition {0}", condition.Name);
                output.WriteLine("{");
                ++output.Indent;

                foreach (var matcher in condition.Matchers)
                {
                    var transition = matcher.NextCondition == null
                                   ? ""
                                   : string.Format("{{goto {0}}}", matcher.NextCondition.Name);
                    output.WriteLine(
                        "{0} {1}: /{2}/;",
                        Name(matcher.Outcome),
                        transition,
                        matcher.Pattern);
                }

                --output.Indent;
                output.WriteLine("}");
                output.WriteLine();
            }
        }
示例#2
0
		private static void PrintException(IndentedTextWriter iWriter, Exception ex) {
			if (ex == null) {
				iWriter.WriteLine("(null)");
				return;
			}
			iWriter.WriteLine("[{0}]", ex.GetType());
			iWriter.Indent++;
			iWriter.WriteLine("Message: {0}", ex.Message);
			iWriter.WriteLine("Source: {0}", ex.Source);
			iWriter.WriteLine("TargetSite: {0}", ex.TargetSite);
			iWriter.WriteLine("HelpLink: {0}", ex.HelpLink);
			if (ex.Data.Count > 0) {
				iWriter.WriteLine("Data:");
				iWriter.Indent++;
				foreach (var key in ex.Data.Keys) {
					iWriter.WriteLine("• {0} = {1}", key, ex.Data[key]);
				}
				iWriter.Indent--;
			}
			iWriter.WriteLine("Full Stack Trace:");
			iWriter.Indent++;
			PrintStackTrace(iWriter, new StackTrace(ex, true));
			iWriter.Indent--;
			iWriter.WriteLine("Inner Exception: ");
			iWriter.Indent++;
			PrintException(iWriter, ex.InnerException);
			iWriter.Indent--;
		}
示例#3
0
        private void GenerateCS()
        {
            IMemberOperatorGenerator gen = null;

            switch (Operator)
            {
            case OperatorType.Explicit:
                gen = new ExplicitOperatorGeneratorCS();
                break;

            case OperatorType.Implicit:
                gen = new ImplicitOperatorGeneratorCS();
                break;

            default:
                throw new NotImplementedException(string.Format("Какая-то несанкционированная xуйня"));
            }

            using (Microsoft.CSharp.CSharpCodeProvider provider = new Microsoft.CSharp.CSharpCodeProvider())
            {
                System.CodeDom.Compiler.CodeGeneratorOptions opts = new System.CodeDom.Compiler.CodeGeneratorOptions();
                using (System.CodeDom.Compiler.IndentedTextWriter tw = new System.CodeDom.Compiler.IndentedTextWriter(new StringWriter(), opts.IndentString))
                {
                    gen.GenerateDeclaration(tw, provider, opts, ReturnType, Parameters);
                    tw.WriteLine("{");
                    tw.Indent++;
                    gen.GenerateStatemets(tw, provider, opts, Statements);
                    tw.Indent--;
                    tw.WriteLine("}");
                    Text = tw.InnerWriter.ToString();
                }
            }
        }
            public void WriteText(IndentedTextWriter writer)
            {
                writer.WriteLine("ResourceEditStringData_t");
                writer.WriteLine("{");
                writer.Indent++;
                writer.WriteLine("CResourceString m_Name = \"{0}\"", Name);

                var lines = Value.Split(new [] { "\r\n", "\n" }, StringSplitOptions.None);

                if (lines.Length > 1)
                {
                    writer.Indent++;

                    writer.Write("CResourceString m_String = \"");

                    foreach (var line in lines)
                    {
                        writer.WriteLine(line);
                    }

                    writer.WriteLine("\"");

                    writer.Indent--;
                }
                else
                {
                    writer.WriteLine("CResourceString m_String = \"{0}\"", Value);
                }

                writer.Indent--;
                writer.WriteLine("}");
            }
		//===========================================================================================
		private void WriteExceptions(IndentedTextWriter writer)
		{
			foreach (Type type in _Exceptions)
			{
				if (type.IsSealed)
					writer.Write("public sealed class ");
				else
					writer.Write("public class ");
				WriteType(writer, type);
				writer.Write(" : ");
				WriteType(writer, type.BaseType);
				WriteStartColon(writer);
				writer.Write("internal ");
				WriteType(writer, type);
				writer.WriteLine("(Exception exception)");
				writer.Indent++;
				writer.Write(": base(");
				if (type.BaseType == typeof(Exception))
					writer.Write("exception.Message, ");
				writer.WriteLine("exception)");
				writer.Indent--;
				WriteStartColon(writer);
				WriteEndColon(writer);
				WriteEndColon(writer);
			}
		}
 public void WriteText(IndentedTextWriter writer)
 {
     writer.WriteLine();
     writer.WriteLine("{0:F4} {1:F4} {2:F4} {3:F4}", field0, field1, field2, field3);
     writer.WriteLine("{0:F4} {1:F4} {2:F4} {3:F4}", field4, field5, field6, field7);
     writer.WriteLine("{0:F4} {1:F4} {2:F4} {3:F4}", field8, field9, field10, field11);
 }
		//===========================================================================================
		private void WriteHelper(IndentedTextWriter writer)
		{
			writer.WriteLine("public static class ExceptionHelper");
			WriteStartColon(writer);
			writer.WriteLine("public static Exception Create(Exception exception)");
			WriteStartColon(writer);
			writer.WriteLine("if (ReferenceEquals(exception, null))");
			writer.Indent++;
			writer.WriteLine("return null;");
			writer.Indent--;

			writer.WriteLine("switch(exception.GetType().Name)");
			WriteStartColon(writer);
			foreach (Type exception in _Exceptions)
			{
				writer.Write("case \"");
				writer.Write(exception.Name);
				writer.WriteLine("\":");
				writer.Indent++;
				writer.Write("return new ");
				writer.Write(exception.Name);
				writer.WriteLine("(exception);");
				writer.Indent--;
			}
			writer.WriteLine("default:");
			writer.Indent++;
			writer.WriteLine("return exception;");
			writer.Indent--;
			WriteEndColon(writer);
			WriteEndColon(writer);
			WriteEndColon(writer);
		}
示例#8
0
 void Write(IndentedTextWriter writer, GmlFormatter formatter, bool semicolon, bool curlyBraces)
 {
     Sequence seq;
     if (curlyBraces)
     {
         writer.WriteLine("{");
         writer.Indent++;
     }
     if (First.Kind == StatementKind.Sequence)
     {
         // Write the sequence without curly braces.
         seq = (Sequence)First;
         seq.Write(writer, formatter, semicolon, false);
     }
     else
         First.Write(writer, formatter);
     if (Second.Kind == StatementKind.Sequence)
     {
         // Write the sequence without curly braces.
         seq = (Sequence)Second;
         seq.Write(writer, formatter, semicolon, false);
     }
     else
         Second.Write(writer, formatter);
     if (curlyBraces)
     {
         writer.Indent--;
         writer.WriteLine("}");
     }
 }
        public virtual void WriteWhenInState(IndentedTextWriter indentedTextWriter, StateCollection stateCollection, State state)
        {
            int stateId = stateCollection[state];

            indentedTextWriter.WriteLine(AssertCharactersInStack(MainStateStackName, stateId));
            indentedTextWriter.WriteLine(@"(?<-{0}>)", MainStateStackName);
        }
		private void DumpValue(IndentedTextWriter writer, string key, Func<object> getter) {
			object o;
			try {
				o = getter();
			}
			catch (Exception ex) {
				writer.WriteLine("{0} = !! {1} !! //an exception occured while evaluating this", key, ex.GetType());
				return;
			}
			if (o == null) {
				writer.WriteLine("{0} = {1}", key, "(null)");
				return;
			}
			var valueString = o.ToString();
			var lines = valueString.Split(new[] {
				'\r',
				'\n'
			},
				StringSplitOptions.RemoveEmptyEntries).ToList();

			if (lines.Count <= 1) {
				writer.WriteLine("{0} = {1}", key, valueString);
			} else {
				writer.WriteLine("{0} = ", key);
				writer.Indent++;
				lines.ForEach(writer.WriteLine);
				writer.Indent--;
			}
		}
示例#11
0
    protected override void WriteCode(IndentedTextWriter writer)
    {
      foreach (Type type in SupportedTypes)
      {
        string typeName = GetName(type);

        writer.Write("private ");
        writer.Write("Collection<");
        writer.Write(typeName);
        writer.Write(">");
        writer.Write(" Create");
        writer.Write(type.Name);
        writer.Write("Collection");
        writer.Write("(XmlElement element)");
        writer.WriteLine();
        WriteStartColon(writer);
        writer.Write("Collection<");
        writer.Write(typeName);
        writer.Write("> collection = new ");
        writer.Write("Collection<");
        writer.Write(typeName);
        writer.WriteLine(">();");
        writer.WriteLine("foreach (XmlElement elem in element.SelectNodes(\"*\"))");
        WriteStartColon(writer);
        writer.Write("collection.Add(Variables.GetValue<");
        writer.Write(typeName);
        writer.WriteLine(">(elem, \"value\"));");
        WriteEndColon(writer);
        writer.WriteLine("return collection;");
        WriteEndColon(writer);
      }
    }
            public void WriteText(IndentedTextWriter writer)
            {
                writer.WriteLine("CResourceDiskStruct");
                writer.WriteLine("{");
                writer.Indent++;
                writer.WriteLine("uint32 m_nIntrospectionVersion = 0x{0:X8}", IntrospectionVersion);
                writer.WriteLine("uint32 m_nId = 0x{0:X8}", Id);
                writer.WriteLine("CResourceString m_pName = \"{0}\"", Name);
                writer.WriteLine("uint32 m_nDiskCrc = 0x{0:X8}", DiskCrc);
                writer.WriteLine("int32 m_nUserVersion = {0}", UserVersion);
                writer.WriteLine("uint16 m_nDiskSize = 0x{0:X4}", DiskSize);
                writer.WriteLine("uint16 m_nAlignment = 0x{0:X4}", Alignment);
                writer.WriteLine("uint32 m_nBaseStructId = 0x{0:X8}", BaseStructId);

                writer.WriteLine("Struct m_FieldIntrospection[{0}] =", FieldIntrospection.Count);
                writer.WriteLine("[");
                writer.Indent++;

                foreach (var field in FieldIntrospection)
                {
                    field.WriteText(writer);
                }

                writer.Indent--;
                writer.WriteLine("]");
                writer.WriteLine("uint8 m_nStructFlags = 0x{0:X2}", StructFlags);
                writer.Indent--;
                writer.WriteLine("}");
            }
		//===========================================================================================
		public virtual void WriteCode(IndentedTextWriter writer)
		{
			writer.Write(TypeName);
			writer.Write(" MagickScript::Create");
			writer.Write(ClassName);
			writer.WriteLine("(XmlElement^ element)");
			WriteStartColon(writer);
			WriteMethod(writer, Constructors);
			WriteEndColon(writer);

			if (!WriteEnumerable)
				return;

			writer.Write("Collection<");
			writer.Write(TypeName);
			writer.Write(">^  MagickScript::Create");
			writer.Write(ClassName);
			writer.WriteLine("s(XmlElement^ element)");
			WriteStartColon(writer);
			writer.Write("Collection<");
			writer.Write(TypeName);
			writer.Write(">^ collection = gcnew Collection<");
			writer.Write(TypeName);
			writer.WriteLine(">();");
			writer.WriteLine("for each (XmlElement^ elem in element->SelectNodes(\"*\"))");
			WriteStartColon(writer);
			writer.Write("collection->Add(Create");
			writer.Write(TypeName.Replace("^", ""));
			writer.WriteLine("(elem));");
			WriteEndColon(writer);
			writer.WriteLine("return collection;");
			WriteEndColon(writer);
		}
        private static void WriteProductions(Grammar grammar, IndentedTextWriter output)
        {
            output.WriteLine("// Production rules:");
            output.WriteLine();

            foreach (var prod in grammar.Productions)
            {
                output.WriteLine("// {0}:", prod.Index);
                output.Write("{0} :", prod.Outcome.Name);
                if (prod.Pattern.Length == 0)
                {
                    output.Write(" /*empty*/");
                }
                else
                {
                    foreach (var symb in prod.Pattern)
                    {
                        output.Write(' ');
                        output.Write(symb.Name);
                    }
                }

                output.WriteLine(";");
                output.WriteLine();
            }
        }
示例#15
0
文件: Spec.cs 项目: ryascl/CLRSpec
        public static void Run(Expression<Action<Spec>> action)
        {
            var output = new IndentedTextWriter(Output ?? Console.Out);

            try
            {
                var callingMethod = new StackFrame(1).GetMethod().Name;
                output.WriteLine(callingMethod);
                output.Indent++;
            }
            catch{}

            var parser = new SpecExpressionParser();
            var steps = parser.Parse(action);
            Exception exception = null;
            foreach (var step in steps)
            {
                if (step.Expression == null)
                {
                    output.Write(step);
                }
                else
                {
                    output.Write("{0,-50} => ", step);
                    try
                    {
                        Expression<Action> stepAction = step.Expression.NodeType == ExpressionType.Lambda
                            ? (Expression<Action>) step.Expression
                            : Expression.Lambda<Action>(step.Expression);
                        var compiledAction = stepAction.Compile();
                        compiledAction();
                        output.Write("Passed");
                    }
                    catch(Exception ex)
                    {
                        if (exception == null)
                        {
                            exception = ex;
                        }
                        output.Write("Failed");
                        output.WriteLine();
                        output.WriteLine();
                        output.WriteLine(ex.Message);
                    }
                    output.WriteLine();
                }

                if (step.StepType == StepType.AsA)
                {
                    output.Indent++;
                }

                if (exception != null)
                {
                    throw exception;
                }
            }
        }
示例#16
0
    protected override void WriteCode(IndentedTextWriter writer)
    {
      writer.WriteLine("IReadDefines CreateIReadDefines(XmlElement parent)");
      WriteStartColon(writer);
      writer.WriteLine("return CreateIDefines(parent) as IReadDefines;");
      WriteEndColon(writer);

      base.WriteCode(writer);
    }
示例#17
0
 public void Dump(IndentedTextWriter w)
 {
     w.WriteLine("Export Assets: ");
     w.Indent++;
     foreach (uint key in Exports.Keys)
     {
         w.WriteLine(key + " : " + Exports[key]);
     }
     w.Indent--;
 }
示例#18
0
 public virtual void Dump(IndentedTextWriter w)
 {
     w.Write("SymbolClass ");
     w.WriteLine();
     for (int i = 0; i < Ids.Length; i++)
     {
         w.WriteLine("id:" + Ids[i] + " name:" + Names[i]);
     }
     w.WriteLine();
 }
 public void WriteText(IndentedTextWriter writer)
 {
     writer.WriteLine("ResourceEditFloatData_t");
     writer.WriteLine("{");
     writer.Indent++;
     writer.WriteLine("CResourceString m_Name = \"{0}\"", Name);
     writer.WriteLine("float32 m_flFloat = {0:F6}", Value);
     writer.Indent--;
     writer.WriteLine("}");
 }
 public void WriteText(IndentedTextWriter writer)
 {
     writer.WriteLine("ResourceEditIntData_t");
     writer.WriteLine("{");
     writer.Indent++;
     writer.WriteLine("CResourceString m_Name = \"{0}\"", Name);
     writer.WriteLine("int32 m_nInt = {0}", Value);
     writer.Indent--;
     writer.WriteLine("}");
 }
 public void WriteText(IndentedTextWriter writer)
 {
     writer.WriteLine("ResourceAdditionalRelatedFile_t");
     writer.WriteLine("{");
     writer.Indent++;
     writer.WriteLine("CResourceString m_ContentRelativeFilename = \"{0}\"", ContentRelativeFilename);
     writer.WriteLine("CResourceString m_ContentSearchPath = \"{0}\"", ContentSearchPath);
     writer.Indent--;
     writer.WriteLine("}");
 }
 public void WriteText(IndentedTextWriter writer)
 {
     writer.WriteLine("ResourceReferenceInfo_t");
     writer.WriteLine("{");
     writer.Indent++;
     writer.WriteLine("uint64 m_nId = 0x{0:X16}", Id);
     writer.WriteLine("CResourceString m_pResourceName = \"{0}\"", ResourceName);
     writer.Indent--;
     writer.WriteLine("}");
 }
示例#23
0
        public override void AppendDDL(IndentedTextWriter textWriter)
        {
            if (Note.Length > 0)
            {
                textWriter.WriteLine("/*");
                textWriter.Write("  ");
                textWriter.WriteLine(Note);
                textWriter.WriteLine("*/");
            }

            textWriter.WriteLine($"IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'{ObjectIdentifier}'))");

            textWriter.WriteLine($"CREATE TABLE {ObjectIdentifier} (");

            textWriter.Indent++;
            foreach (var column in Columns)
            {
                column.AppendDDL(textWriter, includeConstraints: true);
                textWriter.WriteLine(",");
            }
            foreach (var constraint in Constraints)
            {
                constraint.AppendDDL(textWriter);
                textWriter.WriteLine(",");
            }
            textWriter.Indent--;

            textWriter.WriteLine(");");
            textWriter.WriteLine("GO");
        }
示例#24
0
        public static void WriteClasses(this DataContextModel model, TextWriter writer)
        {
            if (model == null) throw new ArgumentNullException("model");
            if (writer == null) throw new ArgumentNullException("writer");

            var indentedWriter = new IndentedTextWriter(writer);
            indentedWriter.WriteLine("using System;");
            indentedWriter.WriteLine("using System.CodeDom.Compiler;");
            indentedWriter.WriteLine("using System.Diagnostics;");
            indentedWriter.WriteLine("using System.Linq;");
            indentedWriter.WriteLine("using ShomreiTorah.Singularity;");
            indentedWriter.WriteLine("using ShomreiTorah.Singularity.Sql;");

            foreach (var import in model.Imports)
                indentedWriter.WriteLine("using " + import.Namespace + ";");

            indentedWriter.WriteLine();
            indentedWriter.WriteLine("namespace " + model.Namespace + " {");
            indentedWriter.Indent++;

            bool first = true;
            foreach (var schema in model.Schemas.Where(s => !s.IsExternal).OrderBy(s => s.Name)) {
                if (first)
                    first = false;
                else
                    indentedWriter.WriteLine();
                WriteSchema(schema, indentedWriter);
            }

            indentedWriter.Indent--;
            indentedWriter.WriteLine("}");
        }
		//===========================================================================================
		private void WriteCallMethods(IndentedTextWriter writer)
		{
			foreach (MethodBase method in Methods)
			{
				string xsdMethodName = MagickNET.GetXsdName(method);
				ParameterInfo[] parameters = method.GetParameters();

				writer.Write("XmlElement^ ");
				writer.Write(xsdMethodName);
				writer.Write(" = (XmlElement^)element->SelectSingleNode(\"");
				writer.Write(xsdMethodName);
				writer.WriteLine("\");");

				writer.Write("if (");
				writer.Write(xsdMethodName);
				writer.WriteLine(" != nullptr)");
				writer.WriteLine("{");

				writer.Indent++;

				foreach (ParameterInfo parameter in parameters)
				{
					string typeName = MagickNET.GetCppTypeName(parameter);

					writer.Write(typeName);
					writer.Write(" ");
					writer.Write(parameter.Name);
					writer.Write("_ = XmlHelper::GetAttribute<");
					writer.Write(typeName);
					writer.Write(">(");
					writer.Write(xsdMethodName);
					writer.Write(", \"");
					writer.Write(parameter.Name);
					writer.WriteLine("\");");
				}

				writer.Write("result->");
				writer.Write(method.Name);
				writer.Write("(");

				for (int i = 0; i < parameters.Length; i++)
				{
					if (i > 0)
						writer.Write(",");

					writer.Write(parameters[i].Name);
					writer.Write("_");
				}

				writer.WriteLine(");");
				writer.Indent--;

				writer.WriteLine("}");
			}
		}
		/// <summary>
		/// Renderiza o resultado da condição no <see cref="IndentedTextWriter"/> especificado.
		/// </summary>
		/// <param name="tw">O <see cref="IndentedTextWriter"/></param>
		public override void Render(IndentedTextWriter tw)
		{
			tw.WriteLine("NOT (");
			tw.Indent++;

			cond.Render(tw);

			tw.Indent--;

			tw.WriteLine(")");
		}
示例#27
0
 public void Dump(IndentedTextWriter w)
 {
     w.WriteLine("Line Styles: ");
     w.Indent++;
     for (int i = 0; i < LineStyles.Count; i++)
     {
         LineStyles[i].Dump(w);
         w.WriteLine();
     }
     w.Indent--;
 }
示例#28
0
文件: Shape.cs 项目: Hamsand/Swf2XNA
 public void Dump(IndentedTextWriter w)
 {
     w.WriteLine("Glyph Records: ");
     w.Indent++;
     for (int i = 0; i < ShapeRecords.Count; i++)
     {
         ShapeRecords[i].Dump(w);
         w.WriteLine();
     }
     w.Indent--;
 }
示例#29
0
        internal override void WriteTo(IndentedTextWriter writer)
        {
            writer.WriteLine("Has format errors, the formats are:");
            writer.Indent++;
            foreach (var format in this.Formats)
            {
                writer.WriteLine(format.Value ?? "null");
            }

            writer.Indent--;
        }
示例#30
0
 public override void WriteJS(IndentedTextWriter writer)
 {
     if (this.element != null)
     {
         writer.WriteLine("model.grant(elements.id[\"{0}\"]);", Converter.QuoteString(this.element.Id));
     }
     else
     {
         writer.WriteLine("// NYI: [Dilettante]");
     }
 }
        public override void WriteText(IndentedTextWriter writer)
        {
            writer.WriteLine("Struct m_CustomDependencies[{0}] =", 0);
            writer.WriteLine("[");
            writer.Indent++;

            // TODO

            writer.Indent--;
            writer.WriteLine("]");
        }
示例#32
0
 //
 // Methods
 //
 protected virtual void ContinueOnNewLine(string st)
 {
     output.WriteLine(st);
 }
    public static void GenerateOutput(string outputFile,
                                      System.Xml.XmlDocument xmlMetaData,
                                      string tableName)
    {
        System.CodeDom.Compiler.IndentedTextWriter writer = null;
        //System.Xml.XmlNode node;
        System.Xml.XmlNodeList nodeList;
        try
        {
            writer   = new System.CodeDom.Compiler.IndentedTextWriter(new System.IO.StreamWriter(outputFile));
            nodeList = xmlMetaData.SelectNodes("/DataSet/Table[@Name='" + tableName + "']/Column");

            writer.WriteLine("using System;");
            writer.WriteLine("");
            writer.WriteLine("/// <summary>");
            writer.WriteLine("/// ");
            writer.WriteLine("/// </summar>");
            writer.WriteLine("public class TargetOutput");
            writer.WriteLine("{");
            writer.Indent++;
            writer.WriteLine("#region Class level declarations");
            foreach (System.Xml.XmlNode node in nodeList)
            {
                writer.WriteLine("private " + node.Attributes["Type"].Value + " m_" + node.Attributes["Name"].Value + ";");
            }
            writer.WriteLine("#endregion");
            writer.WriteLine("");
            writer.WriteLine("#region Public Methods and Properties");
            foreach (System.Xml.XmlNode node in nodeList)
            {
                writer.WriteLine("public " + node.Attributes["Type"].Value + " " + node.Attributes["Name"].Value);
                writer.WriteLine("{");
                writer.Indent++;
                writer.WriteLine("get");
                writer.WriteLine("{");
                writer.Indent++;
                writer.WriteLine("return m_" + node.Attributes["Name"].Value + ";");
                writer.Indent--;
                writer.WriteLine("}");
                writer.WriteLine("set");
                writer.WriteLine("{");
                writer.Indent++;
                writer.WriteLine("m_" + node.Attributes["Name"].Value + " = value;");
                writer.Indent--;
                writer.WriteLine("}");
                writer.Indent--;
                writer.WriteLine("}");
                writer.WriteLine("");
            }
            writer.WriteLine("#endregion");
            writer.WriteLine("");
            writer.Indent--;
            writer.WriteLine("}");
        }
        finally
        {
            if (writer != null)
            {
                writer.Flush();
                writer.Close();
            }
        }
    }
示例#34
0
 // Output a continuation on a new line if the language requires it.
 protected virtual void ContinueOnNewLine(String st)
 {
     writer.WriteLine(st);
 }