[svn] r7383: vs-plugin/trunk/Nemerle.Compiler.Utils/Nemerle.Completion2/CodeModel/XmlDocReader.n

pbludov svnadmin at nemerle.org
Mon Feb 5 06:36:20 CET 2007


Log:
Sync with compiler.

Author: pbludov
Date: Mon Feb  5 06:36:18 2007
New Revision: 7383

Modified:
   vs-plugin/trunk/Nemerle.Compiler.Utils/Nemerle.Completion2/CodeModel/XmlDocReader.n

Modified: vs-plugin/trunk/Nemerle.Compiler.Utils/Nemerle.Completion2/CodeModel/XmlDocReader.n
==============================================================================
--- vs-plugin/trunk/Nemerle.Compiler.Utils/Nemerle.Completion2/CodeModel/XmlDocReader.n	(original)
+++ vs-plugin/trunk/Nemerle.Compiler.Utils/Nemerle.Completion2/CodeModel/XmlDocReader.n	Mon Feb  5 06:36:18 2007
@@ -102,58 +102,9 @@
       }
     }
 
-    private GetKey(member : IMember) : string
-    {
-      def getName(m : IMember) : string
-      {
-      | ti is TypeInfo =>
-        if (ti.TyparmsCount == 0)
-          ti.FullName;
-        else
-          ti.FullName + "`" + ti.TyparmsCount.ToString();
-
-      | _              => (if (m.DeclaringType != null) getName(m.DeclaringType) + "."; else "") + m.Name.Replace('.', '#');
-      }
-
-      def getTypeName(ty : MType) : string
-      {
-      | Class       (tycon, _) => getName(tycon);
-      | TyVarRef    (tyvar)    => tyvar.Name;
-      | Fun         (_from, _to) => "(todo)";
-      | Tuple       (_args)     => "(todo)";
-      | Array       (t, _rank)  => getTypeName(t.Fix()) + "[]"; // Todo: rank
-      | Ref         (t)
-      | Out         (t)        => getTypeName(t.Fix());
-      | Void                   => throw InvalidOperationException("Got void as method parameter");
-      | Intersection(_)        => throw InvalidOperationException("Got Intersection as method parameter");
-      }
-
-      def name = getName(member);
-
-      match (member.MemberKind)
-      {
-      | MemberKinds.Field       => "F:" + name;
-      | MemberKinds.Event       => "E:" + name;
-      | MemberKinds.Property    => "P:" + name;
-
-      | MemberKinds.TypeInfo
-      | MemberKinds.NestedType  => "T:" + name;
-
-      | MemberKinds.Method
-      | MemberKinds.Constructor =>
-        def method = member :> IMethod;
-        def parms = method.GetParameters();
-        if (parms.IsEmpty)
-          "M:" + name;
-        else
-          "M:" + name + "(" + parms.Map(p => getTypeName(p.ty.Fix())).ToString(",") + ")";
-      | _ => null;
-      }
-    }
-
     public GetContent(member : IMember, location : Location) : string
     {
-      match (GetKey(member))
+      match (XmlDoc.GetKey(member))
       {
       | null => null;
       | key  => GetContent(key, location);
@@ -182,7 +133,7 @@
 
     public GetInfo(member : IMember, location : Location) : XmlDocInfo
     {
-      match (GetKey(member))
+      match (XmlDoc.GetKey(member))
       {
       | null => null;
       | key  => GetInfo(key, location);



More information about the svn mailing list