public LNode Fn(LNode retType, LNode name, LNode argList, LNode body = null, int startIndex = -1, int endIndex = -1)
{
if (endIndex < startIndex) endIndex = startIndex;
CheckParam.Arg("argList", argList.Name == S.AltList || argList.Name == S.Missing);
LNode[] list = body == null
? new[] { retType, name, argList }
: new[] { retType, name, argList, body };
return new StdSimpleCallNode(S.Fn, new VList<LNode>(list), new SourceRange(_file, startIndex, endIndex - startIndex), startIndex, startIndex);
}
public LNode Property(LNode type, LNode name, LNode body = null, int startIndex = -1, int endIndex = -1)