Ejemplo n.º 1
0
            public DocCode CopyCode()
            {
                var doc = new DocCode();

                doc      = this;
                doc.code = (ICodeTemplate)this.code.Clone();

                return(doc);
            }
Ejemplo n.º 2
0
 public override String ToString()
 {
     return(DocCode.ToString());
 }
        DocCode MakeCode(IList<LanguageElement> elements, ref int index)
        {
            List<LanguageElement> codeElements = new List<LanguageElement>();
            int startIndex = index;
            do
            {
                codeElements.Add(elements[index]);
                index++;
            } while (index < elements.Count && elements[index].IsParameter);

            List<string> languages = new List<string>();
            Priority priority;
            ICodeTemplate code = ParseCode(codeElements, languages, out priority);
            DocCode doc = new DocCode();

            doc.code = code;
            doc.priority = priority;

            if (languages.Count > 0)
            {
                doc.languages = languages.ToArray();
            }
            else
            {
                doc.languages = this.languages.Keys.ToArray();
            }

            if (collectDocComments)
            {
                doc.mainDoc = new List<string>(codeElements[0].GetDocLines());
                doc.parameterDocs = new Dictionary<string, List<string>>();
                for (int i = 1; i < codeElements.Count; i++)
                {
                    List<string> values = doc.parameterDocs.GetOldOrSetNew(codeElements[i].ParsedLine.name);
                    values.AddRange(codeElements[i].GetDocLines());
                }
            }

            return doc;
        }
 private void AddCode(DocCode doc, string language)
 {
     ICodeTemplateStorer storer;
     if (!languages.TryGetValue(language, out storer))
     {
         languages[language] = new CodeTemplateStorer(templateComparer);
     }
     languages[language].AddCode(doc.code, doc.priority);
 }
        private void AddBuiltInCodeDocs()
        {
            var raw = new RawCodeTemplate(stringComparer);
            var fill = new CodeFillerTemplate(stringComparer);

            List<DocCode> docList = new List<DocCode>();
            DocCode doc = new DocCode();
            docs["Built in codes"] = docList;
            doc.code = raw;
            doc.languages = new string[0];
            doc.mainDoc = new List<string>();
            doc.parameterDocs = new Dictionary<string, List<string>>();
            docList.Add(doc);

            doc = new DocCode();
            doc.code = fill;
            doc.languages = new string[0];
            doc.mainDoc = new List<string>();
            doc.parameterDocs = new Dictionary<string, List<string>>();
            docList.Add(doc);
        }