diff --git a/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/BooParser.cs b/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/BooParser.cs index 4975b72d21..f7f6ea63f5 100644 --- a/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/BooParser.cs +++ b/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/BooParser.cs @@ -178,7 +178,7 @@ namespace Grunwald.BooBinding.CodeCompletion visitor.Cu.FileName = fileName; // Remove unneccessary compiler steps - int num = 1 + compilePipe.Find(typeof(NormalizeTypeAndMemberDefinitions)); + int num = 1 + compilePipe.Find(typeof(NormalizeStatementModifiers)); compilePipe[num] = visitor; while (compilePipe.Count > num + 1) compilePipe.RemoveAt(compilePipe.Count - 1); diff --git a/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ConvertVisitor.cs b/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ConvertVisitor.cs index bd40841eb9..6a44d77a24 100644 --- a/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ConvertVisitor.cs +++ b/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ConvertVisitor.cs @@ -58,6 +58,12 @@ namespace Grunwald.BooBinding.CodeCompletion if (m.IsProtected) r |= ModifierEnum.Protected; if (m.IsPrivate) r |= ModifierEnum.Private; if (m.IsInternal) r |= ModifierEnum.Internal; + if (!m.IsVisibilitySet) { + if (m is AST.Field) + r |= ModifierEnum.Protected; + else + r |= ModifierEnum.Public; + } if (m.IsStatic) r |= ModifierEnum.Static; if (m is AST.Field) { @@ -329,6 +335,10 @@ namespace Grunwald.BooBinding.CodeCompletion private void EnterTypeDefinition(AST.TypeDefinition node, ClassType classType) { //LoggingService.Debug("Enter " + node.GetType().Name + " (" + node.FullName + ")"); + foreach (AST.Attribute att in node.Attributes) { + if (att.Name == "Boo.Lang.ModuleAttribute") + classType = ClassType.Module; + } DomRegion region = GetClientRegion(node); DefaultClass c = new DefaultClass(_cu, classType, GetModifier(node), region, OuterClass); c.FullyQualifiedName = node.FullName; @@ -378,7 +388,7 @@ namespace Grunwald.BooBinding.CodeCompletion public override void OnMethod(AST.Method node) { - //LoggingService.Debug("Method: " + node.FullName); + //LoggingService.Debug("Method: " + node.FullName + " (" + node.Modifiers + ")"); DefaultMethod method = new DefaultMethod(node.Name, null, GetModifier(node), GetRegion(node), GetClientRegion(node), OuterClass); if ((node.ImplementationFlags & AST.MethodImplementationFlags.Extension) == AST.MethodImplementationFlags.Extension) { method.IsExtensionMethod = true; diff --git a/src/AddIns/BackendBindings/Boo/BooBinding/Project/Templates/ConsoleProject.xpt b/src/AddIns/BackendBindings/Boo/BooBinding/Project/Templates/ConsoleProject.xpt index 9fb908ace9..8cbe170870 100644 --- a/src/AddIns/BackendBindings/Boo/BooBinding/Project/Templates/ConsoleProject.xpt +++ b/src/AddIns/BackendBindings/Boo/BooBinding/Project/Templates/ConsoleProject.xpt @@ -27,7 +27,9 @@ -