1
1
mirror of https://github.com/github/semantic.git synced 2024-12-23 06:41:45 +03:00

Add a helper for evaluating Python import graphs.

Co-Authored-By: Josh Vera <vera@github.com>
This commit is contained in:
Rob Rix 2018-04-02 10:33:24 -04:00
parent 37cc2e36bb
commit 752e8fa413

View File

@ -14,6 +14,7 @@ import Control.Abstract.Analysis
import Control.Monad.IO.Class import Control.Monad.IO.Class
import Data.Abstract.Evaluatable hiding (head) import Data.Abstract.Evaluatable hiding (head)
import Data.Abstract.Address import Data.Abstract.Address
import Data.Abstract.Located
import Data.Abstract.Module import Data.Abstract.Module
import Data.Abstract.Package as Package import Data.Abstract.Package as Package
import Data.Abstract.Type import Data.Abstract.Type
@ -55,6 +56,7 @@ typecheckGoFile path = runAnalysis @(Caching (Evaluating Monovariant Go.Term Typ
-- Python -- Python
evaluatePythonFile = evaluateWithPrelude pythonParser evaluatePythonFile = evaluateWithPrelude pythonParser
evaluatePythonFiles = evaluateFilesWithPrelude pythonParser evaluatePythonFiles = evaluateFilesWithPrelude pythonParser
evaluatePythonImportGraph paths = runAnalysis @(ImportGraphing (Evaluating (Located Precise Python.Term) Python.Term (Value (Located Precise Python.Term)))) . evaluateModules <$> parseFiles pythonParser paths
typecheckPythonFile path = runAnalysis @(Caching (Evaluating Monovariant Python.Term Type)) . evaluateModule <$> parseFile pythonParser Nothing path typecheckPythonFile path = runAnalysis @(Caching (Evaluating Monovariant Python.Term Type)) . evaluateModule <$> parseFile pythonParser Nothing path
tracePythonFile path = runAnalysis @(Tracing [] (Evaluating Precise Python.Term (Value Precise))) . evaluateModule <$> parseFile pythonParser Nothing path tracePythonFile path = runAnalysis @(Tracing [] (Evaluating Precise Python.Term (Value Precise))) . evaluateModule <$> parseFile pythonParser Nothing path
evaluateDeadTracePythonFile path = runAnalysis @(DeadCode (Tracing [] (Evaluating Precise Python.Term (Value Precise)))) . evaluateModule <$> parseFile pythonParser Nothing path evaluateDeadTracePythonFile path = runAnalysis @(DeadCode (Tracing [] (Evaluating Precise Python.Term (Value Precise)))) . evaluateModule <$> parseFile pythonParser Nothing path