Browse Source

possible fix for problems mentioned in 3ba0ba57f8

pull/331/head
Siegfried Pammer 12 years ago
parent
commit
4289c67d48
  1. 6
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/Parser/Parser.cs
  2. 4
      src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs

6
src/AddIns/BackendBindings/CSharpBinding/Project/Src/Parser/Parser.cs

@ -170,7 +170,11 @@ namespace CSharpBinding.Parser @@ -170,7 +170,11 @@ namespace CSharpBinding.Parser
if (csParseInfo == null)
throw new ArgumentException("Parse info does not have SyntaxTree");
return ResolveAtLocation.Resolve(compilation, csParseInfo.UnresolvedFile, csParseInfo.SyntaxTree, location, cancellationToken);
CSharpUnresolvedFile unresolvedFile = csParseInfo.UnresolvedFile;
IProject project = SD.ProjectService.FindProjectContainingFile(new FileName(unresolvedFile.FileName));
if (project == null || compilation.Assemblies.All(asm => asm.GetProject() != project))
unresolvedFile = null;
return ResolveAtLocation.Resolve(compilation, unresolvedFile, csParseInfo.SyntaxTree, location, cancellationToken);
}
public void FindLocalReferences(ParseInformation parseInfo, ITextSource fileContent, IVariable variable, ICompilation compilation, Action<SearchResultMatch> callback, CancellationToken cancellationToken)

4
src/AddIns/Debugger/Debugger.AddIn/Service/WindowsDebugger.cs

@ -641,7 +641,9 @@ namespace ICSharpCode.SharpDevelop.Services @@ -641,7 +641,9 @@ namespace ICSharpCode.SharpDevelop.Services
{
if (!(IsDebugging && CurrentProcess.IsPaused))
return;
var resolveResult = e.ResolveResult;
if (CurrentStackFrame == null)
return;
var resolveResult = SD.ParserService.Resolve(e.Editor, e.LogicalPosition, CurrentStackFrame.AppDomain.Compilation);
if (resolveResult == null)
return;
if (resolveResult is LocalResolveResult || resolveResult is MemberResolveResult) {

Loading…
Cancel
Save