Index: extras/SharpDevelop/BooBinding/src/BooVisitor.boo =================================================================== --- extras/SharpDevelop/BooBinding/src/BooVisitor.boo (revision 2410) +++ extras/SharpDevelop/BooBinding/src/BooVisitor.boo (working copy) @@ -152,7 +152,7 @@ method = child as MethodDeclaration if method is not null and method.Name == "Main": AppendIndentation() - _sourceText.Append("[Module]") + _sourceText.Append("[System.Runtime.CompilerServices.CompilerGlobalScope]") AppendNewLine() modifier = GetModifier(typeDeclaration.Modifier, Modifier.Public) Index: src/Boo.Lang.Compiler/Steps/IntroduceModuleClasses.cs =================================================================== --- src/Boo.Lang.Compiler/Steps/IntroduceModuleClasses.cs (revision 2410) +++ src/Boo.Lang.Compiler/Steps/IntroduceModuleClasses.cs (working copy) @@ -56,7 +56,7 @@ override public void Initialize(CompilerContext context) { base.Initialize(context); - _booModuleAttributeType = TypeSystemServices.Map(typeof(Boo.Lang.ModuleAttribute)); + _booModuleAttributeType = TypeSystemServices.Map(typeof(System.Runtime.CompilerServices.CompilerGlobalScopeAttribute)); } override public void Run() @@ -145,7 +145,7 @@ foreach (TypeMember member in node.Members) { if (NodeType.ClassDefinition == member.NodeType && - member.Attributes.Contains("Boo.Lang.ModuleAttribute")) + member.Attributes.Contains("System.Runtime.CompilerServices.CompilerGlobalScopeAttribute")) { if (null == found) { @@ -162,7 +162,7 @@ Boo.Lang.Compiler.Ast.Attribute CreateBooModuleAttribute() { - Boo.Lang.Compiler.Ast.Attribute attribute = new Boo.Lang.Compiler.Ast.Attribute("Boo.Lang.ModuleAttribute"); + Boo.Lang.Compiler.Ast.Attribute attribute = new Boo.Lang.Compiler.Ast.Attribute("System.Runtime.CompilerServices.CompilerGlobalScopeAttribute"); attribute.Entity = _booModuleAttributeType; return attribute; } Index: src/Boo.Lang.Compiler/TypeSystem/Types.cs =================================================================== --- src/Boo.Lang.Compiler/TypeSystem/Types.cs (revision 2410) +++ src/Boo.Lang.Compiler/TypeSystem/Types.cs (working copy) @@ -121,7 +121,7 @@ public static readonly Type DllImportAttribute = typeof(System.Runtime.InteropServices.DllImportAttribute); - public static readonly Type ModuleAttribute = typeof(Boo.Lang.ModuleAttribute); + public static readonly Type ModuleAttribute = typeof(System.Runtime.CompilerServices.CompilerGlobalScopeAttribute); public static readonly Type ParamArrayAttribute = typeof(ParamArrayAttribute); Index: src/Boo.Lang/ModuleAttribute.cs =================================================================== --- src/Boo.Lang/ModuleAttribute.cs (revision 2410) +++ src/Boo.Lang/ModuleAttribute.cs (working copy) @@ -33,6 +33,7 @@ /// /// Marks a type as a boo module. /// + [Obsolete("Using the Boo.Lang.Module attribute is deprecated. Use System.Runtime.CompilerServices.CompilerGlobalScopeAttribute instead.",true)] [Serializable] public class ModuleAttribute : Attribute { Index: tests/testcases/integration/modules/modules-5.boo =================================================================== --- tests/testcases/integration/modules/modules-5.boo (revision 2410) +++ tests/testcases/integration/modules/modules-5.boo (working copy) @@ -6,7 +6,7 @@ code = """ import System -[Module] +[System.Runtime.CompilerServices.CompilerGlobalScope] class MyModule: static def constructor(): Index: tests/testcases/regression/BOO-650-1.boo =================================================================== --- tests/testcases/regression/BOO-650-1.boo (revision 2410) +++ tests/testcases/regression/BOO-650-1.boo (working copy) @@ -7,8 +7,9 @@ import System import System.Collections import System.Reflection +import System.Runtime.CompilerServices -[Module] +[CompilerGlobalScope] class MyClass: public static def Main(argv as (string)): c = FooCollection() //FooCollection's enumeratoritemtype visited now