1
1
mirror of https://github.com/github/semantic.git synced 2024-12-18 20:31:55 +03:00

Define an AnalyzeTerm instance.

This commit is contained in:
Rob Rix 2019-10-18 14:22:42 -04:00
parent 2b000639b3
commit c32bcc884f
No known key found for this signature in database
GPG Key ID: F188A01508EA1CF7

View File

@ -55,11 +55,12 @@ import Data.Abstract.Value.Type as Type
import Data.Abstract.AccessControls.Instances ()
import Data.Blob
import Data.Graph
import Data.Graph.ControlFlowVertex (VertexDeclaration)
import Data.Graph.ControlFlowVertex (VertexDeclaration, VertexDeclaration1)
import Data.Language as Language
import Data.List (isPrefixOf, isSuffixOf)
import qualified Data.Map as Map
import Data.Project
import Data.Term
import Data.Text (pack, unpack)
import Language.Haskell.HsColour
import Language.Haskell.HsColour.Colourise
@ -110,6 +111,17 @@ class
, HasSpan (term Loc)
) => AnalyzeTerm (term :: * -> *)
instance
( VertexDeclaration1 syntax
, Declarations1 syntax
, Evaluatable syntax
, FreeVariables1 syntax
, AccessControls1 syntax
, Functor syntax
, Ord1 syntax
, Show1 syntax
) => AnalyzeTerm (Term syntax)
analysisParsers :: Map Language (SomeParser AnalyzeTerm Loc)
analysisParsers = Map.fromList
[ goParser'