1
1
mirror of https://github.com/github/semantic.git synced 2024-12-22 14:21:31 +03:00

Specialize evaluateProjectWithCaching to Monovariant addresses.

This commit is contained in:
Rob Rix 2018-10-23 12:07:24 -04:00
parent 8b945859f3
commit 55888b1a5f

View File

@ -25,7 +25,7 @@ import Data.Project hiding (readFile)
import Data.Quieterm (quieterm)
import Data.Sum (weaken)
import Parsing.Parser
import Prologue hiding (weaken)
import Prologue
import Semantic.Config
import Semantic.Graph
import Semantic.IO as IO
@ -124,12 +124,13 @@ evaluateProjectWithCaching proxy parser path = runTaskWithOptions debugOptions $
project <- readProject Nothing path (Language.reflect proxy) []
package <- fmap (quieterm . snd) <$> parsePackage parser project
modules <- topologicalSort <$> runImportGraphToModules proxy package
pure (raiseHandler (runReader (packageInfo package))
pure (id @(Evaluator _ Monovariant _ _ _)
(raiseHandler (runReader (packageInfo package))
(raiseHandler (runState (lowerBound @Span))
(raiseHandler (runReader (lowerBound @Span))
(runModuleTable
(runModules (ModuleTable.modulePaths (packageModules package))
(evaluate proxy id withTermSpans modules))))))
(evaluate proxy id withTermSpans modules)))))))
parseFile :: Parser term -> FilePath -> IO term