public static ScriptException CreateScriptException(object payload, SourceInfo location, ScriptStackTrace stack) => new ScriptException(payload as string ?? "ScriptException", null, location, stack) { Payload = payload };
public static string MakeString(string name, int paramCount, string[] paramNames, SourceInfo loc, bool hasParamsArg) { string[] paramNamesLoc = null; if (paramNames != null) { paramNamesLoc = new string[paramNames.Length]; Array.Copy(paramNames, paramNamesLoc, paramNames.Length); } var ret = name; var argString = ""; if (paramNamesLoc == null && paramCount > 0) { argString = paramCount.ToString(); } else if (paramNamesLoc != null) { if (hasParamsArg) { paramNamesLoc[paramNamesLoc.Length - 1] = "params " + paramNamesLoc[paramNamesLoc.Length - 1]; } argString = string.Join(", ", paramNamesLoc); } ret += "(" + argString + ")"; return(ret + " in " + loc.FileName + ":Line " + (loc.SourceLocation.Line + 1)); }
public ScriptException(string message, Exception inner, SourceInfo location, ScriptStackTrace stack) : base(message, inner) { Location = location; ScriptStackTrace = stack; }