Beispiel #1
0
        public static string GetOpCodeDocumentation(OpCode code)
        {
            int index = (int)code.Code;
            int hi = index >> 8;
            if (hi == 0xFE)
                index -= 0xFD00;
            else if (hi != 0)
                return null;
            var s = cachedOpCodeDocs[index];
            if (s != null)
                return s;

            var docProvider = XmlDocLoader.MscorlibDocumentation;
            if (docProvider != null) {
                string docXml = docProvider.GetDocumentation("F:System.Reflection.Emit.OpCodes." + code.Code.ToString());
                if (docXml != null) {
                    XmlDocRenderer renderer = new XmlDocRenderer();
                    renderer.AddXmlDocumentation(docXml);
                    return cachedOpCodeDocs[index] = renderer.ToString();
                }
            }

            return null;
        }