From d9a90d7903f0baec47e674ff1cdf32f647b2dce7 Mon Sep 17 00:00:00 2001 From: Eusebiu Marcu Date: Thu, 3 Feb 2011 14:40:41 +0200 Subject: [PATCH] set the file extension form CodeDomProvider; make the temp file readonly --- .../Project/Src/Editor/Commands/GoToDefinition.cs | 4 ++++ .../DecompilerService/DecompilerService.cs | 15 +++++---------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/Main/Base/Project/Src/Editor/Commands/GoToDefinition.cs b/src/Main/Base/Project/Src/Editor/Commands/GoToDefinition.cs index d78ce8f624..99f3ae6425 100644 --- a/src/Main/Base/Project/Src/Editor/Commands/GoToDefinition.cs +++ b/src/Main/Base/Project/Src/Editor/Commands/GoToDefinition.cs @@ -56,6 +56,10 @@ namespace ICSharpCode.SharpDevelop.Editor.Commands // jump to definition var info = ParserService.ParseFile(filePath); + + if (info == null) + return; + int line = 0, col = 0; foreach(var c in info.CompilationUnit.Classes) { if (s.ResolvedMember.EntityType == EntityType.Event) { diff --git a/src/Main/Base/Project/Src/Services/DecompilerService/DecompilerService.cs b/src/Main/Base/Project/Src/Services/DecompilerService/DecompilerService.cs index e3b5f58938..87e2c62c81 100644 --- a/src/Main/Base/Project/Src/Services/DecompilerService/DecompilerService.cs +++ b/src/Main/Base/Project/Src/Services/DecompilerService/DecompilerService.cs @@ -311,16 +311,9 @@ namespace ICSharpCode.SharpDevelop { // temp file string tempFolder = Path.GetTempPath(); - string file = fileName + ".temp"; - if (ProjectService.CurrentProject != null) { - string language = ProjectService.CurrentProject.Language.ToLower(); - if (language == "c#" || language == "csharp") - file += ".cs"; - else - if (language == "vb" || language == "vbnet") - file += ".vb"; - } - + string file = fileName + ".temp." + + ProjectService.CurrentProject.LanguageProperties.CodeDomProvider.FileExtension; + string filePath = Path.Combine(tempFolder, file); if (File.Exists(filePath)) @@ -337,6 +330,8 @@ namespace ICSharpCode.SharpDevelop sw, new CodeGeneratorOptions()); } + + File.SetAttributes(filePath, FileAttributes.ReadOnly); return filePath; } }