1
1
mirror of https://github.com/github/semantic.git synced 2024-12-19 12:51:52 +03:00

Define a VertexDeclaration instance for Quieterm.

This commit is contained in:
Rob Rix 2019-10-18 14:34:38 -04:00
parent 4d9043a8da
commit a6cce41d76
No known key found for this signature in database
GPG Key ID: F188A01508EA1CF7

View File

@ -21,6 +21,7 @@ import Data.Abstract.Package (PackageInfo (..))
import Data.Aeson
import Data.Graph (VertexTag (..))
import qualified Data.Graph as G
import Data.Quieterm (Quieterm(..))
import qualified Data.Syntax as Syntax
import qualified Data.Syntax.Declaration as Declaration
import qualified Data.Syntax.Expression as Expression
@ -108,6 +109,9 @@ class VertexDeclaration term where
instance (VertexDeclaration1 f, Declarations1 f) => VertexDeclaration (Term f) where
toVertex info (Term (In a f)) = liftToVertex toVertex a info f
instance (VertexDeclaration1 f, Declarations1 f) => VertexDeclaration (Quieterm f) where
toVertex info (Quieterm (In a f)) = liftToVertex toVertex a info f
toVertex1 :: (VertexDeclaration1 f, VertexDeclaration t, Declarations (t Loc)) => Loc -> ModuleInfo -> f (t Loc) -> Maybe (ControlFlowVertex, Name)
toVertex1 = liftToVertex toVertex