Browse Source

Fixed code completion for global methods.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@982 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
64cfc3cef3
  1. 2
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/BooParser.cs
  2. 12
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ConvertVisitor.cs
  3. 4
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Templates/ConsoleProject.xpt

2
src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/BooParser.cs

@ -178,7 +178,7 @@ namespace Grunwald.BooBinding.CodeCompletion @@ -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);

12
src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ConvertVisitor.cs

@ -58,6 +58,12 @@ namespace Grunwald.BooBinding.CodeCompletion @@ -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 @@ -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 @@ -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;

4
src/AddIns/BackendBindings/Boo/BooBinding/Project/Templates/ConsoleProject.xpt

@ -27,7 +27,9 @@ @@ -27,7 +27,9 @@
</ProjectItems>
<Files>
<File name="Program.boo"><![CDATA[import System
<File name="Program.boo"><![CDATA[namespace ${StandardNamespace}
import System
import System.Collections
print "Hello, World!"

Loading…
Cancel
Save