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
void Init() void Init()
{ {
reparseCodeSensitiveProperties.Add("Ducky"); reparseCodeSensitiveProperties.Add("Ducky");
reparseCodeSensitiveProperties.Add("Strict");
reparseReferencesSensitiveProperties.Add("TargetFrameworkVersion"); reparseReferencesSensitiveProperties.Add("TargetFrameworkVersion");
} }
@ -123,8 +124,21 @@ namespace Grunwald.BooBinding
public bool Ducky { public bool Ducky {
get { get {
bool val; bool val;
bool.TryParse(GetEvaluatedProperty("Ducky"), out val); if (bool.TryParse(GetEvaluatedProperty("Ducky"), out val))
return 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
if (m.IsPrivate) r |= ModifierEnum.Private; if (m.IsPrivate) r |= ModifierEnum.Private;
if (m.IsInternal) r |= ModifierEnum.Internal; if (m.IsInternal) r |= ModifierEnum.Internal;
if (!m.IsVisibilitySet) { if (!m.IsVisibilitySet) {
if (m is AST.Field) if (IsStrictMode(_cu.ProjectContent))
r |= ModifierEnum.Private;
else if (m is AST.Field)
r |= ModifierEnum.Protected; r |= ModifierEnum.Protected;
else else
r |= ModifierEnum.Public; r |= ModifierEnum.Public;
@ -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) internal static IReturnType GetDefaultReturnType(IProjectContent projectContent)
{ {
BooProject project = projectContent.Project as BooProject; BooProject project = projectContent.Project as BooProject;

Loading…
Cancel
Save