1
1
mirror of https://github.com/github/semantic.git synced 2024-11-27 12:57:49 +03:00

Add QualifiedEntityIdentifier data type

This commit is contained in:
Rick Winfrey 2018-06-12 14:15:27 -07:00
parent d6d865c90b
commit 1120561e78

View File

@ -225,15 +225,19 @@ instance Show1 Star where liftShowsPrec = genericLiftShowsPrec
instance Evaluatable Star
newtype QualifiedTypeConstructorIdentifier a = QualifiedTypeConstructorIdentifier { qualifiedTypeConstructorIdentifierName :: NonEmpty a }
data QualifiedEntityIdentifier a = QualifiedTypeConstructorIdentifier (NonEmpty a)
| QualifiedConstructorIdentifier (NonEmpty a)
| QualifiedInfixVariableIdentifier (NonEmpty a)
| QualifiedModuleIdentifier (NonEmpty a)
| QualifiedVariableIdentifier (NonEmpty a)
deriving (Declarations1, Diffable, Eq, Foldable, FreeVariables1, Functor, Generic1, Mergeable, Ord, Show, ToJSONFields1, Traversable)
instance Eq1 QualifiedTypeConstructorIdentifier where liftEq = genericLiftEq
instance Ord1 QualifiedTypeConstructorIdentifier where liftCompare = genericLiftCompare
instance Show1 QualifiedTypeConstructorIdentifier where liftShowsPrec = genericLiftShowsPrec
instance Hashable1 QualifiedTypeConstructorIdentifier where liftHashWithSalt = foldl
instance Eq1 QualifiedEntityIdentifier where liftEq = genericLiftEq
instance Ord1 QualifiedEntityIdentifier where liftCompare = genericLiftCompare
instance Show1 QualifiedEntityIdentifier where liftShowsPrec = genericLiftShowsPrec
instance Hashable1 QualifiedEntityIdentifier where liftHashWithSalt = foldl
instance Evaluatable QualifiedTypeConstructorIdentifier
instance Evaluatable QualifiedEntityIdentifier
data AnnotatedTypeVariable a = AnnotatedTypeVariable { annotatedTypeVariableIdentifier :: a, annotatedTypeVariableannotation :: a }
deriving (Declarations1, Diffable, Eq, Foldable, FreeVariables1, Functor, Generic1, Hashable1, Mergeable, Ord, Show, ToJSONFields1, Traversable)
@ -244,16 +248,6 @@ instance Show1 AnnotatedTypeVariable where liftShowsPrec = genericLiftShowsPrec
instance Evaluatable AnnotatedTypeVariable
newtype QualifiedModuleIdentifier a = QualifiedModuleIdentifier { qualifiedModuleIdentifierName :: NonEmpty a }
deriving (Declarations1, Diffable, Eq, Foldable, FreeVariables1, Functor, Generic1, Mergeable, Ord, Show, ToJSONFields1, Traversable)
instance Eq1 QualifiedModuleIdentifier where liftEq = genericLiftEq
instance Ord1 QualifiedModuleIdentifier where liftCompare = genericLiftCompare
instance Show1 QualifiedModuleIdentifier where liftShowsPrec = genericLiftShowsPrec
instance Hashable1 QualifiedModuleIdentifier where liftHashWithSalt = foldl
instance Evaluatable QualifiedModuleIdentifier
newtype Export a = Export { exportContent :: a }
deriving (Declarations1, Diffable, Eq, Foldable, FreeVariables1, Functor, Generic1, Hashable1, Mergeable, Ord, Show, ToJSONFields1, Traversable)