Ejemplo n.º 1
0
        bool GoTo(IFileTab tab, MethodDef method, uint?ilOffset, object @ref)
        {
            if (method == null || ilOffset == null)
            {
                return(false);
            }
            var uiContext = tab.TryGetTextEditorUIContext();

            if (uiContext == null)
            {
                return(false);
            }
            var cm      = uiContext.GetCodeMappings();
            var mapping = cm.Find(method, ilOffset.Value);

            if (mapping == null)
            {
                return(false);
            }

            var location = mapping.StartPosition;
            var loc      = FindLocation(uiContext.GetCodeReferences(location.Line, location.Column), mapping.EndPosition, @ref);

            if (loc == null)
            {
                loc = new TextEditorLocation(location.Line, location.Column);
            }

            uiContext.ScrollAndMoveCaretTo(loc.Value.Line, loc.Value.Column);
            return(true);
        }
Ejemplo n.º 2
0
        bool MustRefresh(IFileTab tab, IEnumerable <IDnSpyFile> files)
        {
            var modules = new HashSet <IDnSpyFile>(files);

            if (InModifiedModuleHelper.IsInModifiedModule(modules, tab.Content.Nodes))
            {
                return(true);
            }
            var uiContext = tab.TryGetTextEditorUIContext();

            if (uiContext != null && InModifiedModuleHelper.IsInModifiedModule(FileTreeView.FileManager, modules, uiContext.References))
            {
                return(true);
            }

            return(false);
        }
Ejemplo n.º 3
0
        bool GoTo(IFileTab tab, MethodDef method, uint ilOffset)
        {
            var uiContext = tab.TryGetTextEditorUIContext();

            if (uiContext == null || method == null)
            {
                return(false);
            }
            var cm      = uiContext.GetCodeMappings();
            var mapping = cm.Find(method, ilOffset);

            if (mapping == null)
            {
                return(false);
            }

            var location = mapping.StartPosition;

            uiContext.ScrollAndMoveCaretTo(location.Line, location.Column);
            return(true);
        }
Ejemplo n.º 4
0
		bool GoTo(IFileTab tab, MethodDef method, uint ilOffset) {
			var uiContext = tab.TryGetTextEditorUIContext();
			if (uiContext == null || method == null)
				return false;
			var cm = uiContext.GetCodeMappings();
			var mapping = cm.Find(method, ilOffset);
			if (mapping == null)
				return false;

			var location = mapping.StartPosition;
			uiContext.ScrollAndMoveCaretTo(location.Line, location.Column);
			return true;
		}
Ejemplo n.º 5
0
		bool GoTo(IFileTab tab, MethodDef method, uint? ilOffset, object @ref) {
			if (method == null || ilOffset == null)
				return false;
			var uiContext = tab.TryGetTextEditorUIContext();
			if (uiContext == null)
				return false;
			var cm = uiContext.GetCodeMappings();
			var mapping = cm.Find(method, ilOffset.Value);
			if (mapping == null)
				return false;

			var location = mapping.StartPosition;
			var loc = FindLocation(uiContext.GetCodeReferences(location.Line, location.Column), mapping.EndPosition, @ref);
			if (loc == null)
				loc = new TextEditorLocation(location.Line, location.Column);

			uiContext.ScrollAndMoveCaretTo(loc.Value.Line, loc.Value.Column);
			return true;
		}