{-# OPTIONS_GHC -Wno-unused-imports #-}
{-# OPTIONS_GHC -Wno-unused-matches #-}
{-# OPTIONS_GHC -Wno-deprecations #-}
module Language.LSP.Protocol.Internal.Types.DefinitionLink where
import Control.DeepSeq
import Data.Hashable
import GHC.Generics
import Language.LSP.Protocol.Utils.Misc
import Prettyprinter
import qualified Data.Aeson as Aeson
import qualified Data.Row.Aeson as Aeson
import qualified Data.Row.Hashable as Hashable
import qualified Language.LSP.Protocol.Internal.Types.LocationLink
newtype DefinitionLink = DefinitionLink Language.LSP.Protocol.Internal.Types.LocationLink.LocationLink
deriving newtype ([DefinitionLink] -> Value
[DefinitionLink] -> Encoding
DefinitionLink -> Bool
DefinitionLink -> Value
DefinitionLink -> Encoding
(DefinitionLink -> Value)
-> (DefinitionLink -> Encoding)
-> ([DefinitionLink] -> Value)
-> ([DefinitionLink] -> Encoding)
-> (DefinitionLink -> Bool)
-> ToJSON DefinitionLink
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: DefinitionLink -> Value
toJSON :: DefinitionLink -> Value
$ctoEncoding :: DefinitionLink -> Encoding
toEncoding :: DefinitionLink -> Encoding
$ctoJSONList :: [DefinitionLink] -> Value
toJSONList :: [DefinitionLink] -> Value
$ctoEncodingList :: [DefinitionLink] -> Encoding
toEncodingList :: [DefinitionLink] -> Encoding
$comitField :: DefinitionLink -> Bool
omitField :: DefinitionLink -> Bool
Aeson.ToJSON, Maybe DefinitionLink
Value -> Parser [DefinitionLink]
Value -> Parser DefinitionLink
(Value -> Parser DefinitionLink)
-> (Value -> Parser [DefinitionLink])
-> Maybe DefinitionLink
-> FromJSON DefinitionLink
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser DefinitionLink
parseJSON :: Value -> Parser DefinitionLink
$cparseJSONList :: Value -> Parser [DefinitionLink]
parseJSONList :: Value -> Parser [DefinitionLink]
$comittedField :: Maybe DefinitionLink
omittedField :: Maybe DefinitionLink
Aeson.FromJSON)
deriving stock (Int -> DefinitionLink -> ShowS
[DefinitionLink] -> ShowS
DefinitionLink -> String
(Int -> DefinitionLink -> ShowS)
-> (DefinitionLink -> String)
-> ([DefinitionLink] -> ShowS)
-> Show DefinitionLink
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DefinitionLink -> ShowS
showsPrec :: Int -> DefinitionLink -> ShowS
$cshow :: DefinitionLink -> String
show :: DefinitionLink -> String
$cshowList :: [DefinitionLink] -> ShowS
showList :: [DefinitionLink] -> ShowS
Show, DefinitionLink -> DefinitionLink -> Bool
(DefinitionLink -> DefinitionLink -> Bool)
-> (DefinitionLink -> DefinitionLink -> Bool) -> Eq DefinitionLink
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DefinitionLink -> DefinitionLink -> Bool
== :: DefinitionLink -> DefinitionLink -> Bool
$c/= :: DefinitionLink -> DefinitionLink -> Bool
/= :: DefinitionLink -> DefinitionLink -> Bool
Eq, Eq DefinitionLink
Eq DefinitionLink =>
(DefinitionLink -> DefinitionLink -> Ordering)
-> (DefinitionLink -> DefinitionLink -> Bool)
-> (DefinitionLink -> DefinitionLink -> Bool)
-> (DefinitionLink -> DefinitionLink -> Bool)
-> (DefinitionLink -> DefinitionLink -> Bool)
-> (DefinitionLink -> DefinitionLink -> DefinitionLink)
-> (DefinitionLink -> DefinitionLink -> DefinitionLink)
-> Ord DefinitionLink
DefinitionLink -> DefinitionLink -> Bool
DefinitionLink -> DefinitionLink -> Ordering
DefinitionLink -> DefinitionLink -> DefinitionLink
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: DefinitionLink -> DefinitionLink -> Ordering
compare :: DefinitionLink -> DefinitionLink -> Ordering
$c< :: DefinitionLink -> DefinitionLink -> Bool
< :: DefinitionLink -> DefinitionLink -> Bool
$c<= :: DefinitionLink -> DefinitionLink -> Bool
<= :: DefinitionLink -> DefinitionLink -> Bool
$c> :: DefinitionLink -> DefinitionLink -> Bool
> :: DefinitionLink -> DefinitionLink -> Bool
$c>= :: DefinitionLink -> DefinitionLink -> Bool
>= :: DefinitionLink -> DefinitionLink -> Bool
$cmax :: DefinitionLink -> DefinitionLink -> DefinitionLink
max :: DefinitionLink -> DefinitionLink -> DefinitionLink
$cmin :: DefinitionLink -> DefinitionLink -> DefinitionLink
min :: DefinitionLink -> DefinitionLink -> DefinitionLink
Ord, (forall x. DefinitionLink -> Rep DefinitionLink x)
-> (forall x. Rep DefinitionLink x -> DefinitionLink)
-> Generic DefinitionLink
forall x. Rep DefinitionLink x -> DefinitionLink
forall x. DefinitionLink -> Rep DefinitionLink x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. DefinitionLink -> Rep DefinitionLink x
from :: forall x. DefinitionLink -> Rep DefinitionLink x
$cto :: forall x. Rep DefinitionLink x -> DefinitionLink
to :: forall x. Rep DefinitionLink x -> DefinitionLink
Generic)
deriving anyclass (DefinitionLink -> ()
(DefinitionLink -> ()) -> NFData DefinitionLink
forall a. (a -> ()) -> NFData a
$crnf :: DefinitionLink -> ()
rnf :: DefinitionLink -> ()
NFData, Eq DefinitionLink
Eq DefinitionLink =>
(Int -> DefinitionLink -> Int)
-> (DefinitionLink -> Int) -> Hashable DefinitionLink
Int -> DefinitionLink -> Int
DefinitionLink -> Int
forall a. Eq a => (Int -> a -> Int) -> (a -> Int) -> Hashable a
$chashWithSalt :: Int -> DefinitionLink -> Int
hashWithSalt :: Int -> DefinitionLink -> Int
$chash :: DefinitionLink -> Int
hash :: DefinitionLink -> Int
Hashable)
deriving (forall ann. DefinitionLink -> Doc ann)
-> (forall ann. [DefinitionLink] -> Doc ann)
-> Pretty DefinitionLink
forall ann. [DefinitionLink] -> Doc ann
forall ann. DefinitionLink -> Doc ann
forall a.
(forall ann. a -> Doc ann)
-> (forall ann. [a] -> Doc ann) -> Pretty a
$cpretty :: forall ann. DefinitionLink -> Doc ann
pretty :: forall ann. DefinitionLink -> Doc ann
$cprettyList :: forall ann. [DefinitionLink] -> Doc ann
prettyList :: forall ann. [DefinitionLink] -> Doc ann
Pretty via (ViaJSON DefinitionLink)