[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