never executed always true always false
    1 {-# OPTIONS_GHC -fno-warn-orphans #-}
    2 
    3 module Conjure.Language.Expression.Internal.Generated where
    4 
    5 import Conjure.Prelude
    6 import Conjure.Language.AdHoc
    7 import Conjure.Language.Definition
    8 import Conjure.Language.Expression.Op
    9 
   10 instance OpActive Expression :< Expression where
   11     inject = Op . MkOpActive
   12     project (Op (MkOpActive x)) = return x
   13     project _ = failDoc "projecting OpActive"
   14 instance OpAllDiff Expression :< Expression where
   15     inject = Op . MkOpAllDiff
   16     project (Op (MkOpAllDiff x)) = return x
   17     project _ = failDoc "projecting OpAllDiff"
   18 instance OpAllDiffExcept Expression :< Expression where
   19     inject = Op . MkOpAllDiffExcept
   20     project (Op (MkOpAllDiffExcept x)) = return x
   21     project _ = failDoc "projecting OpAllDiffExcept"
   22 instance OpAnd Expression :< Expression where
   23     inject = Op . MkOpAnd
   24     project (Op (MkOpAnd x)) = return x
   25     project _ = failDoc "projecting OpAnd"
   26 instance OpApart Expression :< Expression where
   27     inject = Op . MkOpApart
   28     project (Op (MkOpApart x)) = return x
   29     project _ = failDoc "projecting OpApart"
   30 instance OpAtLeast Expression :< Expression where
   31     inject = Op . MkOpAtLeast
   32     project (Op (MkOpAtLeast x)) = return x
   33     project _ = failDoc "projecting OpAtLeast"
   34 instance OpAtMost Expression :< Expression where
   35     inject = Op . MkOpAtMost
   36     project (Op (MkOpAtMost x)) = return x
   37     project _ = failDoc "projecting OpAtMost"
   38 instance OpAttributeAsConstraint Expression :< Expression where
   39     inject = Op . MkOpAttributeAsConstraint
   40     project (Op (MkOpAttributeAsConstraint x)) = return x
   41     project _ = failDoc "projecting OpAttributeAsConstraint"
   42 instance OpCatchUndef Expression :< Expression where
   43     inject = Op . MkOpCatchUndef
   44     project (Op (MkOpCatchUndef x)) = return x
   45     project _ = failDoc "projecting OpCatchUndef"
   46 instance OpDefined Expression :< Expression where
   47     inject = Op . MkOpDefined
   48     project (Op (MkOpDefined x)) = return x
   49     project _ = failDoc "projecting OpDefined"
   50 instance OpDiv Expression :< Expression where
   51     inject = Op . MkOpDiv
   52     project (Op (MkOpDiv x)) = return x
   53     project _ = failDoc "projecting OpDiv"
   54 instance OpDontCare Expression :< Expression where
   55     inject = Op . MkOpDontCare
   56     project (Op (MkOpDontCare x)) = return x
   57     project _ = failDoc "projecting OpDontCare"
   58 instance OpDotLeq Expression :< Expression where
   59     inject = Op . MkOpDotLeq
   60     project (Op (MkOpDotLeq x)) = return x
   61     project _ = failDoc "projecting OpDotLeq"
   62 instance OpDotLt Expression :< Expression where
   63     inject = Op . MkOpDotLt
   64     project (Op (MkOpDotLt x)) = return x
   65     project _ = failDoc "projecting OpDotLt"
   66 instance OpEq Expression :< Expression where
   67     inject = Op . MkOpEq
   68     project (Op (MkOpEq x)) = return x
   69     project _ = failDoc "projecting OpEq"
   70 instance OpFactorial Expression :< Expression where
   71     inject = Op . MkOpFactorial
   72     project (Op (MkOpFactorial x)) = return x
   73     project _ = failDoc "projecting OpFactorial"
   74 instance OpFlatten Expression :< Expression where
   75     inject = Op . MkOpFlatten
   76     project (Op (MkOpFlatten x)) = return x
   77     project _ = failDoc "projecting OpFlatten"
   78 instance OpFreq Expression :< Expression where
   79     inject = Op . MkOpFreq
   80     project (Op (MkOpFreq x)) = return x
   81     project _ = failDoc "projecting OpFreq"
   82 instance OpGCC Expression :< Expression where
   83     inject = Op . MkOpGCC
   84     project (Op (MkOpGCC x)) = return x
   85     project _ = failDoc "projecting OpGCC"
   86 instance OpGeq Expression :< Expression where
   87     inject = Op . MkOpGeq
   88     project (Op (MkOpGeq x)) = return x
   89     project _ = failDoc "projecting OpGeq"
   90 instance OpGt Expression :< Expression where
   91     inject = Op . MkOpGt
   92     project (Op (MkOpGt x)) = return x
   93     project _ = failDoc "projecting OpGt"
   94 instance OpHist Expression :< Expression where
   95     inject = Op . MkOpHist
   96     project (Op (MkOpHist x)) = return x
   97     project _ = failDoc "projecting OpHist"
   98 instance OpIff Expression :< Expression where
   99     inject = Op . MkOpIff
  100     project (Op (MkOpIff x)) = return x
  101     project _ = failDoc "projecting OpIff"
  102 instance OpImage Expression :< Expression where
  103     inject = Op . MkOpImage
  104     project (Op (MkOpImage x)) = return x
  105     project _ = failDoc "projecting OpImage"
  106 instance OpImageSet Expression :< Expression where
  107     inject = Op . MkOpImageSet
  108     project (Op (MkOpImageSet x)) = return x
  109     project _ = failDoc "projecting OpImageSet"
  110 instance OpImply Expression :< Expression where
  111     inject = Op . MkOpImply
  112     project (Op (MkOpImply x)) = return x
  113     project _ = failDoc "projecting OpImply"
  114 instance OpIn Expression :< Expression where
  115     inject = Op . MkOpIn
  116     project (Op (MkOpIn x)) = return x
  117     project _ = failDoc "projecting OpIn"
  118 instance OpIndexing Expression :< Expression where
  119     inject = Op . MkOpIndexing
  120     project (Op (MkOpIndexing x)) = return x
  121     project _ = failDoc "projecting OpIndexing"
  122 instance OpIntersect Expression :< Expression where
  123     inject = Op . MkOpIntersect
  124     project (Op (MkOpIntersect x)) = return x
  125     project _ = failDoc "projecting OpIntersect"
  126 instance OpInverse Expression :< Expression where
  127     inject = Op . MkOpInverse
  128     project (Op (MkOpInverse x)) = return x
  129     project _ = failDoc "projecting OpInverse"
  130 instance OpLeq Expression :< Expression where
  131     inject = Op . MkOpLeq
  132     project (Op (MkOpLeq x)) = return x
  133     project _ = failDoc "projecting OpLeq"
  134 instance OpLexLeq Expression :< Expression where
  135     inject = Op . MkOpLexLeq
  136     project (Op (MkOpLexLeq x)) = return x
  137     project _ = failDoc "projecting OpLexLeq"
  138 instance OpLexLt Expression :< Expression where
  139     inject = Op . MkOpLexLt
  140     project (Op (MkOpLexLt x)) = return x
  141     project _ = failDoc "projecting OpLexLt"
  142 instance OpLt Expression :< Expression where
  143     inject = Op . MkOpLt
  144     project (Op (MkOpLt x)) = return x
  145     project _ = failDoc "projecting OpLt"
  146 instance OpMakeTable Expression :< Expression where
  147     inject = Op . MkOpMakeTable
  148     project (Op (MkOpMakeTable x)) = return x
  149     project _ = failDoc "projecting OpMakeTable"
  150 instance OpMax Expression :< Expression where
  151     inject = Op . MkOpMax
  152     project (Op (MkOpMax x)) = return x
  153     project _ = failDoc "projecting OpMax"
  154 instance OpMin Expression :< Expression where
  155     inject = Op . MkOpMin
  156     project (Op (MkOpMin x)) = return x
  157     project _ = failDoc "projecting OpMin"
  158 instance OpMinus Expression :< Expression where
  159     inject = Op . MkOpMinus
  160     project (Op (MkOpMinus x)) = return x
  161     project _ = failDoc "projecting OpMinus"
  162 instance OpMod Expression :< Expression where
  163     inject = Op . MkOpMod
  164     project (Op (MkOpMod x)) = return x
  165     project _ = failDoc "projecting OpMod"
  166 instance OpNegate Expression :< Expression where
  167     inject = Op . MkOpNegate
  168     project (Op (MkOpNegate x)) = return x
  169     project _ = failDoc "projecting OpNegate"
  170 instance OpNeq Expression :< Expression where
  171     inject = Op . MkOpNeq
  172     project (Op (MkOpNeq x)) = return x
  173     project _ = failDoc "projecting OpNeq"
  174 instance OpNot Expression :< Expression where
  175     inject = Op . MkOpNot
  176     project (Op (MkOpNot x)) = return x
  177     project _ = failDoc "projecting OpNot"
  178 instance OpOr Expression :< Expression where
  179     inject = Op . MkOpOr
  180     project (Op (MkOpOr x)) = return x
  181     project _ = failDoc "projecting OpOr"
  182 instance OpParticipants Expression :< Expression where
  183     inject = Op . MkOpParticipants
  184     project (Op (MkOpParticipants x)) = return x
  185     project _ = failDoc "projecting OpParticipants"
  186 instance OpParts Expression :< Expression where
  187     inject = Op . MkOpParts
  188     project (Op (MkOpParts x)) = return x
  189     project _ = failDoc "projecting OpParts"
  190 instance OpParty Expression :< Expression where
  191     inject = Op . MkOpParty
  192     project (Op (MkOpParty x)) = return x
  193     project _ = failDoc "projecting OpParty"
  194 instance OpPow Expression :< Expression where
  195     inject = Op . MkOpPow
  196     project (Op (MkOpPow x)) = return x
  197     project _ = failDoc "projecting OpPow"
  198 instance OpPowerSet Expression :< Expression where
  199     inject = Op . MkOpPowerSet
  200     project (Op (MkOpPowerSet x)) = return x
  201     project _ = failDoc "projecting OpPowerSet"
  202 instance OpPreImage Expression :< Expression where
  203     inject = Op . MkOpPreImage
  204     project (Op (MkOpPreImage x)) = return x
  205     project _ = failDoc "projecting OpPreImage"
  206 instance OpPred Expression :< Expression where
  207     inject = Op . MkOpPred
  208     project (Op (MkOpPred x)) = return x
  209     project _ = failDoc "projecting OpPred"
  210 instance OpProduct Expression :< Expression where
  211     inject = Op . MkOpProduct
  212     project (Op (MkOpProduct x)) = return x
  213     project _ = failDoc "projecting OpProduct"
  214 instance OpRange Expression :< Expression where
  215     inject = Op . MkOpRange
  216     project (Op (MkOpRange x)) = return x
  217     project _ = failDoc "projecting OpRange"
  218 instance OpRelationProj Expression :< Expression where
  219     inject = Op . MkOpRelationProj
  220     project (Op (MkOpRelationProj x)) = return x
  221     project _ = failDoc "projecting OpRelationProj"
  222 instance OpRestrict Expression :< Expression where
  223     inject = Op . MkOpRestrict
  224     project (Op (MkOpRestrict x)) = return x
  225     project _ = failDoc "projecting OpRestrict"
  226 instance OpSlicing Expression :< Expression where
  227     inject = Op . MkOpSlicing
  228     project (Op (MkOpSlicing x)) = return x
  229     project _ = failDoc "projecting OpSlicing"
  230 instance OpSubsequence Expression :< Expression where
  231     inject = Op . MkOpSubsequence
  232     project (Op (MkOpSubsequence x)) = return x
  233     project _ = failDoc "projecting OpSubsequence"
  234 instance OpSubset Expression :< Expression where
  235     inject = Op . MkOpSubset
  236     project (Op (MkOpSubset x)) = return x
  237     project _ = failDoc "projecting OpSubset"
  238 instance OpSubsetEq Expression :< Expression where
  239     inject = Op . MkOpSubsetEq
  240     project (Op (MkOpSubsetEq x)) = return x
  241     project _ = failDoc "projecting OpSubsetEq"
  242 instance OpSubstring Expression :< Expression where
  243     inject = Op . MkOpSubstring
  244     project (Op (MkOpSubstring x)) = return x
  245     project _ = failDoc "projecting OpSubstring"
  246 instance OpSucc Expression :< Expression where
  247     inject = Op . MkOpSucc
  248     project (Op (MkOpSucc x)) = return x
  249     project _ = failDoc "projecting OpSucc"
  250 instance OpSum Expression :< Expression where
  251     inject = Op . MkOpSum
  252     project (Op (MkOpSum x)) = return x
  253     project _ = failDoc "projecting OpSum"
  254 instance OpSupset Expression :< Expression where
  255     inject = Op . MkOpSupset
  256     project (Op (MkOpSupset x)) = return x
  257     project _ = failDoc "projecting OpSupset"
  258 instance OpSupsetEq Expression :< Expression where
  259     inject = Op . MkOpSupsetEq
  260     project (Op (MkOpSupsetEq x)) = return x
  261     project _ = failDoc "projecting OpSupsetEq"
  262 instance OpTable Expression :< Expression where
  263     inject = Op . MkOpTable
  264     project (Op (MkOpTable x)) = return x
  265     project _ = failDoc "projecting OpTable"
  266 instance OpTildeLeq Expression :< Expression where
  267     inject = Op . MkOpTildeLeq
  268     project (Op (MkOpTildeLeq x)) = return x
  269     project _ = failDoc "projecting OpTildeLeq"
  270 instance OpTildeLt Expression :< Expression where
  271     inject = Op . MkOpTildeLt
  272     project (Op (MkOpTildeLt x)) = return x
  273     project _ = failDoc "projecting OpTildeLt"
  274 instance OpToInt Expression :< Expression where
  275     inject = Op . MkOpToInt
  276     project (Op (MkOpToInt x)) = return x
  277     project _ = failDoc "projecting OpToInt"
  278 instance OpToMSet Expression :< Expression where
  279     inject = Op . MkOpToMSet
  280     project (Op (MkOpToMSet x)) = return x
  281     project _ = failDoc "projecting OpToMSet"
  282 instance OpToRelation Expression :< Expression where
  283     inject = Op . MkOpToRelation
  284     project (Op (MkOpToRelation x)) = return x
  285     project _ = failDoc "projecting OpToRelation"
  286 instance OpToSet Expression :< Expression where
  287     inject = Op . MkOpToSet
  288     project (Op (MkOpToSet x)) = return x
  289     project _ = failDoc "projecting OpToSet"
  290 instance OpTogether Expression :< Expression where
  291     inject = Op . MkOpTogether
  292     project (Op (MkOpTogether x)) = return x
  293     project _ = failDoc "projecting OpTogether"
  294 instance OpTransform Expression :< Expression where
  295     inject = Op . MkOpTransform
  296     project (Op (MkOpTransform x)) = return x
  297     project _ = failDoc "projecting OpTransform"
  298 instance OpTrue Expression :< Expression where
  299     inject = Op . MkOpTrue
  300     project (Op (MkOpTrue x)) = return x
  301     project _ = failDoc "projecting OpTrue"
  302 instance OpTwoBars Expression :< Expression where
  303     inject = Op . MkOpTwoBars
  304     project (Op (MkOpTwoBars x)) = return x
  305     project _ = failDoc "projecting OpTwoBars"
  306 instance OpUnion Expression :< Expression where
  307     inject = Op . MkOpUnion
  308     project (Op (MkOpUnion x)) = return x
  309     project _ = failDoc "projecting OpUnion"
  310 instance OpXor Expression :< Expression where
  311     inject = Op . MkOpXor
  312     project (Op (MkOpXor x)) = return x
  313     project _ = failDoc "projecting OpXor"