[svn] r6049: nemerle/trunk/ncc/hierarchy/TypesManager.n

malekith svnadmin at nemerle.org
Fri Jan 6 20:44:08 CET 2006


Log:
Call assembly macros first, and macros on types later (in given phase).

Author: malekith
Date: Fri Jan  6 20:44:05 2006
New Revision: 6049

Modified:
   nemerle/trunk/ncc/hierarchy/TypesManager.n

Modified: nemerle/trunk/ncc/hierarchy/TypesManager.n
==============================================================================
--- nemerle/trunk/ncc/hierarchy/TypesManager.n	(original)
+++ nemerle/trunk/ncc/hierarchy/TypesManager.n	Fri Jan  6 20:44:05 2006
@@ -160,9 +160,9 @@
      */
     public Run () : void
     {
+      AttributeCompiler.ExpandAssemblyMacros (MacroPhase.BeforeInheritance);
       foreach (x : TypeBuilder in infos.Reverse ())
         Util.locate (x.Location, x.process_macro_attributes (MacroPhase.BeforeInheritance));
-      AttributeCompiler.ExpandAssemblyMacros (MacroPhase.BeforeInheritance);
 
       run_phase = 1;
       SourceTopIter (fun (x : TypeBuilder) { x.make_tyenvs () });
@@ -182,13 +182,13 @@
 
       run_phase = 5;
 
-      Iter (fun (x : TypeBuilder) { x.process_macro_attributes (MacroPhase.BeforeTypedMembers) });
       AttributeCompiler.ExpandAssemblyMacros (MacroPhase.BeforeTypedMembers);    
+      Iter (fun (x : TypeBuilder) { x.process_macro_attributes (MacroPhase.BeforeTypedMembers) });
 
       Iter (fun (x : TypeBuilder) { x.add_members () });
 
-      Iter (fun (x : TypeBuilder) { x.process_macro_attributes (MacroPhase.WithTypedMembers) });
       AttributeCompiler.ExpandAssemblyMacros (MacroPhase.WithTypedMembers);        
+      Iter (fun (x : TypeBuilder) { x.process_macro_attributes (MacroPhase.WithTypedMembers) });
 
       // add constant object constructors for constant variant options
       Iter (fun (x : TypeBuilder) { x.add_constant_variant_ctors () });



More information about the svn mailing list