コード例 #1
0
 public MarkupData(MarkupFileReference fileRef, String sType, String sName, String sDesc)
     : base(fileRef)
 {
     m_sType = sType;
     m_sName = sName;
     m_sDesc = sDesc;
     m_sCode = String.Empty;
 }
コード例 #2
0
 public MarkupFunction(MarkupFileReference fileRef, String sName, String sDesc, String sCallingConvention, String sReturnType, String sReturnDesc, String sCode, MarkupData[] parameters)
     : base(fileRef)
 {
     m_sName = sName;
     m_sDesc = sDesc;
     m_sCallingConvention = sCallingConvention;
     m_sReturnDescription = sReturnDesc;
     m_sReturnType = sReturnType;
     m_sCode = sCode;
     m_parameters = parameters;
 }
コード例 #3
0
 protected DasmDocBlock(Match blockMatch, MarkupFileReference fileRefernece)
 {
     m_blockMatch = blockMatch;
     m_fileReference = fileRefernece;
 }
コード例 #4
0
        public static DasmDocBlock parse(String sContent, MarkupFileReference fileReference)
        {
            Match m = Regex.Match(sContent, COMMENTBLOCK_REGEX);

            if (!m.Success)
                throw new ParsingException("Improperly formed comment block.");

            return new DasmDocBlock(m, fileReference);
        }
コード例 #5
0
 public MarkupPage(MarkupFileReference fileRef, String sName)
     : base(fileRef)
 {
     m_sName = sName;
 }
コード例 #6
0
        public static DasmDocument parseDocument(FileInfo document)
        {
            DasmDocument doc = new DasmDocument(document.Name);
            String sContents = new StreamReader(document.OpenRead()).ReadToEnd();

            //.Net Regex doesn't parse \r as would be expected.
            sContents = Regex.Replace(sContents, @"\r", String.Empty);

            MatchCollection matches = Regex.Matches(sContents, DasmDocBlock.COMMENTBLOCK_REGEX, RegexOptions.Singleline);

            foreach(Match m in matches)
            {
                MarkupFileReference fileRef = new MarkupFileReference(doc.FileReference.RelativePath, m.Index);
                DasmDocBlock docBlock = DasmDocBlock.parse(m.Value, fileRef);

                IDocumentationFeature docFeature = null;

                if ((docFeature = Data.parse(docBlock)) != null)
                    doc.m_data.Add(docFeature as Data);
                else if ((docFeature = Function.parse(docBlock)) != null)
                    doc.m_functions.Add(docFeature as Function);
                else if ((docFeature = FloatingComment.parse(docBlock)) != null)
                    doc.m_floating.Add(docFeature as FloatingComment);
                else if ((docFeature = Constant.parse(docBlock)) != null)
                    doc.m_constants.Add(docFeature as Constant);
                else
                    throw new ParsingException("Unrecognized comment structure", fileRef);
            }

            return doc;
        }
コード例 #7
0
 public ParsingException(String sReason, MarkupFileReference fileRef)
     : base(sReason)
 {
     m_fileRef = fileRef;
 }
コード例 #8
0
 public MarkupPrimitive()
 {
     m_fileRef = MarkupFileReference.Artificial;
 }
コード例 #9
0
 public MarkupPrimitive(MarkupFileReference fileRef)
 {
     m_fileRef = fileRef;
 }