[svn] r6457: nemerle/trunk/ncc: parsing/PreParser.n passes.n

VladD2 svnadmin at nemerle.org
Fri Jul 21 12:06:00 CEST 2006


Log:
Has added location to "using directive" parsing notification.

Author: VladD2
Date: Fri Jul 21 12:05:58 2006
New Revision: 6457

Modified:
   nemerle/trunk/ncc/parsing/PreParser.n
   nemerle/trunk/ncc/passes.n

Modified: nemerle/trunk/ncc/parsing/PreParser.n
==============================================================================
--- nemerle/trunk/ncc/parsing/PreParser.n	(original)
+++ nemerle/trunk/ncc/parsing/PreParser.n	Fri Jul 21 12:05:58 2006
@@ -381,7 +381,7 @@
                 def using_tok = Token.Using (loc, Env);
                 current_stream.Add (using_tok);
 
-                lexer.Manager.OnAfterUsingDirectiveParse(id, idLoc, oldEnv, Env);
+                lexer.Manager.OnAfterUsingDirectiveParse(loc + st.Location, id, idLoc, oldEnv, Env);
                 
               | Token.Operator ("=") =>
                 def (id', idLoc') = get_qualified_identifier ();
@@ -400,9 +400,13 @@
                 def using_tok = Token.Using (tok.Location + st.Location, Env);
                 current_stream.Add (using_tok);
                 
-                lexer.Manager.OnAfterUsingDirectiveParse(id', idLoc', oldEnv, Env);
+                lexer.Manager.OnAfterUsingDirectiveParse(tok.Location + st.Location, 
+                  id', idLoc', oldEnv, Env);
 
-              | x => Message.Error (x.Location, "expecting `;' or `='")
+              | x => 
+                Message.Error (x.Location, "expecting `;' or `='");
+                lexer.Manager.OnAfterUsingDirectiveParse(tok.Location + lexer.Location, 
+                  id, idLoc, oldEnv, Env);
             }
             finish_current (current_begin);
             loop ()

Modified: nemerle/trunk/ncc/passes.n
==============================================================================
--- nemerle/trunk/ncc/passes.n	(original)
+++ nemerle/trunk/ncc/passes.n	Fri Jul 21 12:05:58 2006
@@ -124,9 +124,10 @@
      * location : Location - location of qualified identifier.
     */
     protected mutable _afterUsingDirectiveParse 
-      : list [string] * Location * GlobalEnv * GlobalEnv -> void;
+      : Location * list [string] * Location * GlobalEnv * GlobalEnv -> void;
 
     internal OnAfterUsingDirectiveParse(
+      location : Location,
       name : list [string],
       nameLocation : Location,
       beforeEnv : GlobalEnv,
@@ -134,7 +135,7 @@
       ) : void
     {
       when (_afterUsingDirectiveParse != null)
-        _afterUsingDirectiveParse (name, nameLocation, beforeEnv, afterEnv);
+        _afterUsingDirectiveParse (location, name, nameLocation, beforeEnv, afterEnv);
     }
 
     protected mutable _beforeNamespaceParse : void -> void;



More information about the svn mailing list