Browse Source

Boo: In strict mode, the default visibility is private.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@3877 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 17 years ago
parent
commit
3c312c7567
  1. 18
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/BooProject.cs
  2. 13
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ConvertVisitor.cs

18
src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/BooProject.cs

@ -23,6 +23,7 @@ namespace Grunwald.BooBinding @@ -23,6 +23,7 @@ namespace Grunwald.BooBinding
void Init()
{
reparseCodeSensitiveProperties.Add("Ducky");
reparseCodeSensitiveProperties.Add("Strict");
reparseReferencesSensitiveProperties.Add("TargetFrameworkVersion");
}
@ -123,8 +124,21 @@ namespace Grunwald.BooBinding @@ -123,8 +124,21 @@ namespace Grunwald.BooBinding
public bool Ducky {
get {
bool val;
bool.TryParse(GetEvaluatedProperty("Ducky"), out val);
return val;
if (bool.TryParse(GetEvaluatedProperty("Ducky"), out val))
return val;
else
return false;
}
}
[Browsable(false)]
public bool Strict {
get {
bool val;
if (bool.TryParse(GetEvaluatedProperty("Strict"), out val))
return val;
else
return false;
}
}
}

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

@ -58,7 +58,9 @@ namespace Grunwald.BooBinding.CodeCompletion @@ -58,7 +58,9 @@ namespace Grunwald.BooBinding.CodeCompletion
if (m.IsPrivate) r |= ModifierEnum.Private;
if (m.IsInternal) r |= ModifierEnum.Internal;
if (!m.IsVisibilitySet) {
if (m is AST.Field)
if (IsStrictMode(_cu.ProjectContent))
r |= ModifierEnum.Private;
else if (m is AST.Field)
r |= ModifierEnum.Protected;
else
r |= ModifierEnum.Public;
@ -222,6 +224,15 @@ namespace Grunwald.BooBinding.CodeCompletion @@ -222,6 +224,15 @@ namespace Grunwald.BooBinding.CodeCompletion
}
}
internal static bool IsStrictMode(IProjectContent projectContent)
{
BooProject project = projectContent.Project as BooProject;
if (project != null)
return project.Strict;
else
return false;
}
internal static IReturnType GetDefaultReturnType(IProjectContent projectContent)
{
BooProject project = projectContent.Project as BooProject;

Loading…
Cancel
Save