コード例 #1
0
ファイル: MethodMap.cs プロジェクト: chaitrakeshav/roslyn-1
        internal bool TryGetMethodSourceExtent(DocumentHandle documentHandle, MethodBodyHandle methodHandle, out int startLine, out int endLine)
        {
            MethodsInDocument methodsInDocument;

            if (!_methodsByDocument.TryGetValue(documentHandle, out methodsInDocument))
            {
                startLine = endLine = 0;
                return(false);
            }

            int index = methodsInDocument.ExtentsByMethod.BinarySearch(methodHandle, (ext, handle) => HandleComparer.Default.Compare(ext.Method, handle));

            if (index < 0)
            {
                startLine = endLine = 0;
                return(false);
            }

            var extent = methodsInDocument.ExtentsByMethod[index];

            startLine = extent.MinLine;
            endLine   = extent.MaxLine;
            return(true);
        }
コード例 #2
0
ファイル: MethodMap.cs プロジェクト: chaitrakeshav/roslyn-1
 public MethodLineExtent(MethodBodyHandle method, int minLine, int maxLine)
 {
     Method  = method;
     MinLine = minLine;
     MaxLine = maxLine;
 }
コード例 #3
0
 internal static MethodDefinitionHandle ToMethodDefinitionHandle(this MethodBodyHandle handle)
 {
     return(MetadataTokens.MethodDefinitionHandle(MetadataTokens.GetRowNumber(handle)));
 }
コード例 #4
0
ファイル: SymMethod.cs プロジェクト: chaitrakeshav/roslyn-1
 internal SymMethod(SymReader symReader, MethodBodyHandle handle)
 {
     Debug.Assert(symReader != null);
     SymReader  = symReader;
     BodyHandle = handle;
 }