internal int GetContextIndex(CodeContextType ct)
        {
            int index;

            index = (int)ct - (int)MNodeType;
            return(index);
        }
        public override void AddNewLine(CodeContextType context)
        {
            CodeContainer container = new CodeContainer(CodeBlockType.CB_NA, this);

            container.AddNewLine();
            m_repository[GetContextIndex(context)].Add(container);
        }
        public override void AddCode(string code, CodeContextType context)
        {
            CodeContainer container = new CodeContainer(CodeBlockType.CB_NA, this);

            container.AddCode(code, CodeContextType.CC_NA);
            m_repository[GetContextIndex(context)].Add(container);
        }
        protected virtual CodeContainer AssemblyContext(CodeContextType ct)
        {
            CodeContainer rep          = new CodeContainer(CodeBlockType.CB_CODEREPOSITORY, this);
            int           contextindex = GetContextIndex(ct);

            for (int i = 0; i < m_repository[contextindex].Count; i++)
            {
                rep.AddCode(m_repository[contextindex][i].AssemblyCodeContainer());
            }
            return(rep);
        }
 public override void AddCode(string code, CodeContextType context = CodeContextType.CC_NA)
 {
     string[] lines = code.Split(new[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries);
     foreach (string line in lines)
     {
         m_repository.Append(line);
         if (code.Contains('\n'))
         {
             m_repository.Append("\r\n");
             m_repository.Append(new string('\t', m_nestingLevel));
         }
     }
 }
        protected void ExtractSubgraphs(StreamWriter m_ostream, CodeContextType context)
        {
            if (m_repository[GetContextIndex(context)].Count != 0)
            {
                m_ostream.WriteLine("\tsubgraph cluster" + m_clusterSerial++ + "{");
                m_ostream.WriteLine("\t\tnode [style=filled,color=white];");
                m_ostream.WriteLine("\t\tstyle=filled;");
                m_ostream.WriteLine("\t\tcolor=lightgrey;");
                m_ostream.Write("\t\t");
                for (int i = 0; i < m_repository[GetContextIndex(context)].Count; i++)
                {
                    m_ostream.Write(m_repository[GetContextIndex(context)][i].M_NodeName + ";");
                }

                m_ostream.WriteLine("\n\t\tlabel=" + context + ";");
                m_ostream.WriteLine("\t}");
            }
        }
 public override void AddNewLine(CodeContextType context = CodeContextType.CC_NA)
 {
     m_repository.Append("\r\n");
     m_repository.Append(new string('\t', m_nestingLevel));
 }
        public override void AddCode(CEmmitableCodeContainer code, CodeContextType context = CodeContextType.CC_NA)
        {
            string str = code.ToString();

            AddCode(str, context);
        }
 internal CEmmitableCodeContainer[] GetContextChildren(CodeContextType ct)
 {
     return(m_repository[GetContextIndex(ct)].ToArray());
 }
 internal CEmmitableCodeContainer GetChild(CodeContextType ct, int index = 0)
 {
     return(m_repository[GetContextIndex(ct)][index]);
 }
 public override void AddCode(CEmmitableCodeContainer code, CodeContextType context)
 {
     m_repository[GetContextIndex(context)].Add(code);
 }