[nemerle] r8418 committed - Working on Integration: Start implementing code hints.

1 view
Skip to first unread message

codesite...@google.com

unread,
Oct 30, 2009, 5:44:42 PM10/30/09
to nemer...@googlegroups.com
Revision: 8418
Author: v...@rsdn.ru
Date: Fri Oct 30 14:43:56 2009
Log: Working on Integration: Start implementing code hints.
http://code.google.com/p/nemerle/source/detail?r=8418

Modified:
/nemerle/trunk/VsIntegration/Nemerle.Compiler.Utils/Utils.n

=======================================
--- /nemerle/trunk/VsIntegration/Nemerle.Compiler.Utils/Utils.n Mon Oct 26
02:38:15 2009
+++ /nemerle/trunk/VsIntegration/Nemerle.Compiler.Utils/Utils.n Fri Oct 30
14:43:56 2009
@@ -753,21 +753,26 @@

def parms = method.Header.parms;
def (argsTypes, retType) =
expr.ty.FixedValue.FunReturnTypeAndParms(method);
- def argsStrs = parms.Map2Lazy(argsTypes, (a, t) => $"$(a.Name) :
$t");
+ def toStr(x)
+ {
+ x.ToString()
+ }
+ def argsStrs = parms.Map2Lazy(argsTypes, (a, t) => $"$(a.Name) :
$(toStr(t))");
def name = method.Name;
def isCtor = name.Contains(".ctor");
def (tyStr1, tyStr2, tyStr3) = MakeTextForType(ti, tyArgs1);
def tyStr1 = if (isCtor || parms.IsEmpty) tyStr1 else tyStr3;
+ def tyShort = ti.Name;
def methodTyParams = if (method.Header.typarms.IsEmpty) ""
else $<#[..$(method.Header.typarms)]#>;
def ext = if (method.IsExtension) "this " else "";

def NL = "\n ";
def NLS = ",\n ";
- def methodType = $<#$tyStr2.$name$methodTyParams($ext..$parms) :
$(method.ReturnType)#>;
+ def methodType = $<#<ref handler='X'
hint='$tyStr2'>$tyShort</ref>.$name$methodTyParams($ext..$parms) :
$(method.ReturnType)#>;
def methodType =
if (methodType.Length > 100 && parms.Length > 0)
- $<#$tyStr2.$name$methodTyParams($NL$ext..$(parms; NLS)$NLS) :
$(method.ReturnType)#>
+ $<#<ref handler='X'
hint='$tyStr2'>$tyShort</ref>.$name$methodTyParams($NL$ext..$(parms;
NLS)$NLS) : $(method.ReturnType)#>
else methodType;
def callType = $<#$tyStr1.$name($ext..$argsStrs) : $retType#>;
def callType =

Reply all
Reply to author
Forward
0 new messages