コード例 #1
0
 public override void Write(IndentedStreamWriter w)
 {
     for (int i = 0; i < lines.Count; i++)
     {
         lines[i].Write(w);
     }
 }
コード例 #2
0
 private void writeUsingDirectives(IndentedStreamWriter writer)
 {
     for (int i = 0; i < usingDirectives.Count; i++)
     {
         usingDirectives[i].Write(writer);
     }
 }
コード例 #3
0
 public void Write(IndentedStreamWriter write)
 {
     writeUsingDirectives(write);
     new EmptyLine().Write(write);
     writeHeader(write);
     writeBody(write);
     //DONE;
 }
 public override void Write(IndentedStreamWriter w)
 {
     if (asInitializer)
     {
         string def = local.GetAsDefinition();
         w.Write(def);
         WriteAssignment(w);
     }
     else
     {
         local.WriteAsReference(w);
         WriteAssignment(w);
     }
 }
コード例 #5
0
        protected void WriteFunctionBody(IndentedStreamWriter writer)
        {
            writer.WriteLine("{");

            //TODO maybe write loclas as initialized list
            writer.IncreaseIndentLevel();

            for (int i = 0; i < codeStructures.Count; i++)
            {
                codeStructures[i].Write(writer);
            }
            writer.DecreaseIndentLevel();
            writer.WriteLine("}\n");
        }
コード例 #6
0
 public void Write(string pathDirectory)
 {
     //Write every class in namepace
     for (int i = 0; i < classesInNameSpace.Count; i++)
     {
         //open streamwriter
         using (var sw = new StreamWriter(pathDirectory + $"/{classesInNameSpace[i].Name}.cs"))
         {
             var writer = new IndentedStreamWriter(sw);
             //write namspace header and start body
             WriteHeader(writer);
             WriteBodyStart(writer);
             //write class
             writer.IncreaseIndentLevel();
             classesInNameSpace[0].Write(writer);
             writer.DecreaseIndentLevel();
             //end namespace body
             WriteBodyEnd(writer);
         }
     }
     //done
 }
コード例 #7
0
        void writeBody(IndentedStreamWriter writer)
        {
            writer.WriteLine("{");

            writer.IncreaseIndentLevel();
            //Members
            for (int i = 0; i < members.Count; i++)
            {
                //TODO FORMATTING
                members[i].WriteAsDefinition(writer);
            }

            //functions
            for (int i = 0; i < functions.Count; i++)
            {
                functions[i].Write(writer);
            }

            //TODO More formatting
            writer.DecreaseIndentLevel();

            writer.WriteLine("}");
        }
コード例 #8
0
 void WriteCtorHeader(IndentedStreamWriter writer)
 {
     writer.WriteLine(BuildFunctionHead());
 }
コード例 #9
0
 protected virtual void WriteBodyStart(IndentedStreamWriter writer)
 {
     writer.WriteLine("{");
 }
コード例 #10
0
 public override void Write(IndentedStreamWriter writer)
 {
     WriteCtorHeader(writer);
     WriteFunctionBody(writer);
 }
コード例 #11
0
 public void WriteAsReference(IndentedStreamWriter writer)
 {
     writer.Write(name + (name.EndsWith(" ") ? "" : " "));
 }
コード例 #12
0
 protected virtual void WriteHeader(IndentedStreamWriter writer)
 {
     writer.WriteLine($"namespace {Name}");
 }
コード例 #13
0
 //Maybe unneeded
 public abstract void Write(IndentedStreamWriter w);
コード例 #14
0
 protected override void WriteHeader(IndentedStreamWriter writer)
 {
 }
コード例 #15
0
 public override void WriteAsDefinition(IndentedStreamWriter writer)
 {
     writer.Write($"{type} {name}");
 }
コード例 #16
0
 protected virtual void WriteBodyEnd(IndentedStreamWriter writer)
 {
     writer.WriteLine("}");
 }
コード例 #17
0
 void writeHeader(IndentedStreamWriter writer)
 {
     writer.WriteLine(BuildHeader());
 }
コード例 #18
0
 public override void WriteAsDefinition(IndentedStreamWriter writer)
 {
     writer.WriteLine($"{accessor} {type} {name};");
 }
コード例 #19
0
 protected void WriteAssignment(IndentedStreamWriter w)
 {
     w.Write($" = {expresion.GetAsEOL()}");
 }
コード例 #20
0
 protected void WriteFunctionHead(IndentedStreamWriter writer)
 {
     writer.WriteLine(BuildFunctionHead());
 }
コード例 #21
0
 public virtual void Write(IndentedStreamWriter writer)
 {
     WriteFunctionHead(writer);
     WriteFunctionBody(writer);
 }
コード例 #22
0
 public abstract void WriteAsDefinition(IndentedStreamWriter writer);
コード例 #23
0
 protected override void WriteBodyStart(IndentedStreamWriter writer)
 {
 }
コード例 #24
0
 public void WriteAsAssignment(IndentedStreamWriter w, Variable v)
 {
     v.WriteAsReference(w);
     w.Write((Content.ToString().StartsWith("=") ? "" : "= ") + GetAsEOL());
 }
コード例 #25
0
 public override void Write(IndentedStreamWriter w)
 {
     w.WriteLine(lineToWrite);
 }
コード例 #26
0
 public void WriteAfterKeyWord(IndentedStreamWriter w, string keyWord)
 {
     w.Write(keyWord + (keyWord.EndsWith(" ") ? "" : " "));
     w.Write(GetAsEOL());
 }
コード例 #27
0
 public override void Write(IndentedStreamWriter w)
 {
     w.Write($"{mem.Name}");
     WriteAssignment(w);
 }