Browse Source

"throw new" now only shows types deriving from Exception.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1673 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 19 years ago
parent
commit
05acdf817f
  1. 2
      src/AddIns/BackendBindings/Boo/BooBinding/Test/ResolverTests.cs
  2. 3
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/Parser/ExpressionFinder.cs
  3. 7
      src/AddIns/BackendBindings/CSharpBinding/Test/ExpressionFinder.cs
  4. 24
      src/Main/Base/Project/Src/Services/ParserService/ParserService.cs
  5. 2
      src/Main/Base/Project/Src/TextEditor/Actions.cs

2
src/AddIns/BackendBindings/Boo/BooBinding/Test/ResolverTests.cs

@ -52,7 +52,7 @@ namespace Grunwald.BooBinding.Tests
{ {
DefaultProjectContent pc = new DefaultProjectContent(); DefaultProjectContent pc = new DefaultProjectContent();
lastPC = pc; lastPC = pc;
ProjectContentRegistry.CurrentProjectContent = pc; HostCallback.GetCurrentProjectContent = delegate { return pc; };
pc.ReferencedContents.Add(ProjectContentRegistry.Mscorlib); pc.ReferencedContents.Add(ProjectContentRegistry.Mscorlib);
pc.ReferencedContents.Add(ProjectContentRegistry.GetProjectContentForReference("System.Windows.Forms", "System.Windows.Forms")); pc.ReferencedContents.Add(ProjectContentRegistry.GetProjectContentForReference("System.Windows.Forms", "System.Windows.Forms"));
pc.ReferencedContents.Add(booLangPC); pc.ReferencedContents.Add(booLangPC);

3
src/AddIns/BackendBindings/CSharpBinding/Project/Src/Parser/ExpressionFinder.cs

@ -95,8 +95,7 @@ namespace CSharpBinding.Parser
} }
} else { } else {
UnGet(); UnGet();
ReadNextToken(); if (ReadIdentifier(GetNextNonWhiteSpace()) == "throw") {
if (curTokenType == Ident && lastIdentifier == "throw") {
return ExpressionContext.TypeDerivingFrom(ParserService.CurrentProjectContent.GetClass("System.Exception"), true); return ExpressionContext.TypeDerivingFrom(ParserService.CurrentProjectContent.GetClass("System.Exception"), true);
} }
} }

7
src/AddIns/BackendBindings/CSharpBinding/Test/ExpressionFinder.cs

@ -37,6 +37,7 @@ class Main {
foreach (TypeName varName in ((CastTo)castTarget).PropertyOnCastExpression) { foreach (TypeName varName in ((CastTo)castTarget).PropertyOnCastExpression) {
} }
throw new NotFoundException();
} }
}"; }";
@ -127,5 +128,11 @@ class Main {
{ {
FindFull(program2, "arName", "varName", ExpressionContext.Default); FindFull(program2, "arName", "varName", ExpressionContext.Default);
} }
[Test]
public void NewException()
{
FindFull(program2, "otFoundException", "NotFoundException()", ExpressionContext.TypeDerivingFrom(ProjectContentRegistry.Mscorlib.GetClass("System.Exception"), true));
}
} }
} }

24
src/Main/Base/Project/Src/Services/ParserService/ParserService.cs

@ -423,19 +423,21 @@ namespace ICSharpCode.Core
defaultProjectContent.ReferencedContents.Add(pc); defaultProjectContent.ReferencedContents.Add(pc);
} }
} }
WorkbenchSingleton.Workbench.ActiveWorkbenchWindowChanged += delegate { if (WorkbenchSingleton.Workbench != null) {
if (WorkbenchSingleton.Workbench.ActiveWorkbenchWindow != null) { WorkbenchSingleton.Workbench.ActiveWorkbenchWindowChanged += delegate {
string file = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent.FileName if (WorkbenchSingleton.Workbench.ActiveWorkbenchWindow != null) {
?? WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent.UntitledName; string file = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent.FileName
if (file != null) { ?? WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent.UntitledName;
IParser parser = GetParser(file); if (file != null) {
if (parser != null && parser.Language != null) { IParser parser = GetParser(file);
defaultProjectContent.Language = parser.Language; if (parser != null && parser.Language != null) {
defaultProjectContent.DefaultImports = parser.Language.CreateDefaultImports(defaultProjectContent); defaultProjectContent.Language = parser.Language;
defaultProjectContent.DefaultImports = parser.Language.CreateDefaultImports(defaultProjectContent);
}
} }
} }
} };
}; }
} }
public static ParseInformation ParseFile(string fileName, string fileContent, bool updateCommentTags, bool fireUpdate) public static ParseInformation ParseFile(string fileName, string fileContent, bool updateCommentTags, bool fireUpdate)

2
src/Main/Base/Project/Src/TextEditor/Actions.cs

@ -78,7 +78,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Actions
if (pos.Position.IsEmpty) if (pos.Position.IsEmpty)
FileService.OpenFile(pos.FileName); FileService.OpenFile(pos.FileName);
else else
FileService.JumpToFilePosition(pos.FileName, pos.Position.X - 1, pos.Position.Y - 1); FileService.JumpToFilePosition(pos.FileName, pos.Line - 1, pos.Column - 1);
} catch (Exception ex) { } catch (Exception ex) {
MessageService.ShowError(ex, "Error jumping to '" + pos.FileName + "'."); MessageService.ShowError(ex, "Error jumping to '" + pos.FileName + "'.");
} }

Loading…
Cancel
Save