function getFunctionCallLines(sourcesContent, filePath, functionName, lineNumber, multiLineSearch, warningHandler) {
        if(sourcesContent !==  undefined) {
            var source = Future(sourcesContent)
        } else {
            var source = options.getScriptSourceLines(filePath)
        }
        return source.catch(function(e) {
            warningHandler(e)
            return Future(undefined)

        }).then(function(fileLines) {
            if(fileLines !== undefined) {

                var startLine = findStartLine(fileLines, functionName, lineNumber)
                if(startLine === 'lineOfCodeNotFound') {
                    return Future("<line of code not found (possibly an error?)> ")

                } else if(startLine !== 'sourceNotAvailable') {
                    if(multiLineSearch) {
                        return Future(findFullSourceLine(fileLines, startLine))
                    } else {
                        return Future(fileLines[startLine].trim())
                    }
                }
            }
            // else
            return Future("<source not available>")

        })
    }
function getFunctionCallLines(sourcesContent, filePath, functionName, lineNumber, multiLineSearch, warningHandler) {
        if(sourcesContent !==  undefined) {
            var source = Future(sourcesContent)
        } else {
            var source = options.getScriptSourceLines(filePath)
        }
        return source.catch(function(e) {
            warningHandler(e)
            return Future(undefined)

        }).then(function(fileLines) {
            if(fileLines !== undefined) {

                var startLine = findStartLine(fileLines, functionName, lineNumber)
                if(startLine === 'lineOfCodeNotFound') {
                    return Future("<line of code not found (possibly an error?)> ")

                } else if(startLine !== 'sourceNotAvailable') {
                    if(multiLineSearch) {
                        return Future(findFullSourceLine(fileLines, startLine))
                    } else {
                        return Future(fileLines[startLine].trim())
                    }
                }
            }
            
            return Future("<source not available>")

        })
    }
function getFunctionCallLines ( sourcesContent , filePath , functionName , lineNumber , multiLineSearch , warningHandler ) { if ( sourcesContent !== undefined ) { var source = Future ( sourcesContent ) } else { var source = options . getScriptSourceLines ( filePath ) } return source . catch ( function ( e ) { warningHandler ( e ) return Future ( undefined ) } ) . then ( function ( fileLines ) { if ( fileLines !== undefined ) { var startLine = findStartLine ( fileLines , functionName , lineNumber ) if ( startLine === 'lineOfCodeNotFound' ) { return Future ( "<line of code not found (possibly an error?)> " ) } else if ( startLine !== 'sourceNotAvailable' ) { if ( multiLineSearch ) { return Future ( findFullSourceLine ( fileLines , startLine ) ) } else { return Future ( fileLines [ startLine ] . trim ( ) ) } } } // else return Future ( "<source not available>" ) } ) }
gets the actual lines of the call if multiLineSearch is true, it finds
gets the actual lines of the call if multiLineSearch is true it finds