From b430d4b3aac12eac622cb84b13ba58f81be4613b Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Sat, 17 Jun 2006 11:47:17 +0000 Subject: [PATCH] Fixed SD2-854: Renaming VB's MyApplication class git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.0@1494 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Project/Src/MyNamespaceBuilder.cs | 17 +++++++---------- .../Implementations/DefaultCompilationUnit.cs | 5 ++++- .../FindReferencesAndRenameHelper.cs | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/MyNamespaceBuilder.cs b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/MyNamespaceBuilder.cs index 277da41a26..f5fbe70dff 100644 --- a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/MyNamespaceBuilder.cs +++ b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/MyNamespaceBuilder.cs @@ -22,7 +22,7 @@ namespace VBNetBinding public static void BuildNamespace(IProject project, IProjectContent pc) { ICompilationUnit cu = new DefaultCompilationUnit(pc); - cu.FileName = "GeneratedMyNamespace.vb"; + //cu.FileName = "GeneratedMyNamespace.vb"; // leave FileName null - fixes SD2-854 string ns; if (project.RootNamespace == null || project.RootNamespace.Length == 0) ns = "My"; @@ -41,7 +41,7 @@ namespace VBNetBinding } DefaultClass c = new DefaultClass(cu, ns + ".MyProject"); c.ClassType = ClassType.Module; - c.Modifiers = ModifierEnum.Internal | ModifierEnum.Partial | ModifierEnum.Sealed; + c.Modifiers = ModifierEnum.Internal | ModifierEnum.Partial | ModifierEnum.Sealed | ModifierEnum.Synthetic; c.Attributes.Add(new DefaultAttribute("Microsoft.VisualBasic.HideModuleNameAttribute")); // we need to use GetClassReturnType instead of DefaultReturnType because we need @@ -72,7 +72,7 @@ namespace VBNetBinding { DefaultClass c = new DefaultClass(cu, ns + ".MyApplication"); c.ClassType = ClassType.Class; - c.Modifiers = ModifierEnum.Internal | ModifierEnum.Sealed | ModifierEnum.Partial; + c.Modifiers = ModifierEnum.Internal | ModifierEnum.Sealed | ModifierEnum.Partial | ModifierEnum.Synthetic; c.Attributes.Add(new DefaultAttribute("Microsoft.VisualBasic.HideModuleNameAttribute")); switch (project.OutputType) { case OutputType.WinExe: @@ -97,7 +97,7 @@ namespace VBNetBinding { DefaultClass c = new DefaultClass(cu, ns + ".MyComputer"); c.ClassType = ClassType.Class; - c.Modifiers = ModifierEnum.Internal | ModifierEnum.Sealed | ModifierEnum.Partial; + c.Modifiers = ModifierEnum.Internal | ModifierEnum.Sealed | ModifierEnum.Partial | ModifierEnum.Synthetic; c.Attributes.Add(new DefaultAttribute("Microsoft.VisualBasic.HideModuleNameAttribute")); c.BaseTypes.Add(CreateBaseType(cu, "Microsoft.VisualBasic.Devices.Computer")); return c; @@ -107,7 +107,7 @@ namespace VBNetBinding { DefaultClass c = new MyFormsClass(cu, ns + ".MyForms"); c.ClassType = ClassType.Class; - c.Modifiers = ModifierEnum.Internal | ModifierEnum.Sealed; //| ModifierEnum.Partial; + c.Modifiers = ModifierEnum.Internal | ModifierEnum.Sealed | ModifierEnum.Synthetic; c.Attributes.Add(new DefaultAttribute("Microsoft.VisualBasic.HideModuleNameAttribute")); return c; } @@ -119,14 +119,11 @@ namespace VBNetBinding public override List Properties { get { List properties = new List(); - IProjectContent pc = ProjectContentRegistry.GetExistingProjectContent(new System.Reflection.AssemblyName("System.Windows.Forms")); - if (pc == null) - return properties; - IClass formClass = pc.GetClass("System.Windows.Forms.Form"); + IClass formClass = this.ProjectContent.GetClass("System.Windows.Forms.Form"); if (formClass == null) return properties; foreach (IClass c in this.ProjectContent.Classes) { - if (c.BaseClass == formClass) { + if (c.IsTypeInInheritanceTree(formClass)) { properties.Add(new DefaultProperty(c.Name, new GetClassReturnType(this.ProjectContent, c.FullyQualifiedName, 0), ModifierEnum.Public | ModifierEnum.Static, diff --git a/src/Main/Base/Project/Src/Dom/Implementations/DefaultCompilationUnit.cs b/src/Main/Base/Project/Src/Dom/Implementations/DefaultCompilationUnit.cs index 30fa0ca3af..ff46356f04 100644 --- a/src/Main/Base/Project/Src/Dom/Implementations/DefaultCompilationUnit.cs +++ b/src/Main/Base/Project/Src/Dom/Implementations/DefaultCompilationUnit.cs @@ -27,12 +27,15 @@ namespace ICSharpCode.SharpDevelop.Dom string fileName = null; IProjectContent projectContent; + /// + /// Source code file this compilation unit was created from. For compiled are compiler-generated + /// code, this property returns null. + /// public string FileName { get { return fileName; } set { - Debug.Assert(value != null); fileName = value; } } diff --git a/src/Main/Base/Project/Src/Services/RefactoringService/FindReferencesAndRenameHelper.cs b/src/Main/Base/Project/Src/Services/RefactoringService/FindReferencesAndRenameHelper.cs index 0a13de35b3..56228405d5 100644 --- a/src/Main/Base/Project/Src/Services/RefactoringService/FindReferencesAndRenameHelper.cs +++ b/src/Main/Base/Project/Src/Services/RefactoringService/FindReferencesAndRenameHelper.cs @@ -39,7 +39,7 @@ namespace ICSharpCode.SharpDevelop.Refactoring public static bool IsReadOnly(IClass c) { - return c.CompilationUnit.FileName == null; + return c.CompilationUnit.FileName == null || c.GetCompoundClass().IsSynthetic; } public static TextEditorControl JumpToDefinition(IMember member)