private bool TryDeMinify(string package, int line, int column, out CallStackFrameInfo callStackFrameInfo)
        {
            AjaxMinSymbolForJavaScript javaScriptSymbol = default(AjaxMinSymbolForJavaScript);

            javaScriptSymbol.ScriptEndLine     = line;
            javaScriptSymbol.ScriptStartLine   = line;
            javaScriptSymbol.ScriptEndColumn   = column;
            javaScriptSymbol.ScriptStartColumn = column;
            AjaxMinSymbolForJavaScript ajaxMinSymbolForJavaScript;

            if (!this.parameters.MinificationSymbolsMapForJavaScript.Search(package, javaScriptSymbol, out ajaxMinSymbolForJavaScript))
            {
                callStackFrameInfo = null;
                return(false);
            }
            callStackFrameInfo = new CallStackFrameInfo
            {
                StartLine    = ajaxMinSymbolForJavaScript.SourceStartLine,
                StartColumn  = ajaxMinSymbolForJavaScript.SourceStartColumn,
                EndLine      = ajaxMinSymbolForJavaScript.SourceEndLine,
                EndColumn    = ajaxMinSymbolForJavaScript.SourceEndColumn,
                FunctionName = this.parameters.MinificationSymbolsMapForJavaScript.GetFunctionName(ajaxMinSymbolForJavaScript.FunctionNameIndex),
                FileName     = ClientWatsonDatapointHandler.GetRelativeFilePath(this.parameters.MinificationSymbolsMapForJavaScript.GetSourceFilePathFromId(ajaxMinSymbolForJavaScript.SourceFileId)),
                FolderPath   = this.parameters.ExchangeSourcesPath
            };
            return(true);
        }
        private ResultCode TryDeMinifyAndDeObfuscate(string package, int line, int column, out CallStackFrameInfo callStackFrameInfo)
        {
            AjaxMinSymbolForScriptSharp javaScriptSymbol = default(AjaxMinSymbolForScriptSharp);

            javaScriptSymbol.ScriptEndLine     = line;
            javaScriptSymbol.ScriptStartLine   = line;
            javaScriptSymbol.ScriptEndColumn   = column;
            javaScriptSymbol.ScriptStartColumn = column;
            AjaxMinSymbolForScriptSharp ajaxMinSymbolForScriptSharp;

            if (!this.parameters.MinificationSymbolsMapForScriptSharp.Search(package, javaScriptSymbol, out ajaxMinSymbolForScriptSharp))
            {
                callStackFrameInfo = null;
                return(ResultCode.FailedToDeMinify);
            }
            ScriptSharpSymbolWrapper javaScriptSymbol2 = new ScriptSharpSymbolWrapper(new ScriptSharpSymbol
            {
                ScriptStartPosition = ajaxMinSymbolForScriptSharp.SourceStartPosition,
                ScriptEndPosition   = ajaxMinSymbolForScriptSharp.SourceEndPosition
            });
            ScriptSharpSymbolWrapper scriptSharpSymbolWrapper;

            if (!this.parameters.ObfuscationSymbolsMap.Search(package, javaScriptSymbol2, out scriptSharpSymbolWrapper))
            {
                callStackFrameInfo = null;
                return(ResultCode.FailedToDeObfuscate);
            }
            ScriptSharpSymbol innerSymbol = scriptSharpSymbolWrapper.InnerSymbol;

            callStackFrameInfo = new CallStackFrameInfo
            {
                StartLine    = innerSymbol.SourceStartLine,
                FunctionName = this.parameters.ObfuscationSymbolsMap.GetFunctionName(innerSymbol.FunctionNameIndex),
                FileName     = ClientWatsonDatapointHandler.GetRelativeFilePath(this.parameters.ObfuscationSymbolsMap.GetSourceFilePathFromId(innerSymbol.SourceFileId)),
                FolderPath   = this.parameters.ExchangeSourcesPath
            };
            return(ResultCode.Success);
        }