nitc: model_visitor shows the location
authorJean Privat <jean@pryen.org>
Sun, 1 May 2016 15:58:50 +0000 (11:58 -0400)
committerJean Privat <jean@pryen.org>
Fri, 13 May 2016 20:38:51 +0000 (16:38 -0400)
Signed-off-by: Jean Privat <jean@pryen.org>

src/test_model_visitor.nit
tests/sav/test_model_visitor_args1.res
tests/sav/test_model_visitor_args2.res

index b46af5c..d7cc947 100644 (file)
@@ -117,6 +117,6 @@ do
                var c = ""
                var d = e.mdoc_or_fallback
                if d != null and d.content.not_empty then c = d.content.first
-               print "{n}\t{e.class_name}\t{c}"
+               print "{n}\t{e.class_name}\t{e.location}\t{c}"
        end
 end
index c19ddce..fb0ab9b 100644 (file)
@@ -110,58 +110,58 @@ Names:
   base_simple3: 12 (1.06%)
 
 # All entities
-base_simple3   MPackage        
-base_simple3>  MGroup  
-base_simple3::base_simple3     MModule 
-base_simple3::Object   MClass  
-base_simple3$Object    MClassDef       
-base_simple3::Object::init     MMethod 
-base_simple3$Object$init       MMethodDef      
-base_simple3::Bool     MClass  
-base_simple3$Bool      MClassDef       
-base_simple3::Int      MClass  
-base_simple3$Int       MClassDef       
-base_simple3::Int::output      MMethod 
-base_simple3$Int$output        MMethodDef      
-base_simple3::A        MClass  
-base_simple3$A MClassDef       
-base_simple3$A$Object::init    MMethodDef      
-base_simple3::A::run   MMethod 
-base_simple3$A$run     MMethodDef      
-base_simple3::B        MClass  
-base_simple3$B MClassDef       
-base_simple3::base_simple3::B::_val    MAttribute      
-base_simple3$B$_val    MAttributeDef   
-base_simple3::B::val   MMethod 
-base_simple3$B$val     MMethodDef      
-base_simple3::B::val=  MMethod 
-base_simple3$B$val=    MMethodDef      
-base_simple3::B::init  MMethod 
-base_simple3$B$init    MMethodDef      
-base_simple3::B::run   MMethod 
-base_simple3$B$run     MMethodDef      
-base_simple3::C        MClass  
-base_simple3$C MClassDef       
-base_simple3::base_simple3::C::_val1   MAttribute      
-base_simple3$C$_val1   MAttributeDef   
-base_simple3::C::val1  MMethod 
-base_simple3$C$val1    MMethodDef      
-base_simple3::C::val1= MMethod 
-base_simple3$C$val1=   MMethodDef      
-base_simple3::base_simple3::C::_val2   MAttribute      
-base_simple3$C$_val2   MAttributeDef   
-base_simple3::C::val2  MMethod 
-base_simple3$C$val2    MMethodDef      
-base_simple3::C::val2= MMethod 
-base_simple3$C$val2=   MMethodDef      
-base_simple3$C$Object::init    MMethodDef      
-base_simple3::Sys      MClass  
-base_simple3$Sys       MClassDef       
-base_simple3::Sys::foo MMethod 
-base_simple3$Sys$foo   MMethodDef      
-base_simple3::Sys::bar MMethod 
-base_simple3$Sys$bar   MMethodDef      
-base_simple3::Sys::baz MMethod 
-base_simple3$Sys$baz   MMethodDef      
-base_simple3::Sys::main        MMethod 
-base_simple3$Sys$main  MMethodDef      
+base_simple3   MPackage        base_simple3.nit        
+base_simple3>  MGroup  base_simple3.nit        
+base_simple3::base_simple3     MModule base_simple3.nit:17,1--66,13    
+base_simple3::Object   MClass  base_simple3.nit:19,1--20,3     
+base_simple3$Object    MClassDef       base_simple3.nit:19,1--20,3     
+base_simple3::Object::init     MMethod base_simple3.nit:19,1--20,3     
+base_simple3$Object$init       MMethodDef      base_simple3.nit:19,1--20,3     
+base_simple3::Bool     MClass  base_simple3.nit:22,1--23,3     
+base_simple3$Bool      MClassDef       base_simple3.nit:22,1--23,3     
+base_simple3::Int      MClass  base_simple3.nit:25,1--27,3     
+base_simple3$Int       MClassDef       base_simple3.nit:25,1--27,3     
+base_simple3::Int::output      MMethod base_simple3.nit:26,2--21       
+base_simple3$Int$output        MMethodDef      base_simple3.nit:26,2--21       
+base_simple3::A        MClass  base_simple3.nit:29,1--32,3     
+base_simple3$A MClassDef       base_simple3.nit:29,1--32,3     
+base_simple3$A$Object::init    MMethodDef      base_simple3.nit:30,2--17       
+base_simple3::A::run   MMethod base_simple3.nit:31,2--20       
+base_simple3$A$run     MMethodDef      base_simple3.nit:31,2--20       
+base_simple3::B        MClass  base_simple3.nit:34,1--42,3     
+base_simple3$B MClassDef       base_simple3.nit:34,1--42,3     
+base_simple3::base_simple3::B::_val    MAttribute      base_simple3.nit:35,2--13       
+base_simple3$B$_val    MAttributeDef   base_simple3.nit:35,2--13       
+base_simple3::B::val   MMethod base_simple3.nit:35,2--13       
+base_simple3$B$val     MMethodDef      base_simple3.nit:35,2--13       
+base_simple3::B::val=  MMethod base_simple3.nit:35,2--13       
+base_simple3$B$val=    MMethodDef      base_simple3.nit:35,2--13       
+base_simple3::B::init  MMethod base_simple3.nit:36,2--40,4     
+base_simple3$B$init    MMethodDef      base_simple3.nit:36,2--40,4     
+base_simple3::B::run   MMethod base_simple3.nit:41,2--22       
+base_simple3$B$run     MMethodDef      base_simple3.nit:41,2--22       
+base_simple3::C        MClass  base_simple3.nit:44,1--47,3     
+base_simple3$C MClassDef       base_simple3.nit:44,1--47,3     
+base_simple3::base_simple3::C::_val1   MAttribute      base_simple3.nit:45,2--14       
+base_simple3$C$_val1   MAttributeDef   base_simple3.nit:45,2--14       
+base_simple3::C::val1  MMethod base_simple3.nit:45,2--14       
+base_simple3$C$val1    MMethodDef      base_simple3.nit:45,2--14       
+base_simple3::C::val1= MMethod base_simple3.nit:45,2--14       
+base_simple3$C$val1=   MMethodDef      base_simple3.nit:45,2--14       
+base_simple3::base_simple3::C::_val2   MAttribute      base_simple3.nit:46,2--19       
+base_simple3$C$_val2   MAttributeDef   base_simple3.nit:46,2--19       
+base_simple3::C::val2  MMethod base_simple3.nit:46,2--19       
+base_simple3$C$val2    MMethodDef      base_simple3.nit:46,2--19       
+base_simple3::C::val2= MMethod base_simple3.nit:46,2--19       
+base_simple3$C$val2=   MMethodDef      base_simple3.nit:46,2--19       
+base_simple3$C$Object::init    MMethodDef      base_simple3.nit:44,1--47,3     
+base_simple3::Sys      MClass  base_simple3.nit:49,1--19       
+base_simple3$Sys       MClassDef       base_simple3.nit:49,1--19       
+base_simple3::Sys::foo MMethod base_simple3.nit:49,1--19       
+base_simple3$Sys$foo   MMethodDef      base_simple3.nit:49,1--19       
+base_simple3::Sys::bar MMethod base_simple3.nit:50,1--27       
+base_simple3$Sys$bar   MMethodDef      base_simple3.nit:50,1--27       
+base_simple3::Sys::baz MMethod base_simple3.nit:51,1--24       
+base_simple3$Sys$baz   MMethodDef      base_simple3.nit:51,1--24       
+base_simple3::Sys::main        MMethod base_simple3.nit:53,1--66,13    
+base_simple3$Sys$main  MMethodDef      base_simple3.nit:53,1--66,13    
index 2dd778a..caad05a 100644 (file)
@@ -106,101 +106,101 @@ Names:
   names: 5 (0.28%)
 
 # All entities
-names  MPackage        Group of modules used to test various full_name configurations and conflicts.
-names> MGroup  Group of modules used to test various full_name configurations and conflicts.
-names::n3      MModule The bottom module
-names::n3$A1   MClassDef       a refinement of a subclass in a submodule
-names::n3$A1$A::a      MMethodDef      a refinement (3 distinct modules)
-names::n3$A1$::n0::P::p        MMethodDef      a refinement (3 distinct modules)
-names::n3$::n1::P1     MClassDef       a refinement of a subclass in a submodule
-names::n3$::n1::P1$A::a        MMethodDef      a refinement (3 distinct modules)
-names::n3$::n1::P1$::n0::P::p  MMethodDef      a refinement (3 distinct modules)
-names::n0      MModule Root module
-names::Object  MClass  
-names$Object   MClassDef       Root interface
-names::Object::init    MMethod 
-names$Object$init      MMethodDef      
-names::A       MClass  
-names$A        MClassDef       A public class
-names::A::a    MMethod 
-names$A$a      MMethodDef      A public method in a public class
-names::n0::A::z        MMethod 
-names$A$z      MMethodDef      A private method in a public class
-names::A0      MClass  
-names$A0       MClassDef       A public subclass in the same module
-names$A0$A::a  MMethodDef      Redefinition it the same module of a public method
-names$A0$::n0::A::z    MMethodDef      Redefinition it the same module of a private method
-names$A0$::n0::P::p    MMethodDef      Redefinition it the same module of a private method
-names::n0::P   MClass  
-names::n0$P    MClassDef       A private class
-names::n0::P::p        MMethod 
-names::n0$P$p  MMethodDef      A private method in a private class
-names::n0::P0  MClass  
-names::n0$P0   MClassDef       A private subclass introduced in the same module
-names::n0$P0$A::a      MMethodDef      Redefinition it the same module of a public method
-names::n0$P0$::n0::A::z        MMethodDef      Redefinition it the same module of a private method
-names::n0$P0$::n0::P::p        MMethodDef      Redefinition it the same module of a private method
-names::n1      MModule Second module
-names::n1$A    MClassDef       A refinement of a class
-names::n1$A$a  MMethodDef      A refinement in the same class
-names::n1$A$z  MMethodDef      A refinement in the same class
-names::n1::A::b        MMethod 
-names::n1$A$b  MMethodDef      A public method introduced in a refinement
-names::n1$A0   MClassDef       A refinement of a subclass
-names::n1$A0$A::a      MMethodDef      A refinement+redefinition
-names::n1$A0$::n0::A::z        MMethodDef      A refinement+redefinition
-names::n1$A0$::n0::P::p        MMethodDef      A refinement+redefinition
-names::A1      MClass  
-names$A1       MClassDef       A subclass introduced in a submodule
-names$A1$A::a  MMethodDef      A redefinition in a subclass from a different module
-names$A1$::n0::A::z    MMethodDef      A redefinition in a subclass from a different module
-names$A1$::n0::P::p    MMethodDef      A redefinition in a subclass from a different module
-names::n1$::n0::P      MClassDef       A refinement of a class
-names::n1$::n0::P$p    MMethodDef      A refinement in the same class
-names::n1$::n0::P0     MClassDef       A refinement of a subclass
-names::n1$::n0::P0$A::a        MMethodDef      A refinement+redefinition
-names::n1$::n0::P0$::n0::A::z  MMethodDef      A refinement+redefinition
-names::n1$::n0::P0$::n0::P::p  MMethodDef      A refinement+redefinition
-names::n1::P1  MClass  
-names::n1$P1   MClassDef       A private subclass introduced in a different module
-names::n1$P1$A::a      MMethodDef      A redefinition in a subclass from a different module
-names::n1$P1$::n0::A::z        MMethodDef      A redefinition in a subclass from a different module
-names::n1$P1$::n0::P::p        MMethodDef      A redefinition in a subclass from a different module
-names::n2      MModule A alternative second module, used to make name conflicts
-names::n2$A    MClassDef       A refinement of a class
-names::n2::A::b        MMethod 
-names::n2$A$b  MMethodDef      Name conflict? A second public method
-names::n2::A::z        MMethod 
-names::n2$A$z  MMethodDef      Name conflict? A second private method
-names::n2::P   MClass  
-names::n2$P    MClassDef       Name conflict? A second private class
-names::n2::P::p        MMethod 
-names::n2$P$p  MMethodDef      Name conflict? A private method in an homonym class.
-names1 MPackage        An alternative second module in a distinct package
-names1>        MGroup  An alternative second module in a distinct package
-names1::names1 MModule An alternative second module in a distinct package
-names1::names1$names::A        MClassDef       A refinement of a class
-names1::names1$names::A$a      MMethodDef      A refinement in the same class
-names1::names1$names::A$z      MMethodDef      A refinement in the same class
-names1::names1::A::b   MMethod 
-names1::names1$names::A$b      MMethodDef      A public method introduced in a refinement
-names1::names1$names::A0       MClassDef       A refinement of a subclass
-names1::names1$names::A0$names::A::a   MMethodDef      A refinement+redefinition
-names1::names1$names::A0$names::n0::A::z       MMethodDef      A refinement+redefinition
-names1::names1$names::A0$names::n0::P::p       MMethodDef      A refinement+redefinition
-names1::A1     MClass  
-names1$A1      MClassDef       A subclass introduced in a submodule
-names1$A1$names::A::a  MMethodDef      A redefinition in a subclass from a different module
-names1$A1$names::n0::A::z      MMethodDef      A redefinition in a subclass from a different module
-names1$A1$names::n0::P::p      MMethodDef      A redefinition in a subclass from a different module
-names1::names1$names::n0::P    MClassDef       A refinement of a class
-names1::names1$names::n0::P$p  MMethodDef      A refinement in the same class
-names1::names1$names::n0::P0   MClassDef       A refinement of a subclass
-names1::names1$names::n0::P0$names::A::a       MMethodDef      A refinement+redefinition
-names1::names1$names::n0::P0$names::n0::A::z   MMethodDef      A refinement+redefinition
-names1::names1$names::n0::P0$names::n0::P::p   MMethodDef      A refinement+redefinition
-names1::names1::P1     MClass  
-names1::names1$P1      MClassDef       A private subclass introduced in a different module
-names1::names1$P1$names::A::a  MMethodDef      A redefinition in a subclass from a different module
-names1::names1$P1$names::n0::A::z      MMethodDef      A redefinition in a subclass from a different module
-names1::names1$P1$names::n0::P::p      MMethodDef      A redefinition in a subclass from a different module
+names  MPackage        names   Group of modules used to test various full_name configurations and conflicts.
+names> MGroup  names   Group of modules used to test various full_name configurations and conflicts.
+names::n3      MModule names/n3.nit:15,1--35,3 The bottom module
+names::n3$A1   MClassDef       names/n3.nit:21,1--27,3 a refinement of a subclass in a submodule
+names::n3$A1$A::a      MMethodDef      names/n3.nit:23,2--24,19        a refinement (3 distinct modules)
+names::n3$A1$::n0::P::p        MMethodDef      names/n3.nit:25,2--26,19        a refinement (3 distinct modules)
+names::n3$::n1::P1     MClassDef       names/n3.nit:29,1--35,3 a refinement of a subclass in a submodule
+names::n3$::n1::P1$A::a        MMethodDef      names/n3.nit:31,2--32,19        a refinement (3 distinct modules)
+names::n3$::n1::P1$::n0::P::p  MMethodDef      names/n3.nit:33,2--34,19        a refinement (3 distinct modules)
+names::n0      MModule names/n0.nit:15,1--67,3 Root module
+names::Object  MClass  names/n0.nit:20,1--22,3 
+names$Object   MClassDef       names/n0.nit:20,1--22,3 Root interface
+names::Object::init    MMethod names/n0.nit:20,1--22,3 
+names$Object$init      MMethodDef      names/n0.nit:20,1--22,3 
+names::A       MClass  names/n0.nit:24,1--31,3 
+names$A        MClassDef       names/n0.nit:24,1--31,3 A public class
+names::A::a    MMethod names/n0.nit:26,2--27,13        
+names$A$a      MMethodDef      names/n0.nit:26,2--27,13        A public method in a public class
+names::n0::A::z        MMethod names/n0.nit:29,2--30,21        
+names$A$z      MMethodDef      names/n0.nit:29,2--30,21        A private method in a public class
+names::A0      MClass  names/n0.nit:33,1--46,3 
+names$A0       MClassDef       names/n0.nit:33,1--46,3 A public subclass in the same module
+names$A0$A::a  MMethodDef      names/n0.nit:38,2--39,19        Redefinition it the same module of a public method
+names$A0$::n0::A::z    MMethodDef      names/n0.nit:41,2--42,19        Redefinition it the same module of a private method
+names$A0$::n0::P::p    MMethodDef      names/n0.nit:44,2--45,19        Redefinition it the same module of a private method
+names::n0::P   MClass  names/n0.nit:48,1--52,3 
+names::n0$P    MClassDef       names/n0.nit:48,1--52,3 A private class
+names::n0::P::p        MMethod names/n0.nit:50,2--51,13        
+names::n0$P$p  MMethodDef      names/n0.nit:50,2--51,13        A private method in a private class
+names::n0::P0  MClass  names/n0.nit:54,1--67,3 
+names::n0$P0   MClassDef       names/n0.nit:54,1--67,3 A private subclass introduced in the same module
+names::n0$P0$A::a      MMethodDef      names/n0.nit:59,2--60,19        Redefinition it the same module of a public method
+names::n0$P0$::n0::A::z        MMethodDef      names/n0.nit:62,2--63,19        Redefinition it the same module of a private method
+names::n0$P0$::n0::P::p        MMethodDef      names/n0.nit:65,2--66,19        Redefinition it the same module of a private method
+names::n1      MModule names/n1.nit:15,1--90,3 Second module
+names::n1$A    MClassDef       names/n1.nit:20,1--30,3 A refinement of a class
+names::n1$A$a  MMethodDef      names/n1.nit:22,2--23,19        A refinement in the same class
+names::n1$A$z  MMethodDef      names/n1.nit:25,2--26,19        A refinement in the same class
+names::n1::A::b        MMethod names/n1.nit:28,2--29,13        
+names::n1$A$b  MMethodDef      names/n1.nit:28,2--29,13        A public method introduced in a refinement
+names::n1$A0   MClassDef       names/n1.nit:32,1--42,3 A refinement of a subclass
+names::n1$A0$A::a      MMethodDef      names/n1.nit:34,2--35,19        A refinement+redefinition
+names::n1$A0$::n0::A::z        MMethodDef      names/n1.nit:37,2--38,19        A refinement+redefinition
+names::n1$A0$::n0::P::p        MMethodDef      names/n1.nit:40,2--41,19        A refinement+redefinition
+names::A1      MClass  names/n1.nit:44,1--57,3 
+names$A1       MClassDef       names/n1.nit:44,1--57,3 A subclass introduced in a submodule
+names$A1$A::a  MMethodDef      names/n1.nit:49,2--50,19        A redefinition in a subclass from a different module
+names$A1$::n0::A::z    MMethodDef      names/n1.nit:52,2--53,19        A redefinition in a subclass from a different module
+names$A1$::n0::P::p    MMethodDef      names/n1.nit:55,2--56,19        A redefinition in a subclass from a different module
+names::n1$::n0::P      MClassDef       names/n1.nit:59,1--63,3 A refinement of a class
+names::n1$::n0::P$p    MMethodDef      names/n1.nit:61,2--62,19        A refinement in the same class
+names::n1$::n0::P0     MClassDef       names/n1.nit:65,1--75,3 A refinement of a subclass
+names::n1$::n0::P0$A::a        MMethodDef      names/n1.nit:67,2--68,19        A refinement+redefinition
+names::n1$::n0::P0$::n0::A::z  MMethodDef      names/n1.nit:70,2--71,19        A refinement+redefinition
+names::n1$::n0::P0$::n0::P::p  MMethodDef      names/n1.nit:73,2--74,19        A refinement+redefinition
+names::n1::P1  MClass  names/n1.nit:77,1--90,3 
+names::n1$P1   MClassDef       names/n1.nit:77,1--90,3 A private subclass introduced in a different module
+names::n1$P1$A::a      MMethodDef      names/n1.nit:82,2--83,19        A redefinition in a subclass from a different module
+names::n1$P1$::n0::A::z        MMethodDef      names/n1.nit:85,2--86,19        A redefinition in a subclass from a different module
+names::n1$P1$::n0::P::p        MMethodDef      names/n1.nit:88,2--89,19        A redefinition in a subclass from a different module
+names::n2      MModule names/n2.nit:15,1--33,3 A alternative second module, used to make name conflicts
+names::n2$A    MClassDef       names/n2.nit:20,1--27,3 A refinement of a class
+names::n2::A::b        MMethod names/n2.nit:22,2--23,13        
+names::n2$A$b  MMethodDef      names/n2.nit:22,2--23,13        Name conflict? A second public method
+names::n2::A::z        MMethod names/n2.nit:25,2--26,13        
+names::n2$A$z  MMethodDef      names/n2.nit:25,2--26,13        Name conflict? A second private method
+names::n2::P   MClass  names/n2.nit:29,1--33,3 
+names::n2$P    MClassDef       names/n2.nit:29,1--33,3 Name conflict? A second private class
+names::n2::P::p        MMethod names/n2.nit:31,2--32,13        
+names::n2$P$p  MMethodDef      names/n2.nit:31,2--32,13        Name conflict? A private method in an homonym class.
+names1 MPackage        names1.nit      An alternative second module in a distinct package
+names1>        MGroup  names1.nit      An alternative second module in a distinct package
+names1::names1 MModule names1.nit:15,1--90,3   An alternative second module in a distinct package
+names1::names1$names::A        MClassDef       names1.nit:20,1--30,3   A refinement of a class
+names1::names1$names::A$a      MMethodDef      names1.nit:22,2--23,19  A refinement in the same class
+names1::names1$names::A$z      MMethodDef      names1.nit:25,2--26,19  A refinement in the same class
+names1::names1::A::b   MMethod names1.nit:28,2--29,13  
+names1::names1$names::A$b      MMethodDef      names1.nit:28,2--29,13  A public method introduced in a refinement
+names1::names1$names::A0       MClassDef       names1.nit:32,1--42,3   A refinement of a subclass
+names1::names1$names::A0$names::A::a   MMethodDef      names1.nit:34,2--35,19  A refinement+redefinition
+names1::names1$names::A0$names::n0::A::z       MMethodDef      names1.nit:37,2--38,19  A refinement+redefinition
+names1::names1$names::A0$names::n0::P::p       MMethodDef      names1.nit:40,2--41,19  A refinement+redefinition
+names1::A1     MClass  names1.nit:44,1--57,3   
+names1$A1      MClassDef       names1.nit:44,1--57,3   A subclass introduced in a submodule
+names1$A1$names::A::a  MMethodDef      names1.nit:49,2--50,19  A redefinition in a subclass from a different module
+names1$A1$names::n0::A::z      MMethodDef      names1.nit:52,2--53,19  A redefinition in a subclass from a different module
+names1$A1$names::n0::P::p      MMethodDef      names1.nit:55,2--56,19  A redefinition in a subclass from a different module
+names1::names1$names::n0::P    MClassDef       names1.nit:59,1--63,3   A refinement of a class
+names1::names1$names::n0::P$p  MMethodDef      names1.nit:61,2--62,19  A refinement in the same class
+names1::names1$names::n0::P0   MClassDef       names1.nit:65,1--75,3   A refinement of a subclass
+names1::names1$names::n0::P0$names::A::a       MMethodDef      names1.nit:67,2--68,19  A refinement+redefinition
+names1::names1$names::n0::P0$names::n0::A::z   MMethodDef      names1.nit:70,2--71,19  A refinement+redefinition
+names1::names1$names::n0::P0$names::n0::P::p   MMethodDef      names1.nit:73,2--74,19  A refinement+redefinition
+names1::names1::P1     MClass  names1.nit:77,1--90,3   
+names1::names1$P1      MClassDef       names1.nit:77,1--90,3   A private subclass introduced in a different module
+names1::names1$P1$names::A::a  MMethodDef      names1.nit:82,2--83,19  A redefinition in a subclass from a different module
+names1::names1$P1$names::n0::A::z      MMethodDef      names1.nit:85,2--86,19  A redefinition in a subclass from a different module
+names1::names1$P1$names::n0::P::p      MMethodDef      names1.nit:88,2--89,19  A redefinition in a subclass from a different module