public static string getCallString(CallData data) { #if FULL_VERSION string lineNo = "";//formatString("/* %d */",data.GetLine()); string line = ""; if (data.IsHighOrder) { line = getCallString(data.Call); } else if (data.HaveId()) { line = quoteString(data.GetId(), data.GetIdType()); } if (data.HaveParam()) { int paramClass = data.GetParamClass(); if ((int)CallData.ParamClassEnum.PARAM_CLASS_OPERATOR == paramClass) { switch (data.GetParamNum()) { case 1: return(string.Format("{0} {1}", line, data.GetParam(0).ToScriptString())); case 2: return(string.Format("{0} {1} {2}", data.GetParam(0).ToScriptString(), line, data.GetParam(1).ToScriptString())); default: return(line); } } else { string lbracket = ""; string rbracket = ""; switch (paramClass) { case (int)CallData.ParamClassEnum.PARAM_CLASS_PARENTHESIS: lbracket = "("; rbracket = ")"; break; case (int)CallData.ParamClassEnum.PARAM_CLASS_BRACKET: lbracket = "["; rbracket = "]"; break; case (int)CallData.ParamClassEnum.PARAM_CLASS_PERIOD: lbracket = "."; rbracket = ""; break; case (int)CallData.ParamClassEnum.PARAM_CLASS_PERIOD_PARENTHESIS: lbracket = ".("; rbracket = ")"; break; case (int)CallData.ParamClassEnum.PARAM_CLASS_PERIOD_BRACKET: lbracket = ".["; rbracket = "]"; break; case (int)CallData.ParamClassEnum.PARAM_CLASS_PERIOD_BRACE: lbracket = ".{"; rbracket = "}"; break; } StringBuilder stream = new StringBuilder(); stream.Append(lbracket); int ct = data.GetParamNum(); for (int i = 0; i < ct; ++i) { if (i > 0) { stream.Append(","); } ISyntaxComponent param = data.GetParam(i); if ((int)CallData.ParamClassEnum.PARAM_CLASS_PERIOD == paramClass) { stream.Append(unquoteString(param.ToScriptString())); } else { stream.Append(param.ToScriptString()); } } stream.Append(rbracket); return(string.Format("{0}{1}{2}", lineNo, line, stream.ToString())); } } else { return(string.Format("{0}{1}", lineNo, line)); } #else return(""); #endif }