diff --git a/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerLoader/XmlDesignerLoader.cs b/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerLoader/XmlDesignerLoader.cs index a982176338..8af750160b 100644 --- a/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerLoader/XmlDesignerLoader.cs +++ b/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerLoader/XmlDesignerLoader.cs @@ -87,7 +87,6 @@ namespace ICSharpCode.FormDesigner } } } - Console.WriteLine(componentName); object newObject = host.CreateComponent(host.GetType(name), componentName); if (newObject is Control) { diff --git a/src/AddIns/Misc/StartPage/Project/Src/StartPage.cs b/src/AddIns/Misc/StartPage/Project/Src/StartPage.cs index f24a545c9a..b84cdb8f93 100644 --- a/src/AddIns/Misc/StartPage/Project/Src/StartPage.cs +++ b/src/AddIns/Misc/StartPage/Project/Src/StartPage.cs @@ -97,7 +97,6 @@ namespace ICSharpCode.StartPage e.Cancel = true; // bug in webbrowser control? string url = e.Url.Replace("about:blank", ""); - Console.WriteLine("'" + url + "'"); if (url.StartsWith("project://")) { try { ICSharpCode.Core.RecentOpen recOpen = (ICSharpCode.Core.RecentOpen)FileService.RecentOpen; diff --git a/src/Main/Base/Project/Src/Commands/MenuItemBuilders.cs b/src/Main/Base/Project/Src/Commands/MenuItemBuilders.cs index c33da995e4..526a807821 100644 --- a/src/Main/Base/Project/Src/Commands/MenuItemBuilders.cs +++ b/src/Main/Base/Project/Src/Commands/MenuItemBuilders.cs @@ -382,11 +382,8 @@ namespace ICSharpCode.SharpDevelop.Commands public ToolStripItem[] BuildSubmenu(Codon codon, object owner) { - Console.WriteLine("Sub menu : " + Category); - Console.WriteLine(WorkbenchSingleton.Workbench.PadContentCollection.Count); ArrayList items = new ArrayList(); foreach (PadDescriptor padContent in WorkbenchSingleton.Workbench.PadContentCollection) { - Console.WriteLine(padContent.Category); if (padContent.Category == Category) { items.Add(new MyMenuItem(padContent)); } diff --git a/src/Main/Base/Project/Src/Dom/IClass.cs b/src/Main/Base/Project/Src/Dom/IClass.cs index c28c611330..11867a1090 100644 --- a/src/Main/Base/Project/Src/Dom/IClass.cs +++ b/src/Main/Base/Project/Src/Dom/IClass.cs @@ -96,5 +96,8 @@ namespace ICSharpCode.SharpDevelop.Dom IClass GetInnermostClass(int caretLine, int caretColumn); + ArrayList GetAccessibleTypes(IClass callingClass); + ArrayList GetAccessibleMembers(IClass callingClass, bool showStatic); + } } diff --git a/src/Main/Base/Project/Src/Dom/IDecoration.cs b/src/Main/Base/Project/Src/Dom/IDecoration.cs index 431cae11e7..bb7a2369c7 100644 --- a/src/Main/Base/Project/Src/Dom/IDecoration.cs +++ b/src/Main/Base/Project/Src/Dom/IDecoration.cs @@ -39,6 +39,10 @@ namespace ICSharpCode.SharpDevelop.Dom bool IsStatic { get; } + + bool IsConst { + get; + } bool IsVirtual { get; @@ -97,5 +101,9 @@ namespace ICSharpCode.SharpDevelop.Dom get; set; } + + bool IsAccessible(IClass callingClass, bool isClassInInheritanceTree); + bool MustBeShown(IClass callingClass, bool showStatic, bool isClassInInheritanceTree); + } } diff --git a/src/Main/Base/Project/Src/Dom/Implementations/AbstractClass.cs b/src/Main/Base/Project/Src/Dom/Implementations/AbstractClass.cs index 8e2b31887b..a09e604a19 100644 --- a/src/Main/Base/Project/Src/Dom/Implementations/AbstractClass.cs +++ b/src/Main/Base/Project/Src/Dom/Implementations/AbstractClass.cs @@ -326,6 +326,92 @@ namespace ICSharpCode.SharpDevelop.Dom return this; } + public ArrayList GetAccessibleTypes(IClass callingClass) + { + ArrayList types = new ArrayList(); + + bool isClassInInheritanceTree = callingClass.IsTypeInInheritanceTree(this); + foreach (IClass c in InnerClasses) { + if (((c.ClassType == ClassType.Class) || (c.ClassType == ClassType.Struct)) && + c.IsAccessible(callingClass, isClassInInheritanceTree)) { + types.Add(c); + } + } + IClass baseClass = BaseClass; + if (baseClass != null) { + types.AddRange(baseClass.GetAccessibleTypes(callingClass).ToArray()); + } + return types; + } + + public ArrayList GetAccessibleMembers(IClass callingClass, bool showStatic) + { + ArrayList members = new ArrayList(); + + DateTime now = DateTime.Now; + + // enums must be handled specially, because there are several things defined we don't want to show + // and enum members have neither the modifier nor the modifier public + if (ClassType == ClassType.Enum) { + foreach (IField f in Fields) { + if (f.IsLiteral) { + members.Add(f); + } + } + members.AddRange(ProjectContent.GetClass("System.Enum").GetAccessibleMembers(callingClass, showStatic).ToArray()); + return members; + } + + bool isClassInInheritanceTree = callingClass.IsTypeInInheritanceTree(this); + + if (showStatic) { + foreach (IClass c in InnerClasses) { + if (c.IsAccessible(callingClass, isClassInInheritanceTree)) { + members.Add(c); + } + } + } + + foreach (IProperty p in Properties) { + if (p.MustBeShown(callingClass, showStatic, isClassInInheritanceTree)) { + members.Add(p); + } + } + + foreach (IMethod m in Methods) { + if (m.MustBeShown(callingClass, showStatic, isClassInInheritanceTree)) { + members.Add(m); + } + } + + foreach (IEvent e in Events) { + if (e.MustBeShown(callingClass, showStatic, isClassInInheritanceTree)) { + members.Add(e); + } + } + + foreach (IField f in Fields) { + if (f.MustBeShown(callingClass, showStatic, isClassInInheritanceTree)) { + members.Add(f); + } + } + + if (ClassType == ClassType.Interface && !showStatic) { + foreach (string s in BaseTypes) { + IClass baseClass = ProjectContent.SearchType(s, this, Region != null ? Region.BeginLine : -1, Region != null ? Region.BeginColumn : -1); + if (baseClass != null && baseClass.ClassType == ClassType.Interface) { + members.AddRange(baseClass.GetAccessibleMembers(callingClass, showStatic).ToArray()); + } + } + } else { + IClass baseClass = BaseClass; + if (baseClass != null) { + members.AddRange(baseClass.GetAccessibleMembers(callingClass, showStatic).ToArray()); + } + } + + return members; + } public class ClassInheritanceEnumerator : IEnumerator, IEnumerable { diff --git a/src/Main/Base/Project/Src/Dom/Implementations/AbstractDecoration.cs b/src/Main/Base/Project/Src/Dom/Implementations/AbstractDecoration.cs index c1df015859..1ff785e0d6 100644 --- a/src/Main/Base/Project/Src/Dom/Implementations/AbstractDecoration.cs +++ b/src/Main/Base/Project/Src/Dom/Implementations/AbstractDecoration.cs @@ -72,6 +72,12 @@ namespace ICSharpCode.SharpDevelop.Dom return (modifiers & ModifierEnum.Static) == ModifierEnum.Static; } } + + public bool IsConst { + get { + return (modifiers & ModifierEnum.Const) == ModifierEnum.Const; + } + } public bool IsVirtual { get { @@ -156,6 +162,50 @@ namespace ICSharpCode.SharpDevelop.Dom this.declaringType = declaringType; } + bool IsInnerClass(IClass c, IClass possibleInnerClass) + { + foreach (IClass inner in c.InnerClasses) { + if (inner.FullyQualifiedName == possibleInnerClass.FullyQualifiedName) { + return true; + } + if (IsInnerClass(inner, possibleInnerClass)) { + return true; + } + } + return false; + } + + // TODO: check inner classes for protected members too. + // TODO: look for FullyQualifiedName == FullyQualifiedName. Must be replaced by a function wich pays attention to the case. + // Look at NRefactoryResolver.IsSameName. Also pay attention if you can put this Function in IClass, and if you have to + // compare the names instead of the FullyQualifiedNames + public bool IsAccessible(IClass callingClass, bool isClassInInheritanceTree) + { + if (IsInternal) { + return true; + } + if (IsPublic) { + return true; + } + if (isClassInInheritanceTree && IsProtected) { + return true; + } + + return callingClass != null && (DeclaringType.FullyQualifiedName == callingClass.FullyQualifiedName || IsInnerClass(DeclaringType, callingClass)); + } + + public bool MustBeShown(IClass callingClass, bool showStatic, bool isClassInInheritanceTree) + { + if (DeclaringType.ClassType == ClassType.Enum) { + return true; + } + if (!showStatic && IsStatic || (showStatic && !(IsStatic || IsConst))) { // const is automatically static + return false; + } + return IsAccessible(callingClass, isClassInInheritanceTree); + } + + public virtual int CompareTo(IDecoration value) { int cmp; diff --git a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryResolver.cs b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryResolver.cs index a2a94c8a3b..7d3c95f8ab 100644 --- a/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryResolver.cs +++ b/src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryResolver.cs @@ -71,7 +71,8 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver this.projectContent = ParserService.CurrentProjectContent; } - bool IsCaseSensitive(SupportedLanguages language) { + bool IsCaseSensitive(SupportedLanguages language) + { switch (language) { case SupportedLanguages.CSharp: return true; @@ -87,9 +88,8 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver int caretColumn, string fileName) { - if (!IsCaseSensitive(language)) { - caseSensitive = false; - } + caseSensitive = IsCaseSensitive(language); + if (expression == null) { expression = ""; } @@ -97,6 +97,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver if (!caseSensitive) { expression = expression.ToLower(); } + // disable the code completion for numbers like 3.47 if (IsNumber(expression)) { return null; @@ -165,11 +166,11 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver return TryNamespace(type); } if (inNew) { - return new ResolveResult(returnClass, projectContent.ListTypes(new ArrayList(), returnClass, callingClass)); + return new ResolveResult(returnClass, returnClass.GetAccessibleTypes(callingClass)); } else { - ArrayList result = projectContent.ListMembers(new ArrayList(), returnClass, callingClass, showStatic); + ArrayList result = returnClass.GetAccessibleMembers(callingClass, showStatic); if (!showStatic && language == SupportedLanguages.VBNet) { - result = projectContent.ListMembers(result, returnClass, callingClass, true); + result.AddRange(returnClass.GetAccessibleMembers(callingClass, true).ToArray()); } return new ResolveResult(returnClass, result); } @@ -349,7 +350,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver foreach (IMethod m in curType.Methods) { if (IsSameName(m.Name, memberName) && - projectContent.MustBeShown(curType, m, callingClass, showStatic, isClassInInheritanceTree) && + m.MustBeShown(callingClass, showStatic, isClassInInheritanceTree) && !((m.Modifiers & ModifierEnum.Override) == ModifierEnum.Override)) { methods.Add(m); } @@ -375,7 +376,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver { bool isClassInInheritanceTree = callingClass.IsTypeInInheritanceTree(curType); foreach (IIndexer i in curType.Indexer) { - if (projectContent.MustBeShown(curType, i, callingClass, showStatic, isClassInInheritanceTree) && !((i.Modifiers & ModifierEnum.Override) == ModifierEnum.Override)) { + if (i.MustBeShown(callingClass, showStatic, isClassInInheritanceTree) && !((i.Modifiers & ModifierEnum.Override) == ModifierEnum.Override)) { indexer.Add(i); } } @@ -408,7 +409,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver } if (curType.ClassType == ClassType.Enum) { foreach (IField f in curType.Fields) { - if (IsSameName(f.Name, memberName) && projectContent.MustBeShown(curType, f, callingClass, showStatic, isClassInInheritanceTree)) { + if (IsSameName(f.Name, memberName) && f.MustBeShown(callingClass, showStatic, isClassInInheritanceTree)) { showStatic = false; return type; // enum members have the type of the enum } @@ -416,25 +417,25 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver } if (showStatic) { foreach (IClass c in curType.InnerClasses) { - if (IsSameName(c.Name, memberName) && projectContent.IsAccessible(curType, c, callingClass, isClassInInheritanceTree)) { + if (IsSameName(c.Name, memberName) && c.IsAccessible(callingClass, isClassInInheritanceTree)) { return new ReturnType(c.FullyQualifiedName); } } } foreach (IProperty p in curType.Properties) { - if (IsSameName(p.Name, memberName) && projectContent.MustBeShown(curType, p, callingClass, showStatic, isClassInInheritanceTree)) { + if (IsSameName(p.Name, memberName) && p.MustBeShown(callingClass, showStatic, isClassInInheritanceTree)) { showStatic = false; return p.ReturnType; } } foreach (IField f in curType.Fields) { - if (IsSameName(f.Name, memberName) && projectContent.MustBeShown(curType, f, callingClass, showStatic, isClassInInheritanceTree)) { + if (IsSameName(f.Name, memberName) && f.MustBeShown(callingClass, showStatic, isClassInInheritanceTree)) { showStatic = false; return f.ReturnType; } } foreach (IEvent e in curType.Events) { - if (IsSameName(e.Name, memberName) && projectContent.MustBeShown(curType, e, callingClass, showStatic, isClassInInheritanceTree)) { + if (IsSameName(e.Name, memberName) && e.MustBeShown(callingClass, showStatic, isClassInInheritanceTree)) { showStatic = false; return e.ReturnType; } @@ -725,9 +726,9 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver } result.AddRange(projectContent.GetNamespaceContents(callingClass.Namespace)); bool inStatic = InStatic(); - result = projectContent.ListMembers(result, callingClass, callingClass, inStatic); + result.AddRange(callingClass.GetAccessibleMembers(callingClass, inStatic).ToArray()); if (inStatic == false) { - result = projectContent.ListMembers(result, callingClass, callingClass, !inStatic); + result.AddRange(callingClass.GetAccessibleMembers(callingClass, !inStatic).ToArray()); } } } diff --git a/src/Main/Base/Project/Src/Project/MSBuildProject.cs b/src/Main/Base/Project/Src/Project/MSBuildProject.cs index 372bbf9fdb..2a42f68cde 100644 --- a/src/Main/Base/Project/Src/Project/MSBuildProject.cs +++ b/src/Main/Base/Project/Src/Project/MSBuildProject.cs @@ -350,7 +350,6 @@ namespace ICSharpCode.SharpDevelop.Project break; } TaskService.BuildMessageViewCategory.AppendText(line + Environment.NewLine); - Console.WriteLine(line); Match match = projectName.Match(line); if (match.Success) { string name = match.Result("${name}"); diff --git a/src/Main/Base/Project/Src/Services/ParserService/CaseSensitiveProjectContent.cs b/src/Main/Base/Project/Src/Services/ParserService/CaseSensitiveProjectContent.cs index e398b9f79f..83c8c3da00 100644 --- a/src/Main/Base/Project/Src/Services/ParserService/CaseSensitiveProjectContent.cs +++ b/src/Main/Base/Project/Src/Services/ParserService/CaseSensitiveProjectContent.cs @@ -399,68 +399,6 @@ namespace ICSharpCode.Core return null; } - - bool IsInnerClass(IClass c, IClass possibleInnerClass) - { - foreach (IClass inner in c.InnerClasses) { - if (inner.FullyQualifiedName == possibleInnerClass.FullyQualifiedName) { - return true; - } - if (IsInnerClass(inner, possibleInnerClass)) { - return true; - } - } - return false; - } - - // TODO: check inner classes for protected members too. - // TODO: look for FullyQualifiedName == FullyQualifiedName. Must be replaced by a function wich pays attention to the case. - // Look at NRefactoryResolver.IsSameName. Also pay attention if you can put this Function in IClass, and if you have to - // compare the names instead of the FullyQualifiedNames - public bool IsAccessible(IClass c, IDecoration member, IClass callingClass, bool isClassInInheritanceTree) - { - if ((member.Modifiers & ModifierEnum.Internal) == ModifierEnum.Internal) { - return true; - } - if ((member.Modifiers & ModifierEnum.Public) == ModifierEnum.Public) { - return true; - } - if ((member.Modifiers & ModifierEnum.Protected) == ModifierEnum.Protected && (isClassInInheritanceTree)) { - return true; - } - return c != null && callingClass != null && (c.FullyQualifiedName == callingClass.FullyQualifiedName || IsInnerClass(c, callingClass)); - } - - public bool MustBeShown(IClass c, IDecoration member, IClass callingClass, bool showStatic, bool isClassInInheritanceTree) - { - if (c != null && c.ClassType == ClassType.Enum) { - return true; - } - if ((!showStatic && ((member.Modifiers & ModifierEnum.Static) == ModifierEnum.Static)) || - ( showStatic && !(((member.Modifiers & ModifierEnum.Static) == ModifierEnum.Static) || - ((member.Modifiers & ModifierEnum.Const) == ModifierEnum.Const)))) { // const is automatically static - return false; - } - return IsAccessible(c, member, callingClass, isClassInInheritanceTree); - } - - public ArrayList ListTypes(ArrayList types, IClass curType, IClass callingClass) - { -// Console.WriteLine("ListTypes()"); - bool isClassInInheritanceTree = callingClass.IsTypeInInheritanceTree(curType); - foreach (IClass c in curType.InnerClasses) { - if (((c.ClassType == ClassType.Class) || (c.ClassType == ClassType.Struct)) && - IsAccessible(curType, c, callingClass, isClassInInheritanceTree)) { - types.Add(c); - } - } - IClass baseClass = curType.BaseClass; - if (baseClass != null) { - ListTypes(types, baseClass, callingClass); - } - return types; - } - public ArrayList ListMembers(ArrayList members, IClass curType, IClass callingClass, bool showStatic) { // Console.WriteLine("ListMembers()"); @@ -482,32 +420,32 @@ namespace ICSharpCode.Core if (showStatic) { foreach (IClass c in curType.InnerClasses) { - if (IsAccessible(curType, c, callingClass, isClassInInheritanceTree)) { + if (c.IsAccessible(callingClass, isClassInInheritanceTree)) { members.Add(c); } } } foreach (IProperty p in curType.Properties) { - if (MustBeShown(curType, p, callingClass, showStatic, isClassInInheritanceTree)) { + if (p.MustBeShown(callingClass, showStatic, isClassInInheritanceTree)) { members.Add(p); } } foreach (IMethod m in curType.Methods) { - if (MustBeShown(curType, m, callingClass, showStatic, isClassInInheritanceTree)) { + if (m.MustBeShown(callingClass, showStatic, isClassInInheritanceTree)) { members.Add(m); } } foreach (IEvent e in curType.Events) { - if (MustBeShown(curType, e, callingClass, showStatic, isClassInInheritanceTree)) { + if (e.MustBeShown(callingClass, showStatic, isClassInInheritanceTree)) { members.Add(e); } } foreach (IField f in curType.Fields) { - if (MustBeShown(curType, f, callingClass, showStatic, isClassInInheritanceTree)) { + if (f.MustBeShown(callingClass, showStatic, isClassInInheritanceTree)) { members.Add(f); } } diff --git a/src/Main/Base/Project/Src/Services/ParserService/IProjectContent.cs b/src/Main/Base/Project/Src/Services/ParserService/IProjectContent.cs index b9ff9f53d7..ed545c61ac 100644 --- a/src/Main/Base/Project/Src/Services/ParserService/IProjectContent.cs +++ b/src/Main/Base/Project/Src/Services/ParserService/IProjectContent.cs @@ -45,12 +45,6 @@ namespace ICSharpCode.Core IClass SearchType(string name, IClass curType, int caretLine, int caretColumn); IClass SearchType(string name, IClass curType, ICompilationUnit unit, int caretLine, int caretColumn); - bool IsAccessible(IClass c, IDecoration member, IClass callingClass, bool isClassInInheritanceTree); - bool MustBeShown(IClass c, IDecoration member, IClass callingClass, bool showStatic, bool isClassInInheritanceTree); - - ArrayList ListTypes(ArrayList types, IClass curType, IClass callingClass); - ArrayList ListMembers(ArrayList members, IClass curType, IClass callingClass, bool showStatic); - Position GetPosition(string fullMemberName); } } diff --git a/src/Main/Base/Project/Src/Services/ParserService/ProjectContentRegistry.cs b/src/Main/Base/Project/Src/Services/ParserService/ProjectContentRegistry.cs index c6efe7fd21..a3721c6b99 100644 --- a/src/Main/Base/Project/Src/Services/ParserService/ProjectContentRegistry.cs +++ b/src/Main/Base/Project/Src/Services/ParserService/ProjectContentRegistry.cs @@ -49,7 +49,6 @@ namespace ICSharpCode.Core try { assembly = Assembly.ReflectionOnlyLoadFrom(item.FileName); - Console.WriteLine(assembly.Location); if (assembly != null) { contents[item.FileName] = CaseSensitiveProjectContent.Create(assembly); return contents[item.FileName]; @@ -57,7 +56,6 @@ namespace ICSharpCode.Core } catch (Exception) { try { assembly = Assembly.LoadWithPartialName(item.Include); - Console.WriteLine(assembly.Location); if (assembly != null) { contents[item.Include] = CaseSensitiveProjectContent.Create(assembly); return contents[item.Include]; diff --git a/src/Main/Base/Project/Src/TextEditor/Gui/Editor/CompletionWindow/CodeCompletionDataProvider.cs b/src/Main/Base/Project/Src/TextEditor/Gui/Editor/CompletionWindow/CodeCompletionDataProvider.cs index b332166a51..5f25f96bbd 100644 --- a/src/Main/Base/Project/Src/TextEditor/Gui/Editor/CompletionWindow/CodeCompletionDataProvider.cs +++ b/src/Main/Base/Project/Src/TextEditor/Gui/Editor/CompletionWindow/CodeCompletionDataProvider.cs @@ -144,9 +144,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor if(oc.Name == expression || oc.FullyQualifiedName==expression) { Debug.WriteLine(((IClass)o).Name); // now we can set completion data - ArrayList members=new ArrayList(); - AddResolveResults(ParserService.CurrentProjectContent.ListMembers(members,oc,oc,true)); - members.Clear(); + AddResolveResults(oc.GetAccessibleMembers(oc,true)); // clear objects to indicate end of loop for namespaces objs.Clear(); objs=null; diff --git a/src/Main/Core/Project/Src/AddInTree/AddIn/StandardErbauer/MenuItem/Gui/Menu.cs b/src/Main/Core/Project/Src/AddInTree/AddIn/StandardErbauer/MenuItem/Gui/Menu.cs index 1997c119c7..5e67cf4eb9 100644 --- a/src/Main/Core/Project/Src/AddInTree/AddIn/StandardErbauer/MenuItem/Gui/Menu.cs +++ b/src/Main/Core/Project/Src/AddInTree/AddIn/StandardErbauer/MenuItem/Gui/Menu.cs @@ -38,7 +38,6 @@ namespace ICSharpCode.Core { DropDownItems.Clear(); foreach (object item in subItems) { - Console.WriteLine(item); if (item is ToolStripItem) { DropDownItems.Add((ToolStripItem)item); ((IStatusUpdate)item).UpdateStatus(); diff --git a/src/Main/Core/Project/Src/AddInTree/AddIn/StandardErbauer/MenuItem/Gui/MenuCommand.cs b/src/Main/Core/Project/Src/AddInTree/AddIn/StandardErbauer/MenuItem/Gui/MenuCommand.cs index 5c0838616a..887aa4cc4b 100644 --- a/src/Main/Core/Project/Src/AddInTree/AddIn/StandardErbauer/MenuItem/Gui/MenuCommand.cs +++ b/src/Main/Core/Project/Src/AddInTree/AddIn/StandardErbauer/MenuItem/Gui/MenuCommand.cs @@ -132,7 +132,6 @@ namespace ICSharpCode.Core Image = ResourceService.GetBitmap(codon.Properties["icon"]); } ConditionFailedAction failedAction = codon.GetFailedAction(caller); - Console.WriteLine("failed action {0}", failedAction); Visible = failedAction != ConditionFailedAction.Exclude; if (localizedText == null) {