import(XML)
import(codetools)
import(methods)
importFrom(utils, find)
import(graphics)

                                        # getVariableInputs
export(getVariableDepends, getPropagateChanges)
export(getSectionDepends, getExpressionThread)

#export(getDocFragmentsByVar)

# For reading fragments from different types of documents
export(readScript) # getTangledFrags, getXMLFrags, getRExpressions
exportMethods(readScript)
export(scriptInfo)


export(runUpToSection, sourceVariable)

export(getInputs)
exportMethods(getInputs)

export(inputCollector)

export(getVariables)
exportMethods(getVariables)

export(findWhenUnneeded, addRemoveIntermediates)

exportMethods(coerce)

export(guessTaskType)

exportClass("Script", "AnnotatedScript", "ScriptNode")
exportClass("ScriptInfo", "ScriptNodeInfo")
#export(ScriptNode)
export(readAnnotatedScript)

export(makeVariableGraph)
export(makeTaskGraph)

export(getDetailedTimelines) # getTimelines
S3method(plot, DetailedVariableTimeline)


export(getDependsThread)

export(makeCallGraph)
exportMethods(makeCallGraph)

export(separateExpressionBlocks,
       splitRedefinitions)


## For Developers
# export(parseFrags, inputCollector)

exportMethods("[", "$")

export(updatingScript)
export(historyAsScript)

export(highlightCode)
export(defaultFuncHandlers)
export(asVarName)

exportPattern("^[^.]+handler(factory){0,1}$")
export(nseafterfirst)

