1
1
mirror of https://github.com/github/semantic.git synced 2024-12-23 06:41:45 +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.Quieterm (quieterm)
import Data.Sum (weaken) import Data.Sum (weaken)
import Parsing.Parser import Parsing.Parser
import Prologue hiding (weaken) import Prologue
import Semantic.Config import Semantic.Config
import Semantic.Graph import Semantic.Graph
import Semantic.IO as IO import Semantic.IO as IO
@ -124,12 +124,13 @@ evaluateProjectWithCaching proxy parser path = runTaskWithOptions debugOptions $
project <- readProject Nothing path (Language.reflect proxy) [] project <- readProject Nothing path (Language.reflect proxy) []
package <- fmap (quieterm . snd) <$> parsePackage parser project package <- fmap (quieterm . snd) <$> parsePackage parser project
modules <- topologicalSort <$> runImportGraphToModules proxy package modules <- topologicalSort <$> runImportGraphToModules proxy package
pure (raiseHandler (runReader (packageInfo package)) pure (id @(Evaluator _ Monovariant _ _ _)
(raiseHandler (runReader (packageInfo package))
(raiseHandler (runState (lowerBound @Span)) (raiseHandler (runState (lowerBound @Span))
(raiseHandler (runReader (lowerBound @Span)) (raiseHandler (runReader (lowerBound @Span))
(runModuleTable (runModuleTable
(runModules (ModuleTable.modulePaths (packageModules package)) (runModules (ModuleTable.modulePaths (packageModules package))
(evaluate proxy id withTermSpans modules)))))) (evaluate proxy id withTermSpans modules)))))))
parseFile :: Parser term -> FilePath -> IO term parseFile :: Parser term -> FilePath -> IO term