{-# LANGUAGE TupleSections,ScopedTypeVariables,DeriveDataTypeable,OverloadedStrings #-}
module Database.HsSqlPpp.Internals.AstInternal(
Statement (..)
,QueryExpr (..)
,WithQueryList
,WithQuery(..)
,FnBody (..)
,SetClause (..)
,SetClauseList
,TableRef (..)
,JoinExpr (..)
,JoinType (..)
,JoinHint (..)
,SelectList (..)
,SelectItem (..)
,CopyFromSource (..)
,CopyToSource(..)
,CopyToOption(..)
,CopyFromOption(..)
,TablePartitionDef(..)
,TablePartitionDateTimeInterval(..)
,AttributeDef (..)
,RowConstraint (..)
,TableOption(..)
,AlterDatabaseOperation(..)
,AlterTableOperation(..)
,AlterTableAction(..)
,AlterSequenceOperation(..)
,AlterSequenceAction(..)
,AlterColumnAction(..)
,AlterSchemaOperation(..)
,Constraint (..)
,TypeAttributeDef (..)
,ParamDef (..)
,VarDef (..)
,RaiseType (..)
,CombineType (..)
,Volatility (..)
,Language (..)
,TypeName (..)
,DropType (..)
,Cascade (..)
,Direction (..)
,Distinct (..)
,NullsOrder(..)
,Natural (..)
,IfExists (..)
,Replace(..)
,RestartIdentity (..)
,ScalarExpr (..)
,Name(..)
,nameComponents
,NameComponent(..)
,ncStr
,IntervalField(..)
,ExtractField(..)
,FrameClause(..)
,OdbcLiteralType(..)
,InList (..)
,LiftFlavour(..)
,TriggerWhen(..)
,TriggerEvent(..)
,TriggerFire(..)
,QueryHint(..)
,StatementList
,ScalarExprListStatementListTripleList
,ScalarExprListStatementListTriple
,ScalarExprList
,ParamDefList
,AttributeDefList
,ConstraintList
,TypeAttributeDefList
,TypeNameList
,NameTypeNameListPair
,NameTypeNameListPairList
,ScalarExprStatementListPairList
,CaseScalarExprListScalarExprPairList
,MaybeScalarExpr
,TableRefList
,ScalarExprListList
,SelectItemList
,OnExpr
,RowConstraintList
,VarDefList
,ScalarExprStatementListPair
,CaseScalarExprListScalarExprPair
,ScalarExprDirectionPair
,ScalarExprDirectionPairList
,MaybeBoolExpr
,MaybeSelectList
,SetValue(..)
,AlterTableActionList
,NameComponentList
,MaybeNameComponentList
,typeCheckStatements
,typeCheckScalarExpr
,typeCheckQueryExpr
,TypeCheckFlags(..)
,addExplicitCasts
,addImplicitCasts
,Annotation(..)
,SourcePosition
,ParameterizedStatementType
,getAnnotation
,updateAnnotation
,emptyAnnotation
,makeSelect
) where
import Data.Data
import Data.Generics
import Data.Generics.Uniplate.Data
import qualified Data.Text as T
{-# LINE 2 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
import Data.Text (Text)
import qualified Database.HsSqlPpp.Internals.TypeChecking.Environment as E
import Database.HsSqlPpp.Internals.TypeChecking.Environment (Environment)
import Database.HsSqlPpp.Internals.TypesInternal
import Database.HsSqlPpp.Internals.Dialect
import Database.HsSqlPpp.Internals.Catalog.CatalogInternal
import Database.HsSqlPpp.Internals.Catalog.CatalogTypes
import Database.HsSqlPpp.Internals.Catalog.CatalogBuilder
import Database.HsSqlPpp.Internals.TypeChecking.TypeConversion.TypeConversion
import Database.HsSqlPpp.Dialects.OdbcCatalog
import Control.Monad
import Data.List
import Data.Maybe
import Data.Char
import Text.Read
import Control.Applicative
{-# LINE 182 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 14 "hssqlppp/src/Database/HsSqlPpp/Internals/Annotation.ag" #-}
import qualified Database.HsSqlPpp.Internals.TypesInternal as T
import qualified Database.HsSqlPpp.Internals.Catalog.CatalogTypes as C
{-# LINE 189 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 62 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}
xnmcString :: NameComponent -> Either [TypeError] Text
xnmcString (QNmc n) = Right $ T.pack n
xnmcString (Nmc n) = Right $ T.pack $ map toLower n
xnmcString (AntiNameComponent _) = Left [InternalError "tried to get nmc string from antinamecomponent"]
{-# LINE 198 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 191 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
splitTypeExtraList:: Maybe [TypeExtra] -> Maybe (TypeExtra,[TypeExtra])
splitTypeExtraList mte = mte >>= f
where
f [] = Nothing
f (et:ets') = Just (et,ets')
{-# LINE 207 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 212 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
columnName :: ScalarExpr -> NameComponent
columnName (Identifier _ i) = last $ nameComponents i
columnName (App _ (Name _ ncs) _) = last ncs
columnName (Cast _ _ (SimpleTypeName _ (Name _ ncs))) = last ncs
columnName (ImplicitCast _ e _) = columnName e
columnName (WindowApp _ (App _ (Name _ ncs) _) _ _ _) = last ncs
columnName (AggregateApp _ _ (App _ (Name _ ncs) _) _) = last ncs
columnName _ = QNmc "?column?"
{-# LINE 222 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 160 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
convertJoinType:: JoinType -> E.JoinType
convertJoinType LeftOuter = E.LeftOuter
convertJoinType RightOuter = E.RightOuter
convertJoinType FullOuter = E.FullOuter
convertJoinType _ = E.Inner
{-# LINE 231 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 82 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
secondM :: Functor f => (t -> f a) -> (t1, t) -> f (t1, a)
secondM f (a,b) = (a,) <$> f b
{-# LINE 237 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 47 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
needsImplicitCast:: Bool -> TypeExtra -> TypeExtra -> Bool
needsImplicitCast expectedCast upType expType
= tePrecision upType /= tePrecision expType
|| teScale upType /= teScale expType
|| teNullable upType /= teNullable expType
&& nullabilityCast
|| teType upType /= teType expType
&& (not . null) (nub [teType upType, teType expType] \\ [ScalarType "varchar", ScalarType "text",ScalarType "nvarchar"])
where
nullabilityCast = expectedCast
implicitCastType:: Bool -> TypeExtra -> TypeExtra -> TypeExtra
implicitCastType expectedCast upType expType
= expType{tePrecision = precision, teScale = scale, teNullable = nullability}
where
nullabilityCast = expectedCast
nullabilitySource = if nullabilityCast then expType else upType
precisionSource = expType
nullability = teNullable nullabilitySource
precision = tePrecision precisionSource
scale = teScale precisionSource
{-# LINE 262 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 513 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
getMaybeIntsFromLiterals :: [ScalarExpr] -> MatchAppLiteralList
getMaybeIntsFromLiterals sel = map extractor sel
where
extractor :: ScalarExpr -> Maybe Int
extractor (NumberLit _ s) = readMaybe s :: Maybe Int
extractor _ = Nothing
{-# LINE 272 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 796 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
classifyInteger :: Dialect -> String -> Either [TypeError] Text
classifyInteger d s = maybe (Left []) Right $ case (readMaybe s :: Maybe Integer) of
Just n | n < (2 ^ (31 :: Integer)) -> ansiTypeNameToDialect d "int"
| n < (2 ^ (63 :: Integer)) -> ansiTypeNameToDialect d "bigint"
_ -> ansiTypeNameToDialect d "numeric"
{-# LINE 282 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 26 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
data TypeCheckFlags =
TypeCheckFlags
{
tcfAddQualifiers :: Bool
,tcfAddFullTablerefAliases :: Bool
,tcfAddSelectItemAliases :: Bool
,tcfExpandStars :: Bool
,tcfDialect :: Dialect}
deriving (Show,Eq)
typeCheckStatements :: TypeCheckFlags -> Catalog -> [Statement] -> (Catalog,[Statement])
typeCheckStatements f cat sts =
let t = _sem_Root (Root sts)
ta = _wrap_Root t Inh_Root {_cat_Inh_Root = cat
,_flags_Inh_Root = f
}
tl = _annotatedTree_Syn_Root ta
cat1 = cat
in case tl of
Root r -> (cat1,fixTree (tcfDialect f) r)
typeCheckQueryExpr :: TypeCheckFlags -> Catalog -> QueryExpr -> QueryExpr
typeCheckQueryExpr f cat qe =
let (_,[QueryStatement _ qe']) = typeCheckStatements f cat [QueryStatement emptyAnnotation qe]
in qe'
typeCheckScalarExpr :: TypeCheckFlags -> Catalog -> Environment
-> ScalarExpr -> ScalarExpr
typeCheckScalarExpr f cat env ex =
let t = _sem_ScalarExprRoot (ScalarExprRoot ex)
rt = _annotatedTree_Syn_ScalarExprRoot
$ _wrap_ScalarExprRoot t
Inh_ScalarExprRoot{_cat_Inh_ScalarExprRoot = cat
,_flags_Inh_ScalarExprRoot = f
,_downEnv_Inh_ScalarExprRoot = env}
in case rt of
ScalarExprRoot e -> fixTree (tcfDialect f) e
{-# LINE 366 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 158 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
addExplicitCasts :: Data a => a -> a
addExplicitCasts = transformBi removeDoubleCasts . transformBi addCast
where
addCast :: ScalarExpr -> ScalarExpr
addCast e = fromMaybe e $ do
t <- anImplicitCast (getAnnotation e)
n <- nameOfType $ teType t
return $ Cast emptyAnnotation e n
removeDoubleCasts :: ScalarExpr -> ScalarExpr
removeDoubleCasts e = case e of
(Cast a (Cast _ e' t1) t)
| resetAnnotations t1 == resetAnnotations t -> Cast a e' t
e' -> e'
resetAnnotations = transformBi (const emptyAnnotation)
addImplicitCasts :: Data a => Catalog -> a -> a
addImplicitCasts cat = transformBi removeDoubleCasts . transformBi addCast
where
addCast:: ScalarExpr -> ScalarExpr
addCast e = fromMaybe e $ do
te <- anImplicitCast ann'
_ <- nameOfType $ teType te
guard $ anType ann' /= Just te
return $ ImplicitCast emptyAnnotation e te
where
_isCastable:: ScalarExpr -> Type -> Bool
_isCastable e' to = fromMaybe False $ do
from <- liftM teType $ anType $ getAnnotation e'
either (const $ if from == UnknownType then Just True else Nothing) Just
$ catCast cat ImplicitCastContext from to
ann' = getAnnotation e
removeDoubleCasts:: ScalarExpr -> ScalarExpr
removeDoubleCasts e = fst $ accumulateCasts e
accumulateCasts:: ScalarExpr -> (ScalarExpr,[(ScalarExpr,Type)])
accumulateCasts e = case e of
ImplicitCast a e' te
-> let (e1,ets) = accumulateCasts e'
eStart = ImplicitCast a e1 te
isCastable (_,t) = either (const False) id
$ catCast cat ImplicitCastContext t $ teType te
f z xs = case dropWhile (not . isCastable) xs of
[] -> z
xs'@((e'',_):rest) -> f (ImplicitCast a e'' te, xs') rest
in case anType $ getAnnotation e1 of
Nothing -> (eStart,[])
Just te1 -> f (eStart, (e1, teType te1):ets) ets
_ -> (e,[])
nameOfType :: Type -> Maybe TypeName
nameOfType (ScalarType t) = Just $ SimpleTypeName emptyAnnotation (Name emptyAnnotation [Nmc $ T.unpack t])
nameOfType UnknownType = Just $ SimpleTypeName emptyAnnotation (Name emptyAnnotation [Nmc "unknown"])
nameOfType (DomainType t) = Just $ SimpleTypeName emptyAnnotation (Name emptyAnnotation [Nmc $ T.unpack t])
nameOfType (EnumType t) = Just $ SimpleTypeName emptyAnnotation (Name emptyAnnotation [Nmc $ T.unpack t])
nameOfType (NamedCompositeType t) = Just $ SimpleTypeName emptyAnnotation (Name emptyAnnotation [Nmc $ T.unpack t])
nameOfType _ = Nothing
fixTree :: Data a => Dialect -> a -> a
fixTree = fixMssqlDates
fixMssqlDates :: Data a => Dialect -> a -> a
fixMssqlDates d = transformBi $ \x -> case x of
App aa nm@(Name _ [Nmc fn]) [Identifier ai tn@(Name _ [Nmc tnn]),a,b]
| map toLower fn `elem` ["datediff","dateadd"]
, map toLower tnn `elem` dateparts ->
App aa nm [Identifier (nai ai) tn,a,b]
App aa nm@(Name _ [Nmc fn]) [Identifier ai tn@(Name _ [Nmc tnn]),a]
| map toLower fn == "datepart"
, map toLower tnn `elem` dateparts ->
App aa nm [Identifier (nai ai) tn,a]
App aa nm@(Name _ [Nmc fn]) [a,Identifier ai tn@(Name _ [Nmc tnn])]
| map toLower fn == "convert"
, map toLower tnn `elem` map fst odbcConvertTypes ->
App aa nm [a,Identifier (nai ai) tn]
App aa nm@(Name _ [Nmc fn]) (Identifier ai tn@(Name _ [Nmc tnn]):as)
| map toLower fn `elem` ["timestampadd","timestampdiff"]
, map toLower tnn `elem` odbcIntervalTypes ->
App aa nm (Identifier (nai ai) tn:as)
x' -> x'
where
dateparts :: [String]
dateparts = ["day","dd","d","month","mm","m","year","yyyy"
,"yy","quarter","qq","q","dayofyear","doy","dy","y"
,"weekday","dw","week","ww","wk","hour","hh"
,"minute","mi","n","second","ss","s","millisecond","ms"
,"microsecond","mcs","nanosecond","ns"]
nai ai = ai {anType = (mkTypeExtraNN . ScalarType) <$> ansiTypeNameToDialect d "int"
,anErrs = []}
{-# LINE 522 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 20 "hssqlppp/src/Database/HsSqlPpp/Internals/Annotation.ag" #-}
type SourcePosition = (FilePath,Int,Int)
type ParameterizedStatementType = ([T.Type],[(String,T.Type)])
{-# LINE 536 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 52 "hssqlppp/src/Database/HsSqlPpp/Internals/Annotation.ag" #-}
emptyAnnotation :: Annotation
emptyAnnotation = Annotation Nothing Nothing [] Nothing []
getAnnotation :: Data a => a -> Annotation
getAnnotation = head . childrenBi
updateAnnotation :: Data a => (Annotation -> Annotation) -> a -> a
updateAnnotation f = gmapT (mkT f)
{-# LINE 558 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 519 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.ag" #-}
nameComponents :: Name -> [NameComponent]
nameComponents (Name _ is) = is
nameComponents (AntiName _) = error "tried to get namecomponents of antiname"
{-# LINE 566 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 539 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.ag" #-}
data LiftFlavour = LiftAny | LiftAll
deriving (Show,Eq,Typeable,Data)
data Direction = Asc | Desc
deriving (Show,Eq,Typeable,Data)
data NullsOrder = NullsDefault | NullsFirst | NullsLast
deriving (Show,Eq,Typeable,Data)
data Distinct = Distinct | All
deriving (Show,Eq,Typeable,Data)
data CombineType = Except | Union | Intersect | UnionAll
deriving (Show,Eq,Typeable,Data)
data IntervalField = IntervalYear
| IntervalMonth
| IntervalDay
| IntervalHour
| IntervalMinute
| IntervalSecond
| IntervalYearToMonth
| IntervalDayToHour
| IntervalDayToMinute
| IntervalDayToSecond
| IntervalHourToMinute
| IntervalHourToSecond
| IntervalMinuteToSecond
deriving (Show,Eq,Typeable,Data)
data ExtractField = ExtractCentury
| ExtractDay
| ExtractDecade
| ExtractDow
| ExtractDoy
| ExtractEpoch
| ExtractHour
| ExtractIsodow
| ExtractIsoyear
| ExtractMicroseconds
| ExtractMillennium
| ExtractMilliseconds
| ExtractMinute
| ExtractMonth
| ExtractQuarter
| ExtractSecond
| ExtractTimezone
| ExtractTimezoneHour
| ExtractTimezoneMinute
| ExtractWeek
| ExtractYear
deriving (Show,Eq,Typeable,Data)
data FrameClause = FrameUnboundedPreceding
| FrameUnboundedFull
| FrameRowsUnboundedPreceding
deriving (Show,Eq,Typeable,Data)
data OdbcLiteralType = OLDate
| OLTime
| OLTimestamp
deriving (Show,Eq,Typeable,Data)
{-# LINE 639 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 693 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.ag" #-}
data JoinType = Inner | LeftOuter| RightOuter | FullOuter | Cross
deriving (Show,Eq,Typeable,Data)
data JoinHint = Loop | Hash | Merge
deriving (Show,Eq,Typeable,Data)
data Natural = Natural | Unnatural
deriving (Show,Eq,Typeable,Data)
{-# LINE 649 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 711 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.ag" #-}
makeSelect :: QueryExpr
makeSelect = Select
{ann = emptyAnnotation
,selDistinct = All
,selSelectList = (SelectList emptyAnnotation [])
,selTref = []
,selWhere = Nothing
,selGroupBy = []
,selHaving = Nothing
,selOrderBy = []
,selLimit = Nothing
,selOffset = Nothing
,selOption = []}
{-# LINE 696 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 1021 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.ag" #-}
data CopyFromSource = CopyFilename String
| Stdin
deriving (Show,Eq,Typeable,Data)
data CopyToSource = CopyTable Name [NameComponent]
| CopyQuery QueryExpr
deriving (Show,Eq,Typeable,Data)
data CopyFromOption = CopyFromFormat String
| CopyFromDelimiter String
| CopyFromErrorLog String
| CopyFromErrorVerbosity Int
| CopyFromParsers String
| CopyFromDirectory
| CopyFromOffset Integer
| CopyFromLimit Integer
| CopyFromErrorThreshold Int
| CopyFromNewlineFormat String
deriving (Show,Eq,Typeable,Data)
data CopyToOption = CopyToFormat String
| CopyToDelimiter String
| CopyToErrorLog String
| CopyToErrorVerbosity Int
deriving (Show,Eq,Typeable,Data)
{-# LINE 725 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 1099 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.ag" #-}
data TableOption =
TableOptionStringVal [String] String
| TableOptionNameVal [String] [Name]
| TableOptionNumberVal [String] String
| TableOptionKeywords [String]
deriving (Show,Eq,Typeable,Data)
{-# LINE 736 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 1122 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.ag" #-}
data TablePartitionDateTimeInterval = Year | Month | Day | Hour | Minute | Second | Millisecond
deriving (Show,Eq,Typeable,Data)
{-# LINE 742 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 1185 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.ag" #-}
data SetValue
= SetStr Annotation String
| SetId Annotation String
| SetNum Annotation Double
deriving (Show,Eq,Typeable,Data)
data TriggerWhen = TriggerBefore | TriggerAfter
deriving (Show,Eq,Typeable,Data)
data TriggerEvent = TInsert| TUpdate | TDelete | AntiTriggerEvent String
deriving (Show,Eq,Typeable,Data)
data TriggerFire = EachRow | EachStatement
deriving (Show,Eq,Typeable,Data)
data DropType = Table
| Domain
| View
| Type
| Database
| User
| Login
| Schema
deriving (Show,Eq,Typeable,Data)
data Cascade = Cascade | Restrict
deriving (Show,Eq,Typeable,Data)
data IfExists = Require | IfExists
deriving (Show,Eq,Typeable,Data)
data RestartIdentity = RestartIdentity | ContinueIdentity
deriving (Show,Eq,Typeable,Data)
{-# LINE 782 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 1228 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.ag" #-}
data Replace = Replace | NoReplace
deriving (Show,Eq,Typeable,Data)
data Volatility = Volatile | Stable | Immutable
deriving (Show,Eq,Typeable,Data)
data Language = Sql | Plpgsql
deriving (Show,Eq,Typeable,Data)
{-# LINE 798 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 1267 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.ag" #-}
data RaiseType = RNotice | RException | RError
deriving (Show,Eq,Typeable,Data)
{-# LINE 805 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 1281 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.ag" #-}
data QueryHint = QueryHintPartitionGroup | QueryHintColumnarHostGroup
deriving (Show,Eq,Typeable,Data)
{-# LINE 812 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
{-# LINE 1387 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.ag" #-}
{-# LINE 834 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
data AlterColumnAction = SetDataType (Annotation) (TypeName)
| SetNotNull (Annotation)
| DropNotNull (Annotation)
| SetDefault (Annotation) (ScalarExpr)
| DropDefault (Annotation)
deriving ( Data,Eq,Show,Typeable)
_sem_AlterColumnAction :: AlterColumnAction ->
T_AlterColumnAction
_sem_AlterColumnAction (SetDataType _ann _typ) =
(_sem_AlterColumnAction_SetDataType (_sem_Annotation _ann) (_sem_TypeName _typ))
_sem_AlterColumnAction (SetNotNull _ann) =
(_sem_AlterColumnAction_SetNotNull (_sem_Annotation _ann))
_sem_AlterColumnAction (DropNotNull _ann) =
(_sem_AlterColumnAction_DropNotNull (_sem_Annotation _ann))
_sem_AlterColumnAction (SetDefault _ann _def) =
(_sem_AlterColumnAction_SetDefault (_sem_Annotation _ann) (_sem_ScalarExpr _def))
_sem_AlterColumnAction (DropDefault _ann) =
(_sem_AlterColumnAction_DropDefault (_sem_Annotation _ann))
type T_AlterColumnAction = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( AlterColumnAction,AlterColumnAction)
data Inh_AlterColumnAction = Inh_AlterColumnAction {_cat_Inh_AlterColumnAction :: Catalog,_flags_Inh_AlterColumnAction :: TypeCheckFlags,_imCast_Inh_AlterColumnAction :: (Maybe TypeExtra)}
data Syn_AlterColumnAction = Syn_AlterColumnAction {_annotatedTree_Syn_AlterColumnAction :: AlterColumnAction,_originalTree_Syn_AlterColumnAction :: AlterColumnAction}
_wrap_AlterColumnAction :: T_AlterColumnAction ->
Inh_AlterColumnAction ->
Syn_AlterColumnAction
_wrap_AlterColumnAction sem (Inh_AlterColumnAction _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_AlterColumnAction _lhsOannotatedTree _lhsOoriginalTree))
_sem_AlterColumnAction_SetDataType :: T_Annotation ->
T_TypeName ->
T_AlterColumnAction
_sem_AlterColumnAction_SetDataType ann_ typ_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterColumnAction
_lhsOoriginalTree :: AlterColumnAction
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_typOcat :: Catalog
_typOflags :: TypeCheckFlags
_typOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_typIannotatedTree :: TypeName
_typInamedType :: (Maybe TypeExtra)
_typIoriginalTree :: TypeName
_annOtpe =
({-# LINE 24 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 931 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SetDataType _annIannotatedTree _typIannotatedTree
{-# LINE 937 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SetDataType _annIoriginalTree _typIoriginalTree
{-# LINE 943 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 949 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 955 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 961 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 967 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 973 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 979 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 985 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 991 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _typIannotatedTree,_typInamedType,_typIoriginalTree) =
typ_ _typOcat _typOflags _typOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_AlterColumnAction_SetNotNull :: T_Annotation ->
T_AlterColumnAction
_sem_AlterColumnAction_SetNotNull ann_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterColumnAction
_lhsOoriginalTree :: AlterColumnAction
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 29 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 1016 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SetNotNull _annIannotatedTree
{-# LINE 1022 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SetNotNull _annIoriginalTree
{-# LINE 1028 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 1034 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 1040 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 1046 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 1052 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 1058 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_AlterColumnAction_DropNotNull :: T_Annotation ->
T_AlterColumnAction
_sem_AlterColumnAction_DropNotNull ann_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterColumnAction
_lhsOoriginalTree :: AlterColumnAction
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 23 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 1081 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
DropNotNull _annIannotatedTree
{-# LINE 1087 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
DropNotNull _annIoriginalTree
{-# LINE 1093 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 1099 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 1105 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 1111 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 1117 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 1123 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_AlterColumnAction_SetDefault :: T_Annotation ->
T_ScalarExpr ->
T_AlterColumnAction
_sem_AlterColumnAction_SetDefault ann_ def_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_defOdownEnv :: Environment
_defOexpectedCast :: Bool
_defOexpectedType :: (Maybe TypeExtra)
_defOodbcFunction :: Bool
_defOassignmentCastContext :: Bool
_lhsOannotatedTree :: AlterColumnAction
_lhsOoriginalTree :: AlterColumnAction
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_defOcat :: Catalog
_defOflags :: TypeCheckFlags
_defOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_defIannotatedTree :: ScalarExpr
_defIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_defIoriginalTree :: ScalarExpr
_defIupType :: (Maybe TypeExtra)
_annOtpe =
({-# LINE 25 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 1159 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_defOdownEnv =
({-# LINE 26 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 1165 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_defOexpectedCast =
({-# LINE 27 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 1171 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_defOexpectedType =
({-# LINE 28 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 1177 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_defOodbcFunction =
({-# LINE 131 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 1183 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_defOassignmentCastContext =
({-# LINE 807 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 1189 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SetDefault _annIannotatedTree _defIannotatedTree
{-# LINE 1195 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SetDefault _annIoriginalTree _defIoriginalTree
{-# LINE 1201 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 1207 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 1213 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 1219 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 1225 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 1231 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_defOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 1237 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_defOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 1243 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_defOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 1249 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _defIannotatedTree,_defIcolExprs,_defIoriginalTree,_defIupType) =
def_ _defOassignmentCastContext _defOcat _defOdownEnv _defOexpectedCast _defOexpectedType _defOflags _defOimCast _defOodbcFunction
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_AlterColumnAction_DropDefault :: T_Annotation ->
T_AlterColumnAction
_sem_AlterColumnAction_DropDefault ann_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterColumnAction
_lhsOoriginalTree :: AlterColumnAction
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 22 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 1274 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
DropDefault _annIannotatedTree
{-# LINE 1280 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
DropDefault _annIoriginalTree
{-# LINE 1286 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 1292 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 1298 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 1304 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 1310 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 1316 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data AlterDatabaseOperation = RenameDatabase (Annotation) (Name)
deriving ( Data,Eq,Show,Typeable)
_sem_AlterDatabaseOperation :: AlterDatabaseOperation ->
T_AlterDatabaseOperation
_sem_AlterDatabaseOperation (RenameDatabase _ann _newName) =
(_sem_AlterDatabaseOperation_RenameDatabase (_sem_Annotation _ann) (_sem_Name _newName))
type T_AlterDatabaseOperation = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( AlterDatabaseOperation,AlterDatabaseOperation)
data Inh_AlterDatabaseOperation = Inh_AlterDatabaseOperation {_cat_Inh_AlterDatabaseOperation :: Catalog,_flags_Inh_AlterDatabaseOperation :: TypeCheckFlags,_imCast_Inh_AlterDatabaseOperation :: (Maybe TypeExtra)}
data Syn_AlterDatabaseOperation = Syn_AlterDatabaseOperation {_annotatedTree_Syn_AlterDatabaseOperation :: AlterDatabaseOperation,_originalTree_Syn_AlterDatabaseOperation :: AlterDatabaseOperation}
_wrap_AlterDatabaseOperation :: T_AlterDatabaseOperation ->
Inh_AlterDatabaseOperation ->
Syn_AlterDatabaseOperation
_wrap_AlterDatabaseOperation sem (Inh_AlterDatabaseOperation _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_AlterDatabaseOperation _lhsOannotatedTree _lhsOoriginalTree))
_sem_AlterDatabaseOperation_RenameDatabase :: T_Annotation ->
T_Name ->
T_AlterDatabaseOperation
_sem_AlterDatabaseOperation_RenameDatabase ann_ newName_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_newNameOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterDatabaseOperation
_lhsOoriginalTree :: AlterDatabaseOperation
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_newNameOcat :: Catalog
_newNameOflags :: TypeCheckFlags
_newNameOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_newNameIannotatedTree :: Name
_newNameIoriginalTree :: Name
_annOtpe =
({-# LINE 30 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 1384 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newNameOtpe =
({-# LINE 31 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 1390 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
RenameDatabase _annIannotatedTree _newNameIannotatedTree
{-# LINE 1396 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
RenameDatabase _annIoriginalTree _newNameIoriginalTree
{-# LINE 1402 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 1408 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 1414 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 1420 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 1426 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 1432 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newNameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 1438 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newNameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 1444 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newNameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 1450 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _newNameIannotatedTree,_newNameIoriginalTree) =
newName_ _newNameOcat _newNameOflags _newNameOimCast _newNameOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data AlterSchemaOperation = AlterSchemaName (Annotation) (Name)
| AlterSchemaOwner (Annotation) (Name)
deriving ( Data,Eq,Show,Typeable)
_sem_AlterSchemaOperation :: AlterSchemaOperation ->
T_AlterSchemaOperation
_sem_AlterSchemaOperation (AlterSchemaName _ann _newName) =
(_sem_AlterSchemaOperation_AlterSchemaName (_sem_Annotation _ann) (_sem_Name _newName))
_sem_AlterSchemaOperation (AlterSchemaOwner _ann _newName) =
(_sem_AlterSchemaOperation_AlterSchemaOwner (_sem_Annotation _ann) (_sem_Name _newName))
type T_AlterSchemaOperation = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( AlterSchemaOperation,AlterSchemaOperation)
data Inh_AlterSchemaOperation = Inh_AlterSchemaOperation {_cat_Inh_AlterSchemaOperation :: Catalog,_flags_Inh_AlterSchemaOperation :: TypeCheckFlags,_imCast_Inh_AlterSchemaOperation :: (Maybe TypeExtra)}
data Syn_AlterSchemaOperation = Syn_AlterSchemaOperation {_annotatedTree_Syn_AlterSchemaOperation :: AlterSchemaOperation,_originalTree_Syn_AlterSchemaOperation :: AlterSchemaOperation}
_wrap_AlterSchemaOperation :: T_AlterSchemaOperation ->
Inh_AlterSchemaOperation ->
Syn_AlterSchemaOperation
_wrap_AlterSchemaOperation sem (Inh_AlterSchemaOperation _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_AlterSchemaOperation _lhsOannotatedTree _lhsOoriginalTree))
_sem_AlterSchemaOperation_AlterSchemaName :: T_Annotation ->
T_Name ->
T_AlterSchemaOperation
_sem_AlterSchemaOperation_AlterSchemaName ann_ newName_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterSchemaOperation
_lhsOoriginalTree :: AlterSchemaOperation
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_newNameOcat :: Catalog
_newNameOflags :: TypeCheckFlags
_newNameOimCast :: (Maybe TypeExtra)
_newNameOtpe :: (Either [TypeError] TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_newNameIannotatedTree :: Name
_newNameIoriginalTree :: Name
_annOtpe =
({-# LINE 32 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 1529 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSchemaName _annIannotatedTree _newNameIannotatedTree
{-# LINE 1535 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSchemaName _annIoriginalTree _newNameIoriginalTree
{-# LINE 1541 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 1547 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 1553 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 1559 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 1565 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 1571 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newNameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 1577 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newNameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 1583 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newNameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 1589 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newNameOtpe =
({-# LINE 46 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
error "missing rule: AlterSchemaOperation.AlterSchemaName.newName.tpe"
{-# LINE 1595 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _newNameIannotatedTree,_newNameIoriginalTree) =
newName_ _newNameOcat _newNameOflags _newNameOimCast _newNameOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_AlterSchemaOperation_AlterSchemaOwner :: T_Annotation ->
T_Name ->
T_AlterSchemaOperation
_sem_AlterSchemaOperation_AlterSchemaOwner ann_ newName_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_newNameOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterSchemaOperation
_lhsOoriginalTree :: AlterSchemaOperation
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_newNameOcat :: Catalog
_newNameOflags :: TypeCheckFlags
_newNameOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_newNameIannotatedTree :: Name
_newNameIoriginalTree :: Name
_annOtpe =
({-# LINE 33 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 1627 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newNameOtpe =
({-# LINE 34 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 1633 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSchemaOwner _annIannotatedTree _newNameIannotatedTree
{-# LINE 1639 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSchemaOwner _annIoriginalTree _newNameIoriginalTree
{-# LINE 1645 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 1651 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 1657 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 1663 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 1669 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 1675 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newNameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 1681 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newNameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 1687 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newNameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 1693 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _newNameIannotatedTree,_newNameIoriginalTree) =
newName_ _newNameOcat _newNameOflags _newNameOimCast _newNameOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data AlterSequenceAction = AlterSequenceIncrement (Annotation) (Integer)
| AlterSequenceMin (Annotation) ((Maybe Integer))
| AlterSequenceMax (Annotation) ((Maybe Integer))
| AlterSequenceStart (Annotation) (Integer)
| AlterSequenceRestart (Annotation) ((Maybe Integer))
| AlterSequenceCache (Annotation) (Integer)
deriving ( Data,Eq,Show,Typeable)
_sem_AlterSequenceAction :: AlterSequenceAction ->
T_AlterSequenceAction
_sem_AlterSequenceAction (AlterSequenceIncrement _ann _incr) =
(_sem_AlterSequenceAction_AlterSequenceIncrement (_sem_Annotation _ann) _incr)
_sem_AlterSequenceAction (AlterSequenceMin _ann _min) =
(_sem_AlterSequenceAction_AlterSequenceMin (_sem_Annotation _ann) _min)
_sem_AlterSequenceAction (AlterSequenceMax _ann _max) =
(_sem_AlterSequenceAction_AlterSequenceMax (_sem_Annotation _ann) _max)
_sem_AlterSequenceAction (AlterSequenceStart _ann _start) =
(_sem_AlterSequenceAction_AlterSequenceStart (_sem_Annotation _ann) _start)
_sem_AlterSequenceAction (AlterSequenceRestart _ann _restart) =
(_sem_AlterSequenceAction_AlterSequenceRestart (_sem_Annotation _ann) _restart)
_sem_AlterSequenceAction (AlterSequenceCache _ann _cache) =
(_sem_AlterSequenceAction_AlterSequenceCache (_sem_Annotation _ann) _cache)
type T_AlterSequenceAction = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( AlterSequenceAction,AlterSequenceAction)
data Inh_AlterSequenceAction = Inh_AlterSequenceAction {_cat_Inh_AlterSequenceAction :: Catalog,_flags_Inh_AlterSequenceAction :: TypeCheckFlags,_imCast_Inh_AlterSequenceAction :: (Maybe TypeExtra)}
data Syn_AlterSequenceAction = Syn_AlterSequenceAction {_annotatedTree_Syn_AlterSequenceAction :: AlterSequenceAction,_originalTree_Syn_AlterSequenceAction :: AlterSequenceAction}
_wrap_AlterSequenceAction :: T_AlterSequenceAction ->
Inh_AlterSequenceAction ->
Syn_AlterSequenceAction
_wrap_AlterSequenceAction sem (Inh_AlterSequenceAction _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_AlterSequenceAction _lhsOannotatedTree _lhsOoriginalTree))
_sem_AlterSequenceAction_AlterSequenceIncrement :: T_Annotation ->
Integer ->
T_AlterSequenceAction
_sem_AlterSequenceAction_AlterSequenceIncrement ann_ incr_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterSequenceAction
_lhsOoriginalTree :: AlterSequenceAction
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 1802 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSequenceIncrement _annIannotatedTree incr_
{-# LINE 1808 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSequenceIncrement _annIoriginalTree incr_
{-# LINE 1814 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 1820 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 1826 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 1832 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 1838 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 1844 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_AlterSequenceAction_AlterSequenceMin :: T_Annotation ->
(Maybe Integer) ->
T_AlterSequenceAction
_sem_AlterSequenceAction_AlterSequenceMin ann_ min_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterSequenceAction
_lhsOoriginalTree :: AlterSequenceAction
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 1868 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSequenceMin _annIannotatedTree min_
{-# LINE 1874 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSequenceMin _annIoriginalTree min_
{-# LINE 1880 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 1886 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 1892 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 1898 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 1904 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 1910 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_AlterSequenceAction_AlterSequenceMax :: T_Annotation ->
(Maybe Integer) ->
T_AlterSequenceAction
_sem_AlterSequenceAction_AlterSequenceMax ann_ max_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterSequenceAction
_lhsOoriginalTree :: AlterSequenceAction
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 1934 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSequenceMax _annIannotatedTree max_
{-# LINE 1940 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSequenceMax _annIoriginalTree max_
{-# LINE 1946 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 1952 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 1958 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 1964 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 1970 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 1976 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_AlterSequenceAction_AlterSequenceStart :: T_Annotation ->
Integer ->
T_AlterSequenceAction
_sem_AlterSequenceAction_AlterSequenceStart ann_ start_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterSequenceAction
_lhsOoriginalTree :: AlterSequenceAction
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 2000 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSequenceStart _annIannotatedTree start_
{-# LINE 2006 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSequenceStart _annIoriginalTree start_
{-# LINE 2012 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 2018 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 2024 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 2030 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 2036 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 2042 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_AlterSequenceAction_AlterSequenceRestart :: T_Annotation ->
(Maybe Integer) ->
T_AlterSequenceAction
_sem_AlterSequenceAction_AlterSequenceRestart ann_ restart_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterSequenceAction
_lhsOoriginalTree :: AlterSequenceAction
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 39 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 2066 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSequenceRestart _annIannotatedTree restart_
{-# LINE 2072 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSequenceRestart _annIoriginalTree restart_
{-# LINE 2078 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 2084 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 2090 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 2096 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 2102 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 2108 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_AlterSequenceAction_AlterSequenceCache :: T_Annotation ->
Integer ->
T_AlterSequenceAction
_sem_AlterSequenceAction_AlterSequenceCache ann_ cache_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterSequenceAction
_lhsOoriginalTree :: AlterSequenceAction
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 40 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 2132 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSequenceCache _annIannotatedTree cache_
{-# LINE 2138 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSequenceCache _annIoriginalTree cache_
{-# LINE 2144 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 2150 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 2156 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 2162 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 2168 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 2174 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type AlterSequenceActionList = [AlterSequenceAction]
_sem_AlterSequenceActionList :: AlterSequenceActionList ->
T_AlterSequenceActionList
_sem_AlterSequenceActionList list =
(Prelude.foldr _sem_AlterSequenceActionList_Cons _sem_AlterSequenceActionList_Nil (Prelude.map _sem_AlterSequenceAction list))
type T_AlterSequenceActionList = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( AlterSequenceActionList,AlterSequenceActionList)
data Inh_AlterSequenceActionList = Inh_AlterSequenceActionList {_cat_Inh_AlterSequenceActionList :: Catalog,_flags_Inh_AlterSequenceActionList :: TypeCheckFlags,_imCast_Inh_AlterSequenceActionList :: (Maybe TypeExtra)}
data Syn_AlterSequenceActionList = Syn_AlterSequenceActionList {_annotatedTree_Syn_AlterSequenceActionList :: AlterSequenceActionList,_originalTree_Syn_AlterSequenceActionList :: AlterSequenceActionList}
_wrap_AlterSequenceActionList :: T_AlterSequenceActionList ->
Inh_AlterSequenceActionList ->
Syn_AlterSequenceActionList
_wrap_AlterSequenceActionList sem (Inh_AlterSequenceActionList _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_AlterSequenceActionList _lhsOannotatedTree _lhsOoriginalTree))
_sem_AlterSequenceActionList_Cons :: T_AlterSequenceAction ->
T_AlterSequenceActionList ->
T_AlterSequenceActionList
_sem_AlterSequenceActionList_Cons hd_ tl_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: AlterSequenceActionList
_lhsOoriginalTree :: AlterSequenceActionList
_hdOcat :: Catalog
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_tlOcat :: Catalog
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_hdIannotatedTree :: AlterSequenceAction
_hdIoriginalTree :: AlterSequenceAction
_tlIannotatedTree :: AlterSequenceActionList
_tlIoriginalTree :: AlterSequenceActionList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 2243 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 2249 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 2255 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 2261 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 2267 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 2273 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 2279 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 2285 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 2291 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 2297 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdIoriginalTree) =
hd_ _hdOcat _hdOflags _hdOimCast
( _tlIannotatedTree,_tlIoriginalTree) =
tl_ _tlOcat _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_AlterSequenceActionList_Nil :: T_AlterSequenceActionList
_sem_AlterSequenceActionList_Nil =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: AlterSequenceActionList
_lhsOoriginalTree :: AlterSequenceActionList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 2315 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 2321 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 2327 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 2333 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data AlterSequenceOperation = AlterSequenceOwned (Annotation) (Name)
| AlterSequenceRename (Annotation) (Name)
| AlterSequenceActions (Annotation) (AlterSequenceActionList)
deriving ( Data,Eq,Show,Typeable)
_sem_AlterSequenceOperation :: AlterSequenceOperation ->
T_AlterSequenceOperation
_sem_AlterSequenceOperation (AlterSequenceOwned _ann _owned) =
(_sem_AlterSequenceOperation_AlterSequenceOwned (_sem_Annotation _ann) (_sem_Name _owned))
_sem_AlterSequenceOperation (AlterSequenceRename _ann _name) =
(_sem_AlterSequenceOperation_AlterSequenceRename (_sem_Annotation _ann) (_sem_Name _name))
_sem_AlterSequenceOperation (AlterSequenceActions _ann _actions) =
(_sem_AlterSequenceOperation_AlterSequenceActions (_sem_Annotation _ann) (_sem_AlterSequenceActionList _actions))
type T_AlterSequenceOperation = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( AlterSequenceOperation,AlterSequenceOperation)
data Inh_AlterSequenceOperation = Inh_AlterSequenceOperation {_cat_Inh_AlterSequenceOperation :: Catalog,_flags_Inh_AlterSequenceOperation :: TypeCheckFlags,_imCast_Inh_AlterSequenceOperation :: (Maybe TypeExtra)}
data Syn_AlterSequenceOperation = Syn_AlterSequenceOperation {_annotatedTree_Syn_AlterSequenceOperation :: AlterSequenceOperation,_originalTree_Syn_AlterSequenceOperation :: AlterSequenceOperation}
_wrap_AlterSequenceOperation :: T_AlterSequenceOperation ->
Inh_AlterSequenceOperation ->
Syn_AlterSequenceOperation
_wrap_AlterSequenceOperation sem (Inh_AlterSequenceOperation _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_AlterSequenceOperation _lhsOannotatedTree _lhsOoriginalTree))
_sem_AlterSequenceOperation_AlterSequenceOwned :: T_Annotation ->
T_Name ->
T_AlterSequenceOperation
_sem_AlterSequenceOperation_AlterSequenceOwned ann_ owned_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_ownedOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterSequenceOperation
_lhsOoriginalTree :: AlterSequenceOperation
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_ownedOcat :: Catalog
_ownedOflags :: TypeCheckFlags
_ownedOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_ownedIannotatedTree :: Name
_ownedIoriginalTree :: Name
_annOtpe =
({-# LINE 41 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 2417 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_ownedOtpe =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 2423 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSequenceOwned _annIannotatedTree _ownedIannotatedTree
{-# LINE 2429 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSequenceOwned _annIoriginalTree _ownedIoriginalTree
{-# LINE 2435 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 2441 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 2447 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 2453 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 2459 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 2465 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_ownedOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 2471 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_ownedOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 2477 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_ownedOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 2483 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _ownedIannotatedTree,_ownedIoriginalTree) =
owned_ _ownedOcat _ownedOflags _ownedOimCast _ownedOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_AlterSequenceOperation_AlterSequenceRename :: T_Annotation ->
T_Name ->
T_AlterSequenceOperation
_sem_AlterSequenceOperation_AlterSequenceRename ann_ name_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_nameOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterSequenceOperation
_lhsOoriginalTree :: AlterSequenceOperation
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_nameOcat :: Catalog
_nameOflags :: TypeCheckFlags
_nameOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_nameIannotatedTree :: Name
_nameIoriginalTree :: Name
_annOtpe =
({-# LINE 43 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 2515 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOtpe =
({-# LINE 44 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 2521 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSequenceRename _annIannotatedTree _nameIannotatedTree
{-# LINE 2527 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSequenceRename _annIoriginalTree _nameIoriginalTree
{-# LINE 2533 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 2539 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 2545 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 2551 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 2557 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 2563 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 2569 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 2575 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 2581 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _nameIannotatedTree,_nameIoriginalTree) =
name_ _nameOcat _nameOflags _nameOimCast _nameOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_AlterSequenceOperation_AlterSequenceActions :: T_Annotation ->
T_AlterSequenceActionList ->
T_AlterSequenceOperation
_sem_AlterSequenceOperation_AlterSequenceActions ann_ actions_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterSequenceOperation
_lhsOoriginalTree :: AlterSequenceOperation
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_actionsOcat :: Catalog
_actionsOflags :: TypeCheckFlags
_actionsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_actionsIannotatedTree :: AlterSequenceActionList
_actionsIoriginalTree :: AlterSequenceActionList
_annOtpe =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 2612 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSequenceActions _annIannotatedTree _actionsIannotatedTree
{-# LINE 2618 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSequenceActions _annIoriginalTree _actionsIoriginalTree
{-# LINE 2624 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 2630 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 2636 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 2642 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 2648 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 2654 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_actionsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 2660 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_actionsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 2666 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_actionsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 2672 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _actionsIannotatedTree,_actionsIoriginalTree) =
actions_ _actionsOcat _actionsOflags _actionsOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data AlterTableAction = AddColumn (Annotation) (AttributeDef)
| DropColumn (Annotation) (NameComponent)
| AlterColumn (Annotation) (NameComponent) (AlterColumnAction)
| AddConstraint (Annotation) (Constraint)
deriving ( Data,Eq,Show,Typeable)
_sem_AlterTableAction :: AlterTableAction ->
T_AlterTableAction
_sem_AlterTableAction (AddColumn _ann _att) =
(_sem_AlterTableAction_AddColumn (_sem_Annotation _ann) (_sem_AttributeDef _att))
_sem_AlterTableAction (DropColumn _ann _nm) =
(_sem_AlterTableAction_DropColumn (_sem_Annotation _ann) _nm)
_sem_AlterTableAction (AlterColumn _ann _nm _act) =
(_sem_AlterTableAction_AlterColumn (_sem_Annotation _ann) _nm (_sem_AlterColumnAction _act))
_sem_AlterTableAction (AddConstraint _ann _con) =
(_sem_AlterTableAction_AddConstraint (_sem_Annotation _ann) (_sem_Constraint _con))
type T_AlterTableAction = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( AlterTableAction,AlterTableAction)
data Inh_AlterTableAction = Inh_AlterTableAction {_cat_Inh_AlterTableAction :: Catalog,_flags_Inh_AlterTableAction :: TypeCheckFlags,_imCast_Inh_AlterTableAction :: (Maybe TypeExtra)}
data Syn_AlterTableAction = Syn_AlterTableAction {_annotatedTree_Syn_AlterTableAction :: AlterTableAction,_originalTree_Syn_AlterTableAction :: AlterTableAction}
_wrap_AlterTableAction :: T_AlterTableAction ->
Inh_AlterTableAction ->
Syn_AlterTableAction
_wrap_AlterTableAction sem (Inh_AlterTableAction _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_AlterTableAction _lhsOannotatedTree _lhsOoriginalTree))
_sem_AlterTableAction_AddColumn :: T_Annotation ->
T_AttributeDef ->
T_AlterTableAction
_sem_AlterTableAction_AddColumn ann_ att_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterTableAction
_lhsOoriginalTree :: AlterTableAction
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_attOcat :: Catalog
_attOflags :: TypeCheckFlags
_attOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_attIannotatedTree :: AttributeDef
_attIoriginalTree :: AttributeDef
_annOtpe =
({-# LINE 46 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 2769 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AddColumn _annIannotatedTree _attIannotatedTree
{-# LINE 2775 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AddColumn _annIoriginalTree _attIoriginalTree
{-# LINE 2781 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 2787 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 2793 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 2799 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 2805 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 2811 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_attOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 2817 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_attOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 2823 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_attOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 2829 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _attIannotatedTree,_attIoriginalTree) =
att_ _attOcat _attOflags _attOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_AlterTableAction_DropColumn :: T_Annotation ->
NameComponent ->
T_AlterTableAction
_sem_AlterTableAction_DropColumn ann_ nm_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterTableAction
_lhsOoriginalTree :: AlterTableAction
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 49 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 2855 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
DropColumn _annIannotatedTree nm_
{-# LINE 2861 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
DropColumn _annIoriginalTree nm_
{-# LINE 2867 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 2873 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 2879 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 2885 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 2891 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 2897 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_AlterTableAction_AlterColumn :: T_Annotation ->
NameComponent ->
T_AlterColumnAction ->
T_AlterTableAction
_sem_AlterTableAction_AlterColumn ann_ nm_ act_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterTableAction
_lhsOoriginalTree :: AlterTableAction
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_actOcat :: Catalog
_actOflags :: TypeCheckFlags
_actOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_actIannotatedTree :: AlterColumnAction
_actIoriginalTree :: AlterColumnAction
_annOtpe =
({-# LINE 48 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 2927 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterColumn _annIannotatedTree nm_ _actIannotatedTree
{-# LINE 2933 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterColumn _annIoriginalTree nm_ _actIoriginalTree
{-# LINE 2939 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 2945 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 2951 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 2957 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 2963 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 2969 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_actOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 2975 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_actOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 2981 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_actOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 2987 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _actIannotatedTree,_actIoriginalTree) =
act_ _actOcat _actOflags _actOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_AlterTableAction_AddConstraint :: T_Annotation ->
T_Constraint ->
T_AlterTableAction
_sem_AlterTableAction_AddConstraint ann_ con_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterTableAction
_lhsOoriginalTree :: AlterTableAction
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_conOcat :: Catalog
_conOflags :: TypeCheckFlags
_conOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_conIannotatedTree :: Constraint
_conIoriginalTree :: Constraint
_annOtpe =
({-# LINE 47 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 3018 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AddConstraint _annIannotatedTree _conIannotatedTree
{-# LINE 3024 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AddConstraint _annIoriginalTree _conIoriginalTree
{-# LINE 3030 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 3036 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 3042 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 3048 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 3054 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 3060 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_conOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 3066 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_conOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 3072 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_conOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 3078 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _conIannotatedTree,_conIoriginalTree) =
con_ _conOcat _conOflags _conOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type AlterTableActionList = [AlterTableAction]
_sem_AlterTableActionList :: AlterTableActionList ->
T_AlterTableActionList
_sem_AlterTableActionList list =
(Prelude.foldr _sem_AlterTableActionList_Cons _sem_AlterTableActionList_Nil (Prelude.map _sem_AlterTableAction list))
type T_AlterTableActionList = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( AlterTableActionList,AlterTableActionList)
data Inh_AlterTableActionList = Inh_AlterTableActionList {_cat_Inh_AlterTableActionList :: Catalog,_flags_Inh_AlterTableActionList :: TypeCheckFlags,_imCast_Inh_AlterTableActionList :: (Maybe TypeExtra)}
data Syn_AlterTableActionList = Syn_AlterTableActionList {_annotatedTree_Syn_AlterTableActionList :: AlterTableActionList,_originalTree_Syn_AlterTableActionList :: AlterTableActionList}
_wrap_AlterTableActionList :: T_AlterTableActionList ->
Inh_AlterTableActionList ->
Syn_AlterTableActionList
_wrap_AlterTableActionList sem (Inh_AlterTableActionList _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_AlterTableActionList _lhsOannotatedTree _lhsOoriginalTree))
_sem_AlterTableActionList_Cons :: T_AlterTableAction ->
T_AlterTableActionList ->
T_AlterTableActionList
_sem_AlterTableActionList_Cons hd_ tl_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: AlterTableActionList
_lhsOoriginalTree :: AlterTableActionList
_hdOcat :: Catalog
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_tlOcat :: Catalog
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_hdIannotatedTree :: AlterTableAction
_hdIoriginalTree :: AlterTableAction
_tlIannotatedTree :: AlterTableActionList
_tlIoriginalTree :: AlterTableActionList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 3149 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 3155 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 3161 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 3167 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 3173 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 3179 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 3185 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 3191 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 3197 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 3203 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdIoriginalTree) =
hd_ _hdOcat _hdOflags _hdOimCast
( _tlIannotatedTree,_tlIoriginalTree) =
tl_ _tlOcat _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_AlterTableActionList_Nil :: T_AlterTableActionList
_sem_AlterTableActionList_Nil =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: AlterTableActionList
_lhsOoriginalTree :: AlterTableActionList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 3221 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 3227 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 3233 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 3239 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data AlterTableOperation = RenameTable (Annotation) (Name)
| RenameColumn (Annotation) (NameComponent) (NameComponent)
| AlterTableActions (Annotation) (AlterTableActionList)
deriving ( Data,Eq,Show,Typeable)
_sem_AlterTableOperation :: AlterTableOperation ->
T_AlterTableOperation
_sem_AlterTableOperation (RenameTable _ann _newName) =
(_sem_AlterTableOperation_RenameTable (_sem_Annotation _ann) (_sem_Name _newName))
_sem_AlterTableOperation (RenameColumn _ann _oldName _newName) =
(_sem_AlterTableOperation_RenameColumn (_sem_Annotation _ann) _oldName _newName)
_sem_AlterTableOperation (AlterTableActions _ann _actions) =
(_sem_AlterTableOperation_AlterTableActions (_sem_Annotation _ann) (_sem_AlterTableActionList _actions))
type T_AlterTableOperation = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( AlterTableOperation,AlterTableOperation)
data Inh_AlterTableOperation = Inh_AlterTableOperation {_cat_Inh_AlterTableOperation :: Catalog,_flags_Inh_AlterTableOperation :: TypeCheckFlags,_imCast_Inh_AlterTableOperation :: (Maybe TypeExtra)}
data Syn_AlterTableOperation = Syn_AlterTableOperation {_annotatedTree_Syn_AlterTableOperation :: AlterTableOperation,_originalTree_Syn_AlterTableOperation :: AlterTableOperation}
_wrap_AlterTableOperation :: T_AlterTableOperation ->
Inh_AlterTableOperation ->
Syn_AlterTableOperation
_wrap_AlterTableOperation sem (Inh_AlterTableOperation _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_AlterTableOperation _lhsOannotatedTree _lhsOoriginalTree))
_sem_AlterTableOperation_RenameTable :: T_Annotation ->
T_Name ->
T_AlterTableOperation
_sem_AlterTableOperation_RenameTable ann_ newName_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_newNameOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterTableOperation
_lhsOoriginalTree :: AlterTableOperation
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_newNameOcat :: Catalog
_newNameOflags :: TypeCheckFlags
_newNameOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_newNameIannotatedTree :: Name
_newNameIoriginalTree :: Name
_annOtpe =
({-# LINE 52 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 3324 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newNameOtpe =
({-# LINE 53 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 3330 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
RenameTable _annIannotatedTree _newNameIannotatedTree
{-# LINE 3336 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
RenameTable _annIoriginalTree _newNameIoriginalTree
{-# LINE 3342 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 3348 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 3354 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 3360 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 3366 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 3372 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newNameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 3378 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newNameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 3384 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newNameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 3390 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _newNameIannotatedTree,_newNameIoriginalTree) =
newName_ _newNameOcat _newNameOflags _newNameOimCast _newNameOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_AlterTableOperation_RenameColumn :: T_Annotation ->
NameComponent ->
NameComponent ->
T_AlterTableOperation
_sem_AlterTableOperation_RenameColumn ann_ oldName_ newName_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterTableOperation
_lhsOoriginalTree :: AlterTableOperation
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 51 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 3417 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
RenameColumn _annIannotatedTree oldName_ newName_
{-# LINE 3423 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
RenameColumn _annIoriginalTree oldName_ newName_
{-# LINE 3429 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 3435 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 3441 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 3447 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 3453 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 3459 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_AlterTableOperation_AlterTableActions :: T_Annotation ->
T_AlterTableActionList ->
T_AlterTableOperation
_sem_AlterTableOperation_AlterTableActions ann_ actions_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AlterTableOperation
_lhsOoriginalTree :: AlterTableOperation
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_actionsOcat :: Catalog
_actionsOflags :: TypeCheckFlags
_actionsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_actionsIannotatedTree :: AlterTableActionList
_actionsIoriginalTree :: AlterTableActionList
_annOtpe =
({-# LINE 50 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 3488 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterTableActions _annIannotatedTree _actionsIannotatedTree
{-# LINE 3494 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterTableActions _annIoriginalTree _actionsIoriginalTree
{-# LINE 3500 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 3506 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 3512 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 3518 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 3524 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 3530 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_actionsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 3536 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_actionsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 3542 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_actionsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 3548 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _actionsIannotatedTree,_actionsIoriginalTree) =
actions_ _actionsOcat _actionsOflags _actionsOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data Annotation = Annotation {
anSrc :: ( Maybe SourcePosition)
,anType :: ( Maybe T.TypeExtra)
,anErrs :: ( [T.TypeError])
,anImplicitCast :: ( Maybe T.TypeExtra)
,anCatUpd :: ( [C.CatalogUpdate])
} deriving (Eq,Show,Data,Typeable)
_sem_Annotation :: Annotation ->
T_Annotation
_sem_Annotation (Annotation _anSrc _anType _anErrs _anImplicitCast _anCatUpd) =
(_sem_Annotation_Annotation _anSrc _anType _anErrs _anImplicitCast _anCatUpd)
type T_Annotation = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
(Either [TypeError] TypeExtra) ->
( Annotation,Annotation)
data Inh_Annotation = Inh_Annotation {_cat_Inh_Annotation :: Catalog,_flags_Inh_Annotation :: TypeCheckFlags,_imCast_Inh_Annotation :: (Maybe TypeExtra),_tpe_Inh_Annotation :: (Either [TypeError] TypeExtra)}
data Syn_Annotation = Syn_Annotation {_annotatedTree_Syn_Annotation :: Annotation,_originalTree_Syn_Annotation :: Annotation}
_wrap_Annotation :: T_Annotation ->
Inh_Annotation ->
Syn_Annotation
_wrap_Annotation sem (Inh_Annotation _lhsIcat _lhsIflags _lhsIimCast _lhsItpe) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast _lhsItpe
in (Syn_Annotation _lhsOannotatedTree _lhsOoriginalTree))
_sem_Annotation_Annotation :: (Maybe SourcePosition) ->
(Maybe T.TypeExtra) ->
([T.TypeError]) ->
(Maybe T.TypeExtra) ->
([C.CatalogUpdate]) ->
T_Annotation
_sem_Annotation_Annotation anSrc_ anType_ anErrs_ anImplicitCast_ anCatUpd_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast
_lhsItpe ->
(let _lhsOannotatedTree :: Annotation
_lhsOoriginalTree :: Annotation
_lhsOannotatedTree =
({-# LINE 140 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
let t = either (const Nothing) Just _lhsItpe
es = either id (const []) _lhsItpe
in Annotation anSrc_ t es _lhsIimCast anCatUpd_
{-# LINE 3617 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Annotation anSrc_ anType_ anErrs_ anImplicitCast_ anCatUpd_
{-# LINE 3623 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Annotation anSrc_ anType_ anErrs_ anImplicitCast_ anCatUpd_
{-# LINE 3629 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 3635 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data AttributeDef = AttributeDef (Annotation) (NameComponent) (TypeName) (RowConstraintList) (([TableOption]))
deriving ( Data,Eq,Show,Typeable)
_sem_AttributeDef :: AttributeDef ->
T_AttributeDef
_sem_AttributeDef (AttributeDef _ann _name _typ _cons _options) =
(_sem_AttributeDef_AttributeDef (_sem_Annotation _ann) _name (_sem_TypeName _typ) (_sem_RowConstraintList _cons) _options)
type T_AttributeDef = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( AttributeDef,AttributeDef)
data Inh_AttributeDef = Inh_AttributeDef {_cat_Inh_AttributeDef :: Catalog,_flags_Inh_AttributeDef :: TypeCheckFlags,_imCast_Inh_AttributeDef :: (Maybe TypeExtra)}
data Syn_AttributeDef = Syn_AttributeDef {_annotatedTree_Syn_AttributeDef :: AttributeDef,_originalTree_Syn_AttributeDef :: AttributeDef}
_wrap_AttributeDef :: T_AttributeDef ->
Inh_AttributeDef ->
Syn_AttributeDef
_wrap_AttributeDef sem (Inh_AttributeDef _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_AttributeDef _lhsOannotatedTree _lhsOoriginalTree))
_sem_AttributeDef_AttributeDef :: T_Annotation ->
NameComponent ->
T_TypeName ->
T_RowConstraintList ->
([TableOption]) ->
T_AttributeDef
_sem_AttributeDef_AttributeDef ann_ name_ typ_ cons_ options_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: AttributeDef
_lhsOoriginalTree :: AttributeDef
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_typOcat :: Catalog
_typOflags :: TypeCheckFlags
_typOimCast :: (Maybe TypeExtra)
_consOcat :: Catalog
_consOflags :: TypeCheckFlags
_consOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_typIannotatedTree :: TypeName
_typInamedType :: (Maybe TypeExtra)
_typIoriginalTree :: TypeName
_consIannotatedTree :: RowConstraintList
_consIoriginalTree :: RowConstraintList
_annOtpe =
({-# LINE 54 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 3712 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AttributeDef _annIannotatedTree name_ _typIannotatedTree _consIannotatedTree options_
{-# LINE 3718 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AttributeDef _annIoriginalTree name_ _typIoriginalTree _consIoriginalTree options_
{-# LINE 3724 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 3730 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 3736 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 3742 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 3748 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 3754 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 3760 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 3766 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 3772 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_consOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 3778 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_consOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 3784 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_consOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 3790 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _typIannotatedTree,_typInamedType,_typIoriginalTree) =
typ_ _typOcat _typOflags _typOimCast
( _consIannotatedTree,_consIoriginalTree) =
cons_ _consOcat _consOflags _consOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type AttributeDefList = [AttributeDef]
_sem_AttributeDefList :: AttributeDefList ->
T_AttributeDefList
_sem_AttributeDefList list =
(Prelude.foldr _sem_AttributeDefList_Cons _sem_AttributeDefList_Nil (Prelude.map _sem_AttributeDef list))
type T_AttributeDefList = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( AttributeDefList,AttributeDefList)
data Inh_AttributeDefList = Inh_AttributeDefList {_cat_Inh_AttributeDefList :: Catalog,_flags_Inh_AttributeDefList :: TypeCheckFlags,_imCast_Inh_AttributeDefList :: (Maybe TypeExtra)}
data Syn_AttributeDefList = Syn_AttributeDefList {_annotatedTree_Syn_AttributeDefList :: AttributeDefList,_originalTree_Syn_AttributeDefList :: AttributeDefList}
_wrap_AttributeDefList :: T_AttributeDefList ->
Inh_AttributeDefList ->
Syn_AttributeDefList
_wrap_AttributeDefList sem (Inh_AttributeDefList _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_AttributeDefList _lhsOannotatedTree _lhsOoriginalTree))
_sem_AttributeDefList_Cons :: T_AttributeDef ->
T_AttributeDefList ->
T_AttributeDefList
_sem_AttributeDefList_Cons hd_ tl_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: AttributeDefList
_lhsOoriginalTree :: AttributeDefList
_hdOcat :: Catalog
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_tlOcat :: Catalog
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_hdIannotatedTree :: AttributeDef
_hdIoriginalTree :: AttributeDef
_tlIannotatedTree :: AttributeDefList
_tlIoriginalTree :: AttributeDefList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 3863 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 3869 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 3875 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 3881 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 3887 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 3893 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 3899 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 3905 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 3911 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 3917 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdIoriginalTree) =
hd_ _hdOcat _hdOflags _hdOimCast
( _tlIannotatedTree,_tlIoriginalTree) =
tl_ _tlOcat _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_AttributeDefList_Nil :: T_AttributeDefList
_sem_AttributeDefList_Nil =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: AttributeDefList
_lhsOoriginalTree :: AttributeDefList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 3935 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 3941 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 3947 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 3953 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type CaseScalarExprListScalarExprPair = ( ScalarExprList,ScalarExpr)
_sem_CaseScalarExprListScalarExprPair :: CaseScalarExprListScalarExprPair ->
T_CaseScalarExprListScalarExprPair
_sem_CaseScalarExprListScalarExprPair ( x1,x2) =
(_sem_CaseScalarExprListScalarExprPair_Tuple (_sem_ScalarExprList x1) (_sem_ScalarExpr x2))
type T_CaseScalarExprListScalarExprPair = Catalog ->
Environment ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
(Maybe TypeExtra) ->
(Maybe TypeExtra) ->
( CaseScalarExprListScalarExprPair,CaseScalarExprListScalarExprPair,(Maybe TypeExtra),([Maybe TypeExtra]),([Maybe TypeExtra]))
data Inh_CaseScalarExprListScalarExprPair = Inh_CaseScalarExprListScalarExprPair {_cat_Inh_CaseScalarExprListScalarExprPair :: Catalog,_downEnv_Inh_CaseScalarExprListScalarExprPair :: Environment,_flags_Inh_CaseScalarExprListScalarExprPair :: TypeCheckFlags,_imCast_Inh_CaseScalarExprListScalarExprPair :: (Maybe TypeExtra),_thenExpectedType_Inh_CaseScalarExprListScalarExprPair :: (Maybe TypeExtra),_whenExpectedType_Inh_CaseScalarExprListScalarExprPair :: (Maybe TypeExtra)}
data Syn_CaseScalarExprListScalarExprPair = Syn_CaseScalarExprListScalarExprPair {_annotatedTree_Syn_CaseScalarExprListScalarExprPair :: CaseScalarExprListScalarExprPair,_originalTree_Syn_CaseScalarExprListScalarExprPair :: CaseScalarExprListScalarExprPair,_thenType_Syn_CaseScalarExprListScalarExprPair :: (Maybe TypeExtra),_upTypes_Syn_CaseScalarExprListScalarExprPair :: ([Maybe TypeExtra]),_whenTypes_Syn_CaseScalarExprListScalarExprPair :: ([Maybe TypeExtra])}
_wrap_CaseScalarExprListScalarExprPair :: T_CaseScalarExprListScalarExprPair ->
Inh_CaseScalarExprListScalarExprPair ->
Syn_CaseScalarExprListScalarExprPair
_wrap_CaseScalarExprListScalarExprPair sem (Inh_CaseScalarExprListScalarExprPair _lhsIcat _lhsIdownEnv _lhsIflags _lhsIimCast _lhsIthenExpectedType _lhsIwhenExpectedType) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOthenType,_lhsOupTypes,_lhsOwhenTypes) = sem _lhsIcat _lhsIdownEnv _lhsIflags _lhsIimCast _lhsIthenExpectedType _lhsIwhenExpectedType
in (Syn_CaseScalarExprListScalarExprPair _lhsOannotatedTree _lhsOoriginalTree _lhsOthenType _lhsOupTypes _lhsOwhenTypes))
_sem_CaseScalarExprListScalarExprPair_Tuple :: T_ScalarExprList ->
T_ScalarExpr ->
T_CaseScalarExprListScalarExprPair
_sem_CaseScalarExprListScalarExprPair_Tuple x1_ x2_ =
(\ _lhsIcat
_lhsIdownEnv
_lhsIflags
_lhsIimCast
_lhsIthenExpectedType
_lhsIwhenExpectedType ->
(let _x2OodbcFunction :: Bool
_lhsOwhenTypes :: ([Maybe TypeExtra])
_lhsOthenType :: (Maybe TypeExtra)
_x1OexpectedTypes :: ([TypeExtra])
_x1OexpectedCast :: Bool
_x2OexpectedType :: (Maybe TypeExtra)
_x2OexpectedCast :: Bool
_x1OassignmentCastContext :: Bool
_x2OassignmentCastContext :: Bool
_lhsOannotatedTree :: CaseScalarExprListScalarExprPair
_lhsOoriginalTree :: CaseScalarExprListScalarExprPair
_lhsOupTypes :: ([Maybe TypeExtra])
_x1Ocat :: Catalog
_x1OdownEnv :: Environment
_x1Oflags :: TypeCheckFlags
_x1OimCast :: (Maybe TypeExtra)
_x2Ocat :: Catalog
_x2OdownEnv :: Environment
_x2Oflags :: TypeCheckFlags
_x2OimCast :: (Maybe TypeExtra)
_x1IannotatedTree :: ScalarExprList
_x1IoriginalTree :: ScalarExprList
_x1IupTypes :: ([Maybe TypeExtra])
_x2IannotatedTree :: ScalarExpr
_x2IcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_x2IoriginalTree :: ScalarExpr
_x2IupType :: (Maybe TypeExtra)
_x2OodbcFunction =
({-# LINE 134 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 4043 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOwhenTypes =
({-# LINE 550 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_x1IupTypes
{-# LINE 4049 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOthenType =
({-# LINE 551 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_x2IupType
{-# LINE 4055 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1OexpectedTypes =
({-# LINE 606 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe [] repeat _lhsIwhenExpectedType
{-# LINE 4061 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1OexpectedCast =
({-# LINE 607 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 4067 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x2OexpectedType =
({-# LINE 608 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIthenExpectedType
{-# LINE 4073 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x2OexpectedCast =
({-# LINE 609 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
True
{-# LINE 4079 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1OassignmentCastContext =
({-# LINE 808 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 4085 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x2OassignmentCastContext =
({-# LINE 809 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 4091 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(_x1IannotatedTree,_x2IannotatedTree)
{-# LINE 4097 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(_x1IoriginalTree,_x2IoriginalTree)
{-# LINE 4103 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 4109 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 4115 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupTypes =
({-# LINE 555 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_x1IupTypes
{-# LINE 4121 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1Ocat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 4127 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1OdownEnv =
({-# LINE 190 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 4133 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1Oflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 4139 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1OimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 4145 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x2Ocat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 4151 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x2OdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 4157 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x2Oflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 4163 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x2OimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 4169 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _x1IannotatedTree,_x1IoriginalTree,_x1IupTypes) =
x1_ _x1OassignmentCastContext _x1Ocat _x1OdownEnv _x1OexpectedCast _x1OexpectedTypes _x1Oflags _x1OimCast
( _x2IannotatedTree,_x2IcolExprs,_x2IoriginalTree,_x2IupType) =
x2_ _x2OassignmentCastContext _x2Ocat _x2OdownEnv _x2OexpectedCast _x2OexpectedType _x2Oflags _x2OimCast _x2OodbcFunction
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOthenType,_lhsOupTypes,_lhsOwhenTypes)))
type CaseScalarExprListScalarExprPairList = [CaseScalarExprListScalarExprPair]
_sem_CaseScalarExprListScalarExprPairList :: CaseScalarExprListScalarExprPairList ->
T_CaseScalarExprListScalarExprPairList
_sem_CaseScalarExprListScalarExprPairList list =
(Prelude.foldr _sem_CaseScalarExprListScalarExprPairList_Cons _sem_CaseScalarExprListScalarExprPairList_Nil (Prelude.map _sem_CaseScalarExprListScalarExprPair list))
type T_CaseScalarExprListScalarExprPairList = Catalog ->
Environment ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
(Maybe TypeExtra) ->
(Maybe TypeExtra) ->
( CaseScalarExprListScalarExprPairList,CaseScalarExprListScalarExprPairList,([Maybe TypeExtra]),([Maybe TypeExtra]),([[Maybe TypeExtra]]))
data Inh_CaseScalarExprListScalarExprPairList = Inh_CaseScalarExprListScalarExprPairList {_cat_Inh_CaseScalarExprListScalarExprPairList :: Catalog,_downEnv_Inh_CaseScalarExprListScalarExprPairList :: Environment,_flags_Inh_CaseScalarExprListScalarExprPairList :: TypeCheckFlags,_imCast_Inh_CaseScalarExprListScalarExprPairList :: (Maybe TypeExtra),_thenExpectedType_Inh_CaseScalarExprListScalarExprPairList :: (Maybe TypeExtra),_whenExpectedType_Inh_CaseScalarExprListScalarExprPairList :: (Maybe TypeExtra)}
data Syn_CaseScalarExprListScalarExprPairList = Syn_CaseScalarExprListScalarExprPairList {_annotatedTree_Syn_CaseScalarExprListScalarExprPairList :: CaseScalarExprListScalarExprPairList,_originalTree_Syn_CaseScalarExprListScalarExprPairList :: CaseScalarExprListScalarExprPairList,_thenTypes_Syn_CaseScalarExprListScalarExprPairList :: ([Maybe TypeExtra]),_upTypes_Syn_CaseScalarExprListScalarExprPairList :: ([Maybe TypeExtra]),_whenTypes_Syn_CaseScalarExprListScalarExprPairList :: ([[Maybe TypeExtra]])}
_wrap_CaseScalarExprListScalarExprPairList :: T_CaseScalarExprListScalarExprPairList ->
Inh_CaseScalarExprListScalarExprPairList ->
Syn_CaseScalarExprListScalarExprPairList
_wrap_CaseScalarExprListScalarExprPairList sem (Inh_CaseScalarExprListScalarExprPairList _lhsIcat _lhsIdownEnv _lhsIflags _lhsIimCast _lhsIthenExpectedType _lhsIwhenExpectedType) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOthenTypes,_lhsOupTypes,_lhsOwhenTypes) = sem _lhsIcat _lhsIdownEnv _lhsIflags _lhsIimCast _lhsIthenExpectedType _lhsIwhenExpectedType
in (Syn_CaseScalarExprListScalarExprPairList _lhsOannotatedTree _lhsOoriginalTree _lhsOthenTypes _lhsOupTypes _lhsOwhenTypes))
_sem_CaseScalarExprListScalarExprPairList_Cons :: T_CaseScalarExprListScalarExprPair ->
T_CaseScalarExprListScalarExprPairList ->
T_CaseScalarExprListScalarExprPairList
_sem_CaseScalarExprListScalarExprPairList_Cons hd_ tl_ =
(\ _lhsIcat
_lhsIdownEnv
_lhsIflags
_lhsIimCast
_lhsIthenExpectedType
_lhsIwhenExpectedType ->
(let _lhsOwhenTypes :: ([[Maybe TypeExtra]])
_lhsOthenTypes :: ([Maybe TypeExtra])
_lhsOannotatedTree :: CaseScalarExprListScalarExprPairList
_lhsOoriginalTree :: CaseScalarExprListScalarExprPairList
_lhsOupTypes :: ([Maybe TypeExtra])
_hdOcat :: Catalog
_hdOdownEnv :: Environment
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_hdOthenExpectedType :: (Maybe TypeExtra)
_hdOwhenExpectedType :: (Maybe TypeExtra)
_tlOcat :: Catalog
_tlOdownEnv :: Environment
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_tlOthenExpectedType :: (Maybe TypeExtra)
_tlOwhenExpectedType :: (Maybe TypeExtra)
_hdIannotatedTree :: CaseScalarExprListScalarExprPair
_hdIoriginalTree :: CaseScalarExprListScalarExprPair
_hdIthenType :: (Maybe TypeExtra)
_hdIupTypes :: ([Maybe TypeExtra])
_hdIwhenTypes :: ([Maybe TypeExtra])
_tlIannotatedTree :: CaseScalarExprListScalarExprPairList
_tlIoriginalTree :: CaseScalarExprListScalarExprPairList
_tlIthenTypes :: ([Maybe TypeExtra])
_tlIupTypes :: ([Maybe TypeExtra])
_tlIwhenTypes :: ([[Maybe TypeExtra]])
_lhsOwhenTypes =
({-# LINE 539 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_hdIwhenTypes : _tlIwhenTypes
{-# LINE 4267 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOthenTypes =
({-# LINE 540 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_hdIthenType : _tlIthenTypes
{-# LINE 4273 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 4279 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 4285 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 4291 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 4297 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupTypes =
({-# LINE 555 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tlIupTypes
{-# LINE 4303 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 4309 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOdownEnv =
({-# LINE 554 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 4315 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 4321 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 4327 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOthenExpectedType =
({-# LINE 602 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIthenExpectedType
{-# LINE 4333 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOwhenExpectedType =
({-# LINE 603 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIwhenExpectedType
{-# LINE 4339 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 4345 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOdownEnv =
({-# LINE 554 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 4351 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 4357 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 4363 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOthenExpectedType =
({-# LINE 602 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIthenExpectedType
{-# LINE 4369 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOwhenExpectedType =
({-# LINE 603 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIwhenExpectedType
{-# LINE 4375 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdIoriginalTree,_hdIthenType,_hdIupTypes,_hdIwhenTypes) =
hd_ _hdOcat _hdOdownEnv _hdOflags _hdOimCast _hdOthenExpectedType _hdOwhenExpectedType
( _tlIannotatedTree,_tlIoriginalTree,_tlIthenTypes,_tlIupTypes,_tlIwhenTypes) =
tl_ _tlOcat _tlOdownEnv _tlOflags _tlOimCast _tlOthenExpectedType _tlOwhenExpectedType
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOthenTypes,_lhsOupTypes,_lhsOwhenTypes)))
_sem_CaseScalarExprListScalarExprPairList_Nil :: T_CaseScalarExprListScalarExprPairList
_sem_CaseScalarExprListScalarExprPairList_Nil =
(\ _lhsIcat
_lhsIdownEnv
_lhsIflags
_lhsIimCast
_lhsIthenExpectedType
_lhsIwhenExpectedType ->
(let _lhsOwhenTypes :: ([[Maybe TypeExtra]])
_lhsOthenTypes :: ([Maybe TypeExtra])
_lhsOupTypes :: ([Maybe TypeExtra])
_lhsOannotatedTree :: CaseScalarExprListScalarExprPairList
_lhsOoriginalTree :: CaseScalarExprListScalarExprPairList
_lhsOwhenTypes =
({-# LINE 541 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
[]
{-# LINE 4399 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOthenTypes =
({-# LINE 542 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
[]
{-# LINE 4405 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupTypes =
({-# LINE 543 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
[]
{-# LINE 4411 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 4417 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 4423 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 4429 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 4435 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOthenTypes,_lhsOupTypes,_lhsOwhenTypes)))
data Constraint = UniqueConstraint (Annotation) (String) (([NameComponent]))
| PrimaryKeyConstraint (Annotation) (String) (([NameComponent]))
| CheckConstraint (Annotation) (String) (ScalarExpr)
| ReferenceConstraint (Annotation) (String) (([NameComponent])) (Name) (([NameComponent])) (Cascade) (Cascade)
deriving ( Data,Eq,Show,Typeable)
_sem_Constraint :: Constraint ->
T_Constraint
_sem_Constraint (UniqueConstraint _ann _name _x) =
(_sem_Constraint_UniqueConstraint (_sem_Annotation _ann) _name _x)
_sem_Constraint (PrimaryKeyConstraint _ann _name _x) =
(_sem_Constraint_PrimaryKeyConstraint (_sem_Annotation _ann) _name _x)
_sem_Constraint (CheckConstraint _ann _name _expr) =
(_sem_Constraint_CheckConstraint (_sem_Annotation _ann) _name (_sem_ScalarExpr _expr))
_sem_Constraint (ReferenceConstraint _ann _name _atts _table _tableAtts _onUpdate _onDelete) =
(_sem_Constraint_ReferenceConstraint (_sem_Annotation _ann) _name _atts (_sem_Name _table) _tableAtts _onUpdate _onDelete)
type T_Constraint = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( Constraint,Constraint)
data Inh_Constraint = Inh_Constraint {_cat_Inh_Constraint :: Catalog,_flags_Inh_Constraint :: TypeCheckFlags,_imCast_Inh_Constraint :: (Maybe TypeExtra)}
data Syn_Constraint = Syn_Constraint {_annotatedTree_Syn_Constraint :: Constraint,_originalTree_Syn_Constraint :: Constraint}
_wrap_Constraint :: T_Constraint ->
Inh_Constraint ->
Syn_Constraint
_wrap_Constraint sem (Inh_Constraint _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_Constraint _lhsOannotatedTree _lhsOoriginalTree))
_sem_Constraint_UniqueConstraint :: T_Annotation ->
String ->
([NameComponent]) ->
T_Constraint
_sem_Constraint_UniqueConstraint ann_ name_ x_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Constraint
_lhsOoriginalTree :: Constraint
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 62 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 4531 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
UniqueConstraint _annIannotatedTree name_ x_
{-# LINE 4537 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
UniqueConstraint _annIoriginalTree name_ x_
{-# LINE 4543 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 4549 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 4555 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 4561 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 4567 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 4573 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Constraint_PrimaryKeyConstraint :: T_Annotation ->
String ->
([NameComponent]) ->
T_Constraint
_sem_Constraint_PrimaryKeyConstraint ann_ name_ x_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Constraint
_lhsOoriginalTree :: Constraint
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 59 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 4598 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
PrimaryKeyConstraint _annIannotatedTree name_ x_
{-# LINE 4604 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
PrimaryKeyConstraint _annIoriginalTree name_ x_
{-# LINE 4610 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 4616 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 4622 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 4628 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 4634 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 4640 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Constraint_CheckConstraint :: T_Annotation ->
String ->
T_ScalarExpr ->
T_Constraint
_sem_Constraint_CheckConstraint ann_ name_ expr_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_exprOdownEnv :: Environment
_exprOexpectedCast :: Bool
_exprOexpectedType :: (Maybe TypeExtra)
_exprOodbcFunction :: Bool
_exprOassignmentCastContext :: Bool
_lhsOannotatedTree :: Constraint
_lhsOoriginalTree :: Constraint
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_exprOcat :: Catalog
_exprOflags :: TypeCheckFlags
_exprOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_exprIannotatedTree :: ScalarExpr
_exprIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_exprIoriginalTree :: ScalarExpr
_exprIupType :: (Maybe TypeExtra)
_annOtpe =
({-# LINE 55 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 4677 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOdownEnv =
({-# LINE 56 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 4683 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedCast =
({-# LINE 57 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 4689 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedType =
({-# LINE 58 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 4695 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOodbcFunction =
({-# LINE 137 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 4701 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOassignmentCastContext =
({-# LINE 810 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 4707 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CheckConstraint _annIannotatedTree name_ _exprIannotatedTree
{-# LINE 4713 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CheckConstraint _annIoriginalTree name_ _exprIoriginalTree
{-# LINE 4719 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 4725 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 4731 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 4737 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 4743 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 4749 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 4755 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 4761 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 4767 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _exprIannotatedTree,_exprIcolExprs,_exprIoriginalTree,_exprIupType) =
expr_ _exprOassignmentCastContext _exprOcat _exprOdownEnv _exprOexpectedCast _exprOexpectedType _exprOflags _exprOimCast _exprOodbcFunction
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Constraint_ReferenceConstraint :: T_Annotation ->
String ->
([NameComponent]) ->
T_Name ->
([NameComponent]) ->
Cascade ->
Cascade ->
T_Constraint
_sem_Constraint_ReferenceConstraint ann_ name_ atts_ table_ tableAtts_ onUpdate_ onDelete_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_tableOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Constraint
_lhsOoriginalTree :: Constraint
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_tableOcat :: Catalog
_tableOflags :: TypeCheckFlags
_tableOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_tableIannotatedTree :: Name
_tableIoriginalTree :: Name
_annOtpe =
({-# LINE 60 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 4804 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tableOtpe =
({-# LINE 61 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 4810 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ReferenceConstraint _annIannotatedTree name_ atts_ _tableIannotatedTree tableAtts_ onUpdate_ onDelete_
{-# LINE 4816 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ReferenceConstraint _annIoriginalTree name_ atts_ _tableIoriginalTree tableAtts_ onUpdate_ onDelete_
{-# LINE 4822 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 4828 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 4834 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 4840 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 4846 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 4852 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tableOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 4858 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tableOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 4864 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tableOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 4870 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _tableIannotatedTree,_tableIoriginalTree) =
table_ _tableOcat _tableOflags _tableOimCast _tableOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type ConstraintList = [Constraint]
_sem_ConstraintList :: ConstraintList ->
T_ConstraintList
_sem_ConstraintList list =
(Prelude.foldr _sem_ConstraintList_Cons _sem_ConstraintList_Nil (Prelude.map _sem_Constraint list))
type T_ConstraintList = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( ConstraintList,ConstraintList)
data Inh_ConstraintList = Inh_ConstraintList {_cat_Inh_ConstraintList :: Catalog,_flags_Inh_ConstraintList :: TypeCheckFlags,_imCast_Inh_ConstraintList :: (Maybe TypeExtra)}
data Syn_ConstraintList = Syn_ConstraintList {_annotatedTree_Syn_ConstraintList :: ConstraintList,_originalTree_Syn_ConstraintList :: ConstraintList}
_wrap_ConstraintList :: T_ConstraintList ->
Inh_ConstraintList ->
Syn_ConstraintList
_wrap_ConstraintList sem (Inh_ConstraintList _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_ConstraintList _lhsOannotatedTree _lhsOoriginalTree))
_sem_ConstraintList_Cons :: T_Constraint ->
T_ConstraintList ->
T_ConstraintList
_sem_ConstraintList_Cons hd_ tl_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: ConstraintList
_lhsOoriginalTree :: ConstraintList
_hdOcat :: Catalog
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_tlOcat :: Catalog
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_hdIannotatedTree :: Constraint
_hdIoriginalTree :: Constraint
_tlIannotatedTree :: ConstraintList
_tlIoriginalTree :: ConstraintList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 4941 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 4947 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 4953 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 4959 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 4965 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 4971 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 4977 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 4983 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 4989 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 4995 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdIoriginalTree) =
hd_ _hdOcat _hdOflags _hdOimCast
( _tlIannotatedTree,_tlIoriginalTree) =
tl_ _tlOcat _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_ConstraintList_Nil :: T_ConstraintList
_sem_ConstraintList_Nil =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: ConstraintList
_lhsOoriginalTree :: ConstraintList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 5013 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 5019 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 5025 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 5031 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data FnBody = SqlFnBody (Annotation) (StatementList)
| PlpgsqlFnBody (Annotation) (Statement)
deriving ( Data,Eq,Show,Typeable)
_sem_FnBody :: FnBody ->
T_FnBody
_sem_FnBody (SqlFnBody _ann _sts) =
(_sem_FnBody_SqlFnBody (_sem_Annotation _ann) (_sem_StatementList _sts))
_sem_FnBody (PlpgsqlFnBody _ann _blk) =
(_sem_FnBody_PlpgsqlFnBody (_sem_Annotation _ann) (_sem_Statement _blk))
type T_FnBody = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( FnBody,FnBody)
data Inh_FnBody = Inh_FnBody {_cat_Inh_FnBody :: Catalog,_flags_Inh_FnBody :: TypeCheckFlags,_imCast_Inh_FnBody :: (Maybe TypeExtra)}
data Syn_FnBody = Syn_FnBody {_annotatedTree_Syn_FnBody :: FnBody,_originalTree_Syn_FnBody :: FnBody}
_wrap_FnBody :: T_FnBody ->
Inh_FnBody ->
Syn_FnBody
_wrap_FnBody sem (Inh_FnBody _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_FnBody _lhsOannotatedTree _lhsOoriginalTree))
_sem_FnBody_SqlFnBody :: T_Annotation ->
T_StatementList ->
T_FnBody
_sem_FnBody_SqlFnBody ann_ sts_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: FnBody
_lhsOoriginalTree :: FnBody
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_stsOcat :: Catalog
_stsOflags :: TypeCheckFlags
_stsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_stsIannotatedTree :: StatementList
_stsIoriginalTree :: StatementList
_annOtpe =
({-# LINE 64 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 5105 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SqlFnBody _annIannotatedTree _stsIannotatedTree
{-# LINE 5111 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SqlFnBody _annIoriginalTree _stsIoriginalTree
{-# LINE 5117 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 5123 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 5129 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 5135 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 5141 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 5147 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_stsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 5153 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_stsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 5159 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_stsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 5165 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _stsIannotatedTree,_stsIoriginalTree) =
sts_ _stsOcat _stsOflags _stsOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_FnBody_PlpgsqlFnBody :: T_Annotation ->
T_Statement ->
T_FnBody
_sem_FnBody_PlpgsqlFnBody ann_ blk_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: FnBody
_lhsOoriginalTree :: FnBody
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_blkOcat :: Catalog
_blkOflags :: TypeCheckFlags
_blkOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_blkIannotatedTree :: Statement
_blkIoriginalTree :: Statement
_annOtpe =
({-# LINE 63 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 5196 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
PlpgsqlFnBody _annIannotatedTree _blkIannotatedTree
{-# LINE 5202 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
PlpgsqlFnBody _annIoriginalTree _blkIoriginalTree
{-# LINE 5208 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 5214 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 5220 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 5226 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 5232 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 5238 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_blkOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 5244 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_blkOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 5250 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_blkOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 5256 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _blkIannotatedTree,_blkIoriginalTree) =
blk_ _blkOcat _blkOflags _blkOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data InList = InList (Annotation) (ScalarExprList)
| InQueryExpr (Annotation) (QueryExpr)
deriving ( Data,Eq,Show,Typeable)
_sem_InList :: InList ->
T_InList
_sem_InList (InList _ann _exprs) =
(_sem_InList_InList (_sem_Annotation _ann) (_sem_ScalarExprList _exprs))
_sem_InList (InQueryExpr _ann _sel) =
(_sem_InList_InQueryExpr (_sem_Annotation _ann) (_sem_QueryExpr _sel))
type T_InList = Catalog ->
Environment ->
Bool ->
(Maybe TypeExtra) ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( InList,(Either [TypeError] TypeExtra),InList)
data Inh_InList = Inh_InList {_cat_Inh_InList :: Catalog,_downEnv_Inh_InList :: Environment,_expectedCast_Inh_InList :: Bool,_expectedType_Inh_InList :: (Maybe TypeExtra),_flags_Inh_InList :: TypeCheckFlags,_imCast_Inh_InList :: (Maybe TypeExtra)}
data Syn_InList = Syn_InList {_annotatedTree_Syn_InList :: InList,_listType_Syn_InList :: (Either [TypeError] TypeExtra),_originalTree_Syn_InList :: InList}
_wrap_InList :: T_InList ->
Inh_InList ->
Syn_InList
_wrap_InList sem (Inh_InList _lhsIcat _lhsIdownEnv _lhsIexpectedCast _lhsIexpectedType _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOlistType,_lhsOoriginalTree) = sem _lhsIcat _lhsIdownEnv _lhsIexpectedCast _lhsIexpectedType _lhsIflags _lhsIimCast
in (Syn_InList _lhsOannotatedTree _lhsOlistType _lhsOoriginalTree))
_sem_InList_InList :: T_Annotation ->
T_ScalarExprList ->
T_InList
_sem_InList_InList ann_ exprs_ =
(\ _lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast ->
(let _lhsOlistType :: (Either [TypeError] TypeExtra)
_exprsOexpectedTypes :: ([TypeExtra])
_exprsOexpectedCast :: Bool
_annOimCast :: (Maybe TypeExtra)
_exprsOassignmentCastContext :: Bool
_lhsOannotatedTree :: InList
_lhsOoriginalTree :: InList
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOtpe :: (Either [TypeError] TypeExtra)
_exprsOcat :: Catalog
_exprsOdownEnv :: Environment
_exprsOflags :: TypeCheckFlags
_exprsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_exprsIannotatedTree :: ScalarExprList
_exprsIoriginalTree :: ScalarExprList
_exprsIupTypes :: ([Maybe TypeExtra])
_tpe =
({-# LINE 219 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
Left []
{-# LINE 5352 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOlistType =
({-# LINE 682 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
mapM (maybe (Left []) Right) _exprsIupTypes
>>= resolveResultSetTypeExtra _lhsIcat
{-# LINE 5359 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprsOexpectedTypes =
({-# LINE 684 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe [] repeat _lhsIexpectedType
{-# LINE 5365 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprsOexpectedCast =
({-# LINE 686 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 5371 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 782 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Nothing
{-# LINE 5377 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprsOassignmentCastContext =
({-# LINE 811 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 5383 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
InList _annIannotatedTree _exprsIannotatedTree
{-# LINE 5389 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
InList _annIoriginalTree _exprsIoriginalTree
{-# LINE 5395 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 5401 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 5407 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 5413 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 5419 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_tpe
{-# LINE 5425 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 5431 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprsOdownEnv =
({-# LINE 190 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 5437 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 5443 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 5449 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _exprsIannotatedTree,_exprsIoriginalTree,_exprsIupTypes) =
exprs_ _exprsOassignmentCastContext _exprsOcat _exprsOdownEnv _exprsOexpectedCast _exprsOexpectedTypes _exprsOflags _exprsOimCast
in ( _lhsOannotatedTree,_lhsOlistType,_lhsOoriginalTree)))
_sem_InList_InQueryExpr :: T_Annotation ->
T_QueryExpr ->
T_InList
_sem_InList_InQueryExpr ann_ sel_ =
(\ _lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast ->
(let _selOouterDownEnv :: (Maybe Environment)
_lhsOlistType :: (Either [TypeError] TypeExtra)
_selOexpectedType :: (Maybe [TypeExtra])
_annOimCast :: (Maybe TypeExtra)
_selOassignmentCastContext :: Bool
_lhsOannotatedTree :: InList
_lhsOoriginalTree :: InList
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOtpe :: (Either [TypeError] TypeExtra)
_selOcat :: Catalog
_selOflags :: TypeCheckFlags
_selOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_selIannotatedTree :: QueryExpr
_selIoriginalTree :: QueryExpr
_selIupType :: (Maybe [(Text,TypeExtra)])
_selOouterDownEnv =
({-# LINE 97 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
Nothing
{-# LINE 5488 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 219 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
Left []
{-# LINE 5494 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOlistType =
({-# LINE 689 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
do
st <- maybe (Left []) Right (map snd <$> _selIupType)
case length st of
0 -> Left [InternalError
"got subquery with no columns? in inselect"]
1 -> Right $ head st
_ -> Right $ mkTypeExtra $ AnonymousCompositeType
$ map teType st
{-# LINE 5507 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOexpectedType =
({-# LINE 699 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
liftM (map snd) _selIupType
{-# LINE 5513 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 783 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Nothing
{-# LINE 5519 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOassignmentCastContext =
({-# LINE 812 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 5525 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
InQueryExpr _annIannotatedTree _selIannotatedTree
{-# LINE 5531 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
InQueryExpr _annIoriginalTree _selIoriginalTree
{-# LINE 5537 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 5543 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 5549 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 5555 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 5561 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_tpe
{-# LINE 5567 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 5573 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 5579 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 5585 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _selIannotatedTree,_selIoriginalTree,_selIupType) =
sel_ _selOassignmentCastContext _selOcat _selOexpectedType _selOflags _selOimCast _selOouterDownEnv
in ( _lhsOannotatedTree,_lhsOlistType,_lhsOoriginalTree)))
data JoinExpr = JoinOn (Annotation) (ScalarExpr)
| JoinUsing (Annotation) (([NameComponent]))
deriving ( Data,Eq,Show,Typeable)
_sem_JoinExpr :: JoinExpr ->
T_JoinExpr
_sem_JoinExpr (JoinOn _ann _expr) =
(_sem_JoinExpr_JoinOn (_sem_Annotation _ann) (_sem_ScalarExpr _expr))
_sem_JoinExpr (JoinUsing _ann _x) =
(_sem_JoinExpr_JoinUsing (_sem_Annotation _ann) _x)
type T_JoinExpr = Catalog ->
Environment ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( JoinExpr,JoinExpr)
data Inh_JoinExpr = Inh_JoinExpr {_cat_Inh_JoinExpr :: Catalog,_downEnv_Inh_JoinExpr :: Environment,_flags_Inh_JoinExpr :: TypeCheckFlags,_imCast_Inh_JoinExpr :: (Maybe TypeExtra)}
data Syn_JoinExpr = Syn_JoinExpr {_annotatedTree_Syn_JoinExpr :: JoinExpr,_originalTree_Syn_JoinExpr :: JoinExpr}
_wrap_JoinExpr :: T_JoinExpr ->
Inh_JoinExpr ->
Syn_JoinExpr
_wrap_JoinExpr sem (Inh_JoinExpr _lhsIcat _lhsIdownEnv _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIdownEnv _lhsIflags _lhsIimCast
in (Syn_JoinExpr _lhsOannotatedTree _lhsOoriginalTree))
_sem_JoinExpr_JoinOn :: T_Annotation ->
T_ScalarExpr ->
T_JoinExpr
_sem_JoinExpr_JoinOn ann_ expr_ =
(\ _lhsIcat
_lhsIdownEnv
_lhsIflags
_lhsIimCast ->
(let _exprOodbcFunction :: Bool
_exprOexpectedType :: (Maybe TypeExtra)
_exprOexpectedCast :: Bool
_exprOassignmentCastContext :: Bool
_lhsOannotatedTree :: JoinExpr
_lhsOoriginalTree :: JoinExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annOtpe :: (Either [TypeError] TypeExtra)
_exprOcat :: Catalog
_exprOdownEnv :: Environment
_exprOflags :: TypeCheckFlags
_exprOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_exprIannotatedTree :: ScalarExpr
_exprIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_exprIoriginalTree :: ScalarExpr
_exprIupType :: (Maybe TypeExtra)
_tpe =
({-# LINE 223 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
Left []
{-# LINE 5675 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOodbcFunction =
({-# LINE 140 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 5681 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedType =
({-# LINE 746 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
do
bt <- ansiTypeNameToDialect (tcfDialect _lhsIflags) "boolean"
Just $ TypeExtra (ScalarType bt) Nothing Nothing
$ maybe False teNullable _exprIupType
{-# LINE 5690 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedCast =
({-# LINE 750 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 5696 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOassignmentCastContext =
({-# LINE 813 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 5702 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
JoinOn _annIannotatedTree _exprIannotatedTree
{-# LINE 5708 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
JoinOn _annIoriginalTree _exprIoriginalTree
{-# LINE 5714 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 5720 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 5726 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 5732 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 5738 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 5744 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_tpe
{-# LINE 5750 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 5756 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 5762 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 5768 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 5774 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _exprIannotatedTree,_exprIcolExprs,_exprIoriginalTree,_exprIupType) =
expr_ _exprOassignmentCastContext _exprOcat _exprOdownEnv _exprOexpectedCast _exprOexpectedType _exprOflags _exprOimCast _exprOodbcFunction
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_JoinExpr_JoinUsing :: T_Annotation ->
([NameComponent]) ->
T_JoinExpr
_sem_JoinExpr_JoinUsing ann_ x_ =
(\ _lhsIcat
_lhsIdownEnv
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: JoinExpr
_lhsOoriginalTree :: JoinExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annOtpe :: (Either [TypeError] TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_tpe =
({-# LINE 223 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
Left []
{-# LINE 5801 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
JoinUsing _annIannotatedTree x_
{-# LINE 5807 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
JoinUsing _annIoriginalTree x_
{-# LINE 5813 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 5819 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 5825 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 5831 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 5837 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 5843 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_tpe
{-# LINE 5849 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type MaybeBoolExpr = Maybe (ScalarExpr)
_sem_MaybeBoolExpr :: MaybeBoolExpr ->
T_MaybeBoolExpr
_sem_MaybeBoolExpr (Prelude.Just x) =
(_sem_MaybeBoolExpr_Just (_sem_ScalarExpr x))
_sem_MaybeBoolExpr Prelude.Nothing =
_sem_MaybeBoolExpr_Nothing
type T_MaybeBoolExpr = Catalog ->
Environment ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( MaybeBoolExpr,MaybeBoolExpr)
data Inh_MaybeBoolExpr = Inh_MaybeBoolExpr {_cat_Inh_MaybeBoolExpr :: Catalog,_downEnv_Inh_MaybeBoolExpr :: Environment,_flags_Inh_MaybeBoolExpr :: TypeCheckFlags,_imCast_Inh_MaybeBoolExpr :: (Maybe TypeExtra)}
data Syn_MaybeBoolExpr = Syn_MaybeBoolExpr {_annotatedTree_Syn_MaybeBoolExpr :: MaybeBoolExpr,_originalTree_Syn_MaybeBoolExpr :: MaybeBoolExpr}
_wrap_MaybeBoolExpr :: T_MaybeBoolExpr ->
Inh_MaybeBoolExpr ->
Syn_MaybeBoolExpr
_wrap_MaybeBoolExpr sem (Inh_MaybeBoolExpr _lhsIcat _lhsIdownEnv _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIdownEnv _lhsIflags _lhsIimCast
in (Syn_MaybeBoolExpr _lhsOannotatedTree _lhsOoriginalTree))
_sem_MaybeBoolExpr_Just :: T_ScalarExpr ->
T_MaybeBoolExpr
_sem_MaybeBoolExpr_Just just_ =
(\ _lhsIcat
_lhsIdownEnv
_lhsIflags
_lhsIimCast ->
(let _justOodbcFunction :: Bool
_justOexpectedType :: (Maybe TypeExtra)
_justOexpectedCast :: Bool
_justOassignmentCastContext :: Bool
_lhsOannotatedTree :: MaybeBoolExpr
_lhsOoriginalTree :: MaybeBoolExpr
_justOcat :: Catalog
_justOdownEnv :: Environment
_justOflags :: TypeCheckFlags
_justOimCast :: (Maybe TypeExtra)
_justIannotatedTree :: ScalarExpr
_justIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_justIoriginalTree :: ScalarExpr
_justIupType :: (Maybe TypeExtra)
_justOodbcFunction =
({-# LINE 143 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 5923 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOexpectedType =
({-# LINE 762 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Nothing
{-# LINE 5929 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOexpectedCast =
({-# LINE 763 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 5935 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOassignmentCastContext =
({-# LINE 814 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 5941 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Just _justIannotatedTree
{-# LINE 5947 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Just _justIoriginalTree
{-# LINE 5953 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 5959 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 5965 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 5971 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 5977 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 5983 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 5989 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _justIannotatedTree,_justIcolExprs,_justIoriginalTree,_justIupType) =
just_ _justOassignmentCastContext _justOcat _justOdownEnv _justOexpectedCast _justOexpectedType _justOflags _justOimCast _justOodbcFunction
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_MaybeBoolExpr_Nothing :: T_MaybeBoolExpr
_sem_MaybeBoolExpr_Nothing =
(\ _lhsIcat
_lhsIdownEnv
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: MaybeBoolExpr
_lhsOoriginalTree :: MaybeBoolExpr
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Nothing
{-# LINE 6006 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Nothing
{-# LINE 6012 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 6018 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 6024 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type MaybeNameComponentList = Maybe (NameComponentList)
_sem_MaybeNameComponentList :: MaybeNameComponentList ->
T_MaybeNameComponentList
_sem_MaybeNameComponentList (Prelude.Just x) =
(_sem_MaybeNameComponentList_Just (_sem_NameComponentList x))
_sem_MaybeNameComponentList Prelude.Nothing =
_sem_MaybeNameComponentList_Nothing
type T_MaybeNameComponentList = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( MaybeNameComponentList,MaybeNameComponentList)
data Inh_MaybeNameComponentList = Inh_MaybeNameComponentList {_cat_Inh_MaybeNameComponentList :: Catalog,_flags_Inh_MaybeNameComponentList :: TypeCheckFlags,_imCast_Inh_MaybeNameComponentList :: (Maybe TypeExtra)}
data Syn_MaybeNameComponentList = Syn_MaybeNameComponentList {_annotatedTree_Syn_MaybeNameComponentList :: MaybeNameComponentList,_originalTree_Syn_MaybeNameComponentList :: MaybeNameComponentList}
_wrap_MaybeNameComponentList :: T_MaybeNameComponentList ->
Inh_MaybeNameComponentList ->
Syn_MaybeNameComponentList
_wrap_MaybeNameComponentList sem (Inh_MaybeNameComponentList _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_MaybeNameComponentList _lhsOannotatedTree _lhsOoriginalTree))
_sem_MaybeNameComponentList_Just :: T_NameComponentList ->
T_MaybeNameComponentList
_sem_MaybeNameComponentList_Just just_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: MaybeNameComponentList
_lhsOoriginalTree :: MaybeNameComponentList
_justOcat :: Catalog
_justOflags :: TypeCheckFlags
_justOimCast :: (Maybe TypeExtra)
_justIannotatedTree :: NameComponentList
_justIoriginalTree :: NameComponentList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Just _justIannotatedTree
{-# LINE 6086 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Just _justIoriginalTree
{-# LINE 6092 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 6098 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 6104 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 6110 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 6116 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 6122 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _justIannotatedTree,_justIoriginalTree) =
just_ _justOcat _justOflags _justOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_MaybeNameComponentList_Nothing :: T_MaybeNameComponentList
_sem_MaybeNameComponentList_Nothing =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: MaybeNameComponentList
_lhsOoriginalTree :: MaybeNameComponentList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Nothing
{-# LINE 6138 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Nothing
{-# LINE 6144 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 6150 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 6156 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type MaybeScalarExpr = Maybe (ScalarExpr)
_sem_MaybeScalarExpr :: MaybeScalarExpr ->
T_MaybeScalarExpr
_sem_MaybeScalarExpr (Prelude.Just x) =
(_sem_MaybeScalarExpr_Just (_sem_ScalarExpr x))
_sem_MaybeScalarExpr Prelude.Nothing =
_sem_MaybeScalarExpr_Nothing
type T_MaybeScalarExpr = Bool ->
Catalog ->
Environment ->
Bool ->
(Maybe TypeExtra) ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( MaybeScalarExpr,MaybeScalarExpr,(Maybe TypeExtra))
data Inh_MaybeScalarExpr = Inh_MaybeScalarExpr {_assignmentCastContext_Inh_MaybeScalarExpr :: Bool,_cat_Inh_MaybeScalarExpr :: Catalog,_downEnv_Inh_MaybeScalarExpr :: Environment,_expectedCast_Inh_MaybeScalarExpr :: Bool,_expectedType_Inh_MaybeScalarExpr :: (Maybe TypeExtra),_flags_Inh_MaybeScalarExpr :: TypeCheckFlags,_imCast_Inh_MaybeScalarExpr :: (Maybe TypeExtra)}
data Syn_MaybeScalarExpr = Syn_MaybeScalarExpr {_annotatedTree_Syn_MaybeScalarExpr :: MaybeScalarExpr,_originalTree_Syn_MaybeScalarExpr :: MaybeScalarExpr,_upType_Syn_MaybeScalarExpr :: (Maybe TypeExtra)}
_wrap_MaybeScalarExpr :: T_MaybeScalarExpr ->
Inh_MaybeScalarExpr ->
Syn_MaybeScalarExpr
_wrap_MaybeScalarExpr sem (Inh_MaybeScalarExpr _lhsIassignmentCastContext _lhsIcat _lhsIdownEnv _lhsIexpectedCast _lhsIexpectedType _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupType) = sem _lhsIassignmentCastContext _lhsIcat _lhsIdownEnv _lhsIexpectedCast _lhsIexpectedType _lhsIflags _lhsIimCast
in (Syn_MaybeScalarExpr _lhsOannotatedTree _lhsOoriginalTree _lhsOupType))
_sem_MaybeScalarExpr_Just :: T_ScalarExpr ->
T_MaybeScalarExpr
_sem_MaybeScalarExpr_Just just_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast ->
(let _justOodbcFunction :: Bool
_lhsOannotatedTree :: MaybeScalarExpr
_lhsOoriginalTree :: MaybeScalarExpr
_lhsOupType :: (Maybe TypeExtra)
_justOassignmentCastContext :: Bool
_justOcat :: Catalog
_justOdownEnv :: Environment
_justOexpectedCast :: Bool
_justOexpectedType :: (Maybe TypeExtra)
_justOflags :: TypeCheckFlags
_justOimCast :: (Maybe TypeExtra)
_justIannotatedTree :: ScalarExpr
_justIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_justIoriginalTree :: ScalarExpr
_justIupType :: (Maybe TypeExtra)
_justOodbcFunction =
({-# LINE 146 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 6239 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Just _justIannotatedTree
{-# LINE 6245 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Just _justIoriginalTree
{-# LINE 6251 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 6257 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 6263 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 109 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_justIupType
{-# LINE 6269 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 6275 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 6281 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 6287 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOexpectedCast =
({-# LINE 111 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIexpectedCast
{-# LINE 6293 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOexpectedType =
({-# LINE 110 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIexpectedType
{-# LINE 6299 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 6305 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 6311 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _justIannotatedTree,_justIcolExprs,_justIoriginalTree,_justIupType) =
just_ _justOassignmentCastContext _justOcat _justOdownEnv _justOexpectedCast _justOexpectedType _justOflags _justOimCast _justOodbcFunction
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupType)))
_sem_MaybeScalarExpr_Nothing :: T_MaybeScalarExpr
_sem_MaybeScalarExpr_Nothing =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast ->
(let _lhsOupType :: (Maybe TypeExtra)
_lhsOannotatedTree :: MaybeScalarExpr
_lhsOoriginalTree :: MaybeScalarExpr
_lhsOupType =
({-# LINE 120 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Nothing
{-# LINE 6332 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Nothing
{-# LINE 6338 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Nothing
{-# LINE 6344 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 6350 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 6356 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupType)))
type MaybeSelectList = Maybe (SelectList)
_sem_MaybeSelectList :: MaybeSelectList ->
T_MaybeSelectList
_sem_MaybeSelectList (Prelude.Just x) =
(_sem_MaybeSelectList_Just (_sem_SelectList x))
_sem_MaybeSelectList Prelude.Nothing =
_sem_MaybeSelectList_Nothing
type T_MaybeSelectList = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( MaybeSelectList,MaybeSelectList)
data Inh_MaybeSelectList = Inh_MaybeSelectList {_cat_Inh_MaybeSelectList :: Catalog,_flags_Inh_MaybeSelectList :: TypeCheckFlags,_imCast_Inh_MaybeSelectList :: (Maybe TypeExtra)}
data Syn_MaybeSelectList = Syn_MaybeSelectList {_annotatedTree_Syn_MaybeSelectList :: MaybeSelectList,_originalTree_Syn_MaybeSelectList :: MaybeSelectList}
_wrap_MaybeSelectList :: T_MaybeSelectList ->
Inh_MaybeSelectList ->
Syn_MaybeSelectList
_wrap_MaybeSelectList sem (Inh_MaybeSelectList _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_MaybeSelectList _lhsOannotatedTree _lhsOoriginalTree))
_sem_MaybeSelectList_Just :: T_SelectList ->
T_MaybeSelectList
_sem_MaybeSelectList_Just just_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _justOdownEnv :: Environment
_justOexpectedCast :: Bool
_justOexpectedType :: (Maybe [TypeExtra])
_justOassignmentCastContext :: Bool
_lhsOannotatedTree :: MaybeSelectList
_lhsOoriginalTree :: MaybeSelectList
_justOcat :: Catalog
_justOflags :: TypeCheckFlags
_justOimCast :: (Maybe TypeExtra)
_justIannotatedTree :: SelectList
_justIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_justIoriginalTree :: SelectList
_justIupEnv :: Environment
_justIupType :: (Maybe [(Text,TypeExtra)])
_justOdownEnv =
({-# LINE 65 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 6425 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOexpectedCast =
({-# LINE 66 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 6431 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOexpectedType =
({-# LINE 67 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 6437 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOassignmentCastContext =
({-# LINE 815 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 6443 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Just _justIannotatedTree
{-# LINE 6449 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Just _justIoriginalTree
{-# LINE 6455 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 6461 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 6467 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 6473 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 6479 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 6485 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _justIannotatedTree,_justIcolExprs,_justIoriginalTree,_justIupEnv,_justIupType) =
just_ _justOassignmentCastContext _justOcat _justOdownEnv _justOexpectedCast _justOexpectedType _justOflags _justOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_MaybeSelectList_Nothing :: T_MaybeSelectList
_sem_MaybeSelectList_Nothing =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: MaybeSelectList
_lhsOoriginalTree :: MaybeSelectList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Nothing
{-# LINE 6501 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Nothing
{-# LINE 6507 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 6513 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 6519 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type MaybeTablePartitionDef = Maybe (TablePartitionDef)
_sem_MaybeTablePartitionDef :: MaybeTablePartitionDef ->
T_MaybeTablePartitionDef
_sem_MaybeTablePartitionDef (Prelude.Just x) =
(_sem_MaybeTablePartitionDef_Just (_sem_TablePartitionDef x))
_sem_MaybeTablePartitionDef Prelude.Nothing =
_sem_MaybeTablePartitionDef_Nothing
type T_MaybeTablePartitionDef = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( MaybeTablePartitionDef,MaybeTablePartitionDef)
data Inh_MaybeTablePartitionDef = Inh_MaybeTablePartitionDef {_cat_Inh_MaybeTablePartitionDef :: Catalog,_flags_Inh_MaybeTablePartitionDef :: TypeCheckFlags,_imCast_Inh_MaybeTablePartitionDef :: (Maybe TypeExtra)}
data Syn_MaybeTablePartitionDef = Syn_MaybeTablePartitionDef {_annotatedTree_Syn_MaybeTablePartitionDef :: MaybeTablePartitionDef,_originalTree_Syn_MaybeTablePartitionDef :: MaybeTablePartitionDef}
_wrap_MaybeTablePartitionDef :: T_MaybeTablePartitionDef ->
Inh_MaybeTablePartitionDef ->
Syn_MaybeTablePartitionDef
_wrap_MaybeTablePartitionDef sem (Inh_MaybeTablePartitionDef _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_MaybeTablePartitionDef _lhsOannotatedTree _lhsOoriginalTree))
_sem_MaybeTablePartitionDef_Just :: T_TablePartitionDef ->
T_MaybeTablePartitionDef
_sem_MaybeTablePartitionDef_Just just_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: MaybeTablePartitionDef
_lhsOoriginalTree :: MaybeTablePartitionDef
_justOcat :: Catalog
_justOflags :: TypeCheckFlags
_justOimCast :: (Maybe TypeExtra)
_justIannotatedTree :: TablePartitionDef
_justIoriginalTree :: TablePartitionDef
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Just _justIannotatedTree
{-# LINE 6581 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Just _justIoriginalTree
{-# LINE 6587 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 6593 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 6599 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 6605 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 6611 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 6617 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _justIannotatedTree,_justIoriginalTree) =
just_ _justOcat _justOflags _justOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_MaybeTablePartitionDef_Nothing :: T_MaybeTablePartitionDef
_sem_MaybeTablePartitionDef_Nothing =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: MaybeTablePartitionDef
_lhsOoriginalTree :: MaybeTablePartitionDef
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Nothing
{-# LINE 6633 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Nothing
{-# LINE 6639 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 6645 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 6651 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data Name = Name (Annotation) (([NameComponent]))
| AntiName (String)
deriving ( Data,Eq,Show,Typeable)
_sem_Name :: Name ->
T_Name
_sem_Name (Name _ann _is) =
(_sem_Name_Name (_sem_Annotation _ann) _is)
_sem_Name (AntiName _string) =
(_sem_Name_AntiName _string)
type T_Name = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
(Either [TypeError] TypeExtra) ->
( Name,Name)
data Inh_Name = Inh_Name {_cat_Inh_Name :: Catalog,_flags_Inh_Name :: TypeCheckFlags,_imCast_Inh_Name :: (Maybe TypeExtra),_tpe_Inh_Name :: (Either [TypeError] TypeExtra)}
data Syn_Name = Syn_Name {_annotatedTree_Syn_Name :: Name,_originalTree_Syn_Name :: Name}
_wrap_Name :: T_Name ->
Inh_Name ->
Syn_Name
_wrap_Name sem (Inh_Name _lhsIcat _lhsIflags _lhsIimCast _lhsItpe) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast _lhsItpe
in (Syn_Name _lhsOannotatedTree _lhsOoriginalTree))
_sem_Name_Name :: T_Annotation ->
([NameComponent]) ->
T_Name
_sem_Name_Name ann_ is_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast
_lhsItpe ->
(let _lhsOannotatedTree :: Name
_lhsOoriginalTree :: Name
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annOtpe :: (Either [TypeError] TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Name _annIannotatedTree is_
{-# LINE 6722 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Name _annIoriginalTree is_
{-# LINE 6728 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 6734 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 6740 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 6746 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 6752 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 6758 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsItpe
{-# LINE 6764 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Name_AntiName :: String ->
T_Name
_sem_Name_AntiName string_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast
_lhsItpe ->
(let _lhsOannotatedTree :: Name
_lhsOoriginalTree :: Name
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AntiName string_
{-# LINE 6782 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AntiName string_
{-# LINE 6788 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 6794 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 6800 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type NameComponentList = [(NameComponent)]
_sem_NameComponentList :: NameComponentList ->
T_NameComponentList
_sem_NameComponentList list =
(Prelude.foldr _sem_NameComponentList_Cons _sem_NameComponentList_Nil list)
type T_NameComponentList = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( NameComponentList,NameComponentList)
data Inh_NameComponentList = Inh_NameComponentList {_cat_Inh_NameComponentList :: Catalog,_flags_Inh_NameComponentList :: TypeCheckFlags,_imCast_Inh_NameComponentList :: (Maybe TypeExtra)}
data Syn_NameComponentList = Syn_NameComponentList {_annotatedTree_Syn_NameComponentList :: NameComponentList,_originalTree_Syn_NameComponentList :: NameComponentList}
_wrap_NameComponentList :: T_NameComponentList ->
Inh_NameComponentList ->
Syn_NameComponentList
_wrap_NameComponentList sem (Inh_NameComponentList _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_NameComponentList _lhsOannotatedTree _lhsOoriginalTree))
_sem_NameComponentList_Cons :: NameComponent ->
T_NameComponentList ->
T_NameComponentList
_sem_NameComponentList_Cons hd_ tl_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: NameComponentList
_lhsOoriginalTree :: NameComponentList
_tlOcat :: Catalog
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_tlIannotatedTree :: NameComponentList
_tlIoriginalTree :: NameComponentList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) hd_ _tlIannotatedTree
{-# LINE 6862 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) hd_ _tlIoriginalTree
{-# LINE 6868 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 6874 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 6880 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 6886 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 6892 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 6898 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _tlIannotatedTree,_tlIoriginalTree) =
tl_ _tlOcat _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_NameComponentList_Nil :: T_NameComponentList
_sem_NameComponentList_Nil =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: NameComponentList
_lhsOoriginalTree :: NameComponentList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 6914 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 6920 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 6926 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 6932 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type NameTypeNameListPair = ( Name,TypeNameList)
_sem_NameTypeNameListPair :: NameTypeNameListPair ->
T_NameTypeNameListPair
_sem_NameTypeNameListPair ( x1,x2) =
(_sem_NameTypeNameListPair_Tuple (_sem_Name x1) (_sem_TypeNameList x2))
type T_NameTypeNameListPair = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( NameTypeNameListPair,NameTypeNameListPair)
data Inh_NameTypeNameListPair = Inh_NameTypeNameListPair {_cat_Inh_NameTypeNameListPair :: Catalog,_flags_Inh_NameTypeNameListPair :: TypeCheckFlags,_imCast_Inh_NameTypeNameListPair :: (Maybe TypeExtra)}
data Syn_NameTypeNameListPair = Syn_NameTypeNameListPair {_annotatedTree_Syn_NameTypeNameListPair :: NameTypeNameListPair,_originalTree_Syn_NameTypeNameListPair :: NameTypeNameListPair}
_wrap_NameTypeNameListPair :: T_NameTypeNameListPair ->
Inh_NameTypeNameListPair ->
Syn_NameTypeNameListPair
_wrap_NameTypeNameListPair sem (Inh_NameTypeNameListPair _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_NameTypeNameListPair _lhsOannotatedTree _lhsOoriginalTree))
_sem_NameTypeNameListPair_Tuple :: T_Name ->
T_TypeNameList ->
T_NameTypeNameListPair
_sem_NameTypeNameListPair_Tuple x1_ x2_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _x1Otpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: NameTypeNameListPair
_lhsOoriginalTree :: NameTypeNameListPair
_x1Ocat :: Catalog
_x1Oflags :: TypeCheckFlags
_x1OimCast :: (Maybe TypeExtra)
_x2Ocat :: Catalog
_x2Oflags :: TypeCheckFlags
_x2OimCast :: (Maybe TypeExtra)
_x1IannotatedTree :: Name
_x1IoriginalTree :: Name
_x2IannotatedTree :: TypeNameList
_x2IoriginalTree :: TypeNameList
_x1Otpe =
({-# LINE 68 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 6996 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(_x1IannotatedTree,_x2IannotatedTree)
{-# LINE 7002 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(_x1IoriginalTree,_x2IoriginalTree)
{-# LINE 7008 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 7014 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 7020 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1Ocat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 7026 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1Oflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 7032 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1OimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 7038 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x2Ocat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 7044 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x2Oflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 7050 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x2OimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 7056 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _x1IannotatedTree,_x1IoriginalTree) =
x1_ _x1Ocat _x1Oflags _x1OimCast _x1Otpe
( _x2IannotatedTree,_x2IoriginalTree) =
x2_ _x2Ocat _x2Oflags _x2OimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type NameTypeNameListPairList = [NameTypeNameListPair]
_sem_NameTypeNameListPairList :: NameTypeNameListPairList ->
T_NameTypeNameListPairList
_sem_NameTypeNameListPairList list =
(Prelude.foldr _sem_NameTypeNameListPairList_Cons _sem_NameTypeNameListPairList_Nil (Prelude.map _sem_NameTypeNameListPair list))
type T_NameTypeNameListPairList = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( NameTypeNameListPairList,NameTypeNameListPairList)
data Inh_NameTypeNameListPairList = Inh_NameTypeNameListPairList {_cat_Inh_NameTypeNameListPairList :: Catalog,_flags_Inh_NameTypeNameListPairList :: TypeCheckFlags,_imCast_Inh_NameTypeNameListPairList :: (Maybe TypeExtra)}
data Syn_NameTypeNameListPairList = Syn_NameTypeNameListPairList {_annotatedTree_Syn_NameTypeNameListPairList :: NameTypeNameListPairList,_originalTree_Syn_NameTypeNameListPairList :: NameTypeNameListPairList}
_wrap_NameTypeNameListPairList :: T_NameTypeNameListPairList ->
Inh_NameTypeNameListPairList ->
Syn_NameTypeNameListPairList
_wrap_NameTypeNameListPairList sem (Inh_NameTypeNameListPairList _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_NameTypeNameListPairList _lhsOannotatedTree _lhsOoriginalTree))
_sem_NameTypeNameListPairList_Cons :: T_NameTypeNameListPair ->
T_NameTypeNameListPairList ->
T_NameTypeNameListPairList
_sem_NameTypeNameListPairList_Cons hd_ tl_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: NameTypeNameListPairList
_lhsOoriginalTree :: NameTypeNameListPairList
_hdOcat :: Catalog
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_tlOcat :: Catalog
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_hdIannotatedTree :: NameTypeNameListPair
_hdIoriginalTree :: NameTypeNameListPair
_tlIannotatedTree :: NameTypeNameListPairList
_tlIoriginalTree :: NameTypeNameListPairList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 7127 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 7133 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 7139 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 7145 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 7151 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 7157 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 7163 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 7169 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 7175 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 7181 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdIoriginalTree) =
hd_ _hdOcat _hdOflags _hdOimCast
( _tlIannotatedTree,_tlIoriginalTree) =
tl_ _tlOcat _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_NameTypeNameListPairList_Nil :: T_NameTypeNameListPairList
_sem_NameTypeNameListPairList_Nil =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: NameTypeNameListPairList
_lhsOoriginalTree :: NameTypeNameListPairList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 7199 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 7205 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 7211 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 7217 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type OnExpr = Maybe (JoinExpr)
_sem_OnExpr :: OnExpr ->
T_OnExpr
_sem_OnExpr (Prelude.Just x) =
(_sem_OnExpr_Just (_sem_JoinExpr x))
_sem_OnExpr Prelude.Nothing =
_sem_OnExpr_Nothing
type T_OnExpr = Catalog ->
Environment ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( OnExpr,OnExpr)
data Inh_OnExpr = Inh_OnExpr {_cat_Inh_OnExpr :: Catalog,_downEnv_Inh_OnExpr :: Environment,_flags_Inh_OnExpr :: TypeCheckFlags,_imCast_Inh_OnExpr :: (Maybe TypeExtra)}
data Syn_OnExpr = Syn_OnExpr {_annotatedTree_Syn_OnExpr :: OnExpr,_originalTree_Syn_OnExpr :: OnExpr}
_wrap_OnExpr :: T_OnExpr ->
Inh_OnExpr ->
Syn_OnExpr
_wrap_OnExpr sem (Inh_OnExpr _lhsIcat _lhsIdownEnv _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIdownEnv _lhsIflags _lhsIimCast
in (Syn_OnExpr _lhsOannotatedTree _lhsOoriginalTree))
_sem_OnExpr_Just :: T_JoinExpr ->
T_OnExpr
_sem_OnExpr_Just just_ =
(\ _lhsIcat
_lhsIdownEnv
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: OnExpr
_lhsOoriginalTree :: OnExpr
_justOcat :: Catalog
_justOdownEnv :: Environment
_justOflags :: TypeCheckFlags
_justOimCast :: (Maybe TypeExtra)
_justIannotatedTree :: JoinExpr
_justIoriginalTree :: JoinExpr
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Just _justIannotatedTree
{-# LINE 7283 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Just _justIoriginalTree
{-# LINE 7289 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 7295 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 7301 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 7307 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOdownEnv =
({-# LINE 215 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIdownEnv
{-# LINE 7313 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 7319 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_justOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 7325 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _justIannotatedTree,_justIoriginalTree) =
just_ _justOcat _justOdownEnv _justOflags _justOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_OnExpr_Nothing :: T_OnExpr
_sem_OnExpr_Nothing =
(\ _lhsIcat
_lhsIdownEnv
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: OnExpr
_lhsOoriginalTree :: OnExpr
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Nothing
{-# LINE 7342 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Nothing
{-# LINE 7348 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 7354 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 7360 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data ParamDef = ParamDef (Annotation) (NameComponent) (TypeName)
| ParamDefTp (Annotation) (TypeName)
deriving ( Data,Eq,Show,Typeable)
_sem_ParamDef :: ParamDef ->
T_ParamDef
_sem_ParamDef (ParamDef _ann _name _typ) =
(_sem_ParamDef_ParamDef (_sem_Annotation _ann) _name (_sem_TypeName _typ))
_sem_ParamDef (ParamDefTp _ann _typ) =
(_sem_ParamDef_ParamDefTp (_sem_Annotation _ann) (_sem_TypeName _typ))
type T_ParamDef = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( ParamDef,ParamDef)
data Inh_ParamDef = Inh_ParamDef {_cat_Inh_ParamDef :: Catalog,_flags_Inh_ParamDef :: TypeCheckFlags,_imCast_Inh_ParamDef :: (Maybe TypeExtra)}
data Syn_ParamDef = Syn_ParamDef {_annotatedTree_Syn_ParamDef :: ParamDef,_originalTree_Syn_ParamDef :: ParamDef}
_wrap_ParamDef :: T_ParamDef ->
Inh_ParamDef ->
Syn_ParamDef
_wrap_ParamDef sem (Inh_ParamDef _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_ParamDef _lhsOannotatedTree _lhsOoriginalTree))
_sem_ParamDef_ParamDef :: T_Annotation ->
NameComponent ->
T_TypeName ->
T_ParamDef
_sem_ParamDef_ParamDef ann_ name_ typ_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: ParamDef
_lhsOoriginalTree :: ParamDef
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_typOcat :: Catalog
_typOflags :: TypeCheckFlags
_typOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_typIannotatedTree :: TypeName
_typInamedType :: (Maybe TypeExtra)
_typIoriginalTree :: TypeName
_annOtpe =
({-# LINE 69 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 7437 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ParamDef _annIannotatedTree name_ _typIannotatedTree
{-# LINE 7443 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ParamDef _annIoriginalTree name_ _typIoriginalTree
{-# LINE 7449 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 7455 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 7461 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 7467 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 7473 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 7479 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 7485 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 7491 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 7497 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _typIannotatedTree,_typInamedType,_typIoriginalTree) =
typ_ _typOcat _typOflags _typOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_ParamDef_ParamDefTp :: T_Annotation ->
T_TypeName ->
T_ParamDef
_sem_ParamDef_ParamDefTp ann_ typ_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: ParamDef
_lhsOoriginalTree :: ParamDef
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_typOcat :: Catalog
_typOflags :: TypeCheckFlags
_typOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_typIannotatedTree :: TypeName
_typInamedType :: (Maybe TypeExtra)
_typIoriginalTree :: TypeName
_annOtpe =
({-# LINE 70 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 7529 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ParamDefTp _annIannotatedTree _typIannotatedTree
{-# LINE 7535 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ParamDefTp _annIoriginalTree _typIoriginalTree
{-# LINE 7541 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 7547 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 7553 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 7559 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 7565 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 7571 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 7577 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 7583 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 7589 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _typIannotatedTree,_typInamedType,_typIoriginalTree) =
typ_ _typOcat _typOflags _typOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type ParamDefList = [ParamDef]
_sem_ParamDefList :: ParamDefList ->
T_ParamDefList
_sem_ParamDefList list =
(Prelude.foldr _sem_ParamDefList_Cons _sem_ParamDefList_Nil (Prelude.map _sem_ParamDef list))
type T_ParamDefList = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( ParamDefList,ParamDefList)
data Inh_ParamDefList = Inh_ParamDefList {_cat_Inh_ParamDefList :: Catalog,_flags_Inh_ParamDefList :: TypeCheckFlags,_imCast_Inh_ParamDefList :: (Maybe TypeExtra)}
data Syn_ParamDefList = Syn_ParamDefList {_annotatedTree_Syn_ParamDefList :: ParamDefList,_originalTree_Syn_ParamDefList :: ParamDefList}
_wrap_ParamDefList :: T_ParamDefList ->
Inh_ParamDefList ->
Syn_ParamDefList
_wrap_ParamDefList sem (Inh_ParamDefList _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_ParamDefList _lhsOannotatedTree _lhsOoriginalTree))
_sem_ParamDefList_Cons :: T_ParamDef ->
T_ParamDefList ->
T_ParamDefList
_sem_ParamDefList_Cons hd_ tl_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: ParamDefList
_lhsOoriginalTree :: ParamDefList
_hdOcat :: Catalog
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_tlOcat :: Catalog
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_hdIannotatedTree :: ParamDef
_hdIoriginalTree :: ParamDef
_tlIannotatedTree :: ParamDefList
_tlIoriginalTree :: ParamDefList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 7660 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 7666 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 7672 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 7678 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 7684 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 7690 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 7696 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 7702 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 7708 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 7714 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdIoriginalTree) =
hd_ _hdOcat _hdOflags _hdOimCast
( _tlIannotatedTree,_tlIoriginalTree) =
tl_ _tlOcat _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_ParamDefList_Nil :: T_ParamDefList
_sem_ParamDefList_Nil =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: ParamDefList
_lhsOoriginalTree :: ParamDefList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 7732 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 7738 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 7744 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 7750 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data QueryExpr
= Select { ann:: (Annotation)
,selDistinct :: ( Distinct)
,selSelectList :: ( SelectList)
,selTref :: ( TableRefList)
,selWhere :: ( MaybeBoolExpr)
,selGroupBy :: ( ScalarExprList)
,selHaving :: ( MaybeBoolExpr)
,selOrderBy :: ( ScalarExprDirectionPairList)
,selLimit :: ( MaybeScalarExpr)
,selOffset :: ( MaybeScalarExpr)
,selOption :: ( [QueryHint])
}
| CombineQueryExpr { ann:: (Annotation)
,cqType :: ( CombineType)
,cqQe0 :: ( QueryExpr)
,cqQe1 :: ( QueryExpr)
}
| Values { ann:: (Annotation)
,qeValues:: (ScalarExprListList)
}
| WithQueryExpr { ann :: ( Annotation)
,withs :: ( WithQueryList)
,withQe :: ( QueryExpr)
} deriving (Eq,Show,Data,Typeable)
_sem_QueryExpr :: QueryExpr ->
T_QueryExpr
_sem_QueryExpr (Select _ann _selDistinct _selSelectList _selTref _selWhere _selGroupBy _selHaving _selOrderBy _selLimit _selOffset _selOption) =
(_sem_QueryExpr_Select (_sem_Annotation _ann) _selDistinct (_sem_SelectList _selSelectList) (_sem_TableRefList _selTref) (_sem_MaybeBoolExpr _selWhere) (_sem_ScalarExprList _selGroupBy) (_sem_MaybeBoolExpr _selHaving) (_sem_ScalarExprDirectionPairList _selOrderBy) (_sem_MaybeScalarExpr _selLimit) (_sem_MaybeScalarExpr _selOffset) _selOption)
_sem_QueryExpr (CombineQueryExpr _ann _cqType _cqQe0 _cqQe1) =
(_sem_QueryExpr_CombineQueryExpr (_sem_Annotation _ann) _cqType (_sem_QueryExpr _cqQe0) (_sem_QueryExpr _cqQe1))
_sem_QueryExpr (Values _ann _qeValues) =
(_sem_QueryExpr_Values (_sem_Annotation _ann) (_sem_ScalarExprListList _qeValues))
_sem_QueryExpr (WithQueryExpr _ann _withs _withQe) =
(_sem_QueryExpr_WithQueryExpr (_sem_Annotation _ann) (_sem_WithQueryList _withs) (_sem_QueryExpr _withQe))
type T_QueryExpr = Bool ->
Catalog ->
(Maybe [TypeExtra]) ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
(Maybe Environment) ->
( QueryExpr,QueryExpr,(Maybe [(Text,TypeExtra)]))
data Inh_QueryExpr = Inh_QueryExpr {_assignmentCastContext_Inh_QueryExpr :: Bool,_cat_Inh_QueryExpr :: Catalog,_expectedType_Inh_QueryExpr :: (Maybe [TypeExtra]),_flags_Inh_QueryExpr :: TypeCheckFlags,_imCast_Inh_QueryExpr :: (Maybe TypeExtra),_outerDownEnv_Inh_QueryExpr :: (Maybe Environment)}
data Syn_QueryExpr = Syn_QueryExpr {_annotatedTree_Syn_QueryExpr :: QueryExpr,_originalTree_Syn_QueryExpr :: QueryExpr,_upType_Syn_QueryExpr :: (Maybe [(Text,TypeExtra)])}
_wrap_QueryExpr :: T_QueryExpr ->
Inh_QueryExpr ->
Syn_QueryExpr
_wrap_QueryExpr sem (Inh_QueryExpr _lhsIassignmentCastContext _lhsIcat _lhsIexpectedType _lhsIflags _lhsIimCast _lhsIouterDownEnv) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupType) = sem _lhsIassignmentCastContext _lhsIcat _lhsIexpectedType _lhsIflags _lhsIimCast _lhsIouterDownEnv
in (Syn_QueryExpr _lhsOannotatedTree _lhsOoriginalTree _lhsOupType))
_sem_QueryExpr_Select :: T_Annotation ->
Distinct ->
T_SelectList ->
T_TableRefList ->
T_MaybeBoolExpr ->
T_ScalarExprList ->
T_MaybeBoolExpr ->
T_ScalarExprDirectionPairList ->
T_MaybeScalarExpr ->
T_MaybeScalarExpr ->
([QueryHint]) ->
T_QueryExpr
_sem_QueryExpr_Select ann_ selDistinct_ selSelectList_ selTref_ selWhere_ selGroupBy_ selHaving_ selOrderBy_ selLimit_ selOffset_ selOption_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIouterDownEnv ->
(let _selGroupByOexpectedCast :: Bool
_selLimitOdownEnv :: Environment
_selLimitOexpectedCast :: Bool
_selOffsetOdownEnv :: Environment
_selOffsetOexpectedCast :: Bool
_selSelectListOexpectedCast :: Bool
_selSelectListOdownEnv :: Environment
_selGroupByOdownEnv :: Environment
_selHavingOdownEnv :: Environment
_selOrderByOdownEnv :: Environment
_tpee :: (Either [TypeError] [(Text,TypeExtra)])
_selWhereOdownEnv :: Environment
_tpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe [(Text,TypeExtra)])
_lhsOannotatedTree :: QueryExpr
_selGroupByOexpectedTypes :: ([TypeExtra])
_selLimitOexpectedType :: (Maybe TypeExtra)
_selOffsetOexpectedType :: (Maybe TypeExtra)
_lhsOoriginalTree :: QueryExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annOtpe :: (Either [TypeError] TypeExtra)
_selSelectListOassignmentCastContext :: Bool
_selSelectListOcat :: Catalog
_selSelectListOexpectedType :: (Maybe [TypeExtra])
_selSelectListOflags :: TypeCheckFlags
_selSelectListOimCast :: (Maybe TypeExtra)
_selTrefOcat :: Catalog
_selTrefOflags :: TypeCheckFlags
_selTrefOimCast :: (Maybe TypeExtra)
_selWhereOcat :: Catalog
_selWhereOflags :: TypeCheckFlags
_selWhereOimCast :: (Maybe TypeExtra)
_selGroupByOassignmentCastContext :: Bool
_selGroupByOcat :: Catalog
_selGroupByOflags :: TypeCheckFlags
_selGroupByOimCast :: (Maybe TypeExtra)
_selHavingOcat :: Catalog
_selHavingOflags :: TypeCheckFlags
_selHavingOimCast :: (Maybe TypeExtra)
_selOrderByOcat :: Catalog
_selOrderByOflags :: TypeCheckFlags
_selOrderByOimCast :: (Maybe TypeExtra)
_selLimitOassignmentCastContext :: Bool
_selLimitOcat :: Catalog
_selLimitOflags :: TypeCheckFlags
_selLimitOimCast :: (Maybe TypeExtra)
_selOffsetOassignmentCastContext :: Bool
_selOffsetOcat :: Catalog
_selOffsetOflags :: TypeCheckFlags
_selOffsetOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_selSelectListIannotatedTree :: SelectList
_selSelectListIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_selSelectListIoriginalTree :: SelectList
_selSelectListIupEnv :: Environment
_selSelectListIupType :: (Maybe [(Text,TypeExtra)])
_selTrefIannotatedTree :: TableRefList
_selTrefIoriginalTree :: TableRefList
_selTrefIupEnv :: Environment
_selWhereIannotatedTree :: MaybeBoolExpr
_selWhereIoriginalTree :: MaybeBoolExpr
_selGroupByIannotatedTree :: ScalarExprList
_selGroupByIoriginalTree :: ScalarExprList
_selGroupByIupTypes :: ([Maybe TypeExtra])
_selHavingIannotatedTree :: MaybeBoolExpr
_selHavingIoriginalTree :: MaybeBoolExpr
_selOrderByIannotatedTree :: ScalarExprDirectionPairList
_selOrderByIoriginalTree :: ScalarExprDirectionPairList
_selLimitIannotatedTree :: MaybeScalarExpr
_selLimitIoriginalTree :: MaybeScalarExpr
_selLimitIupType :: (Maybe TypeExtra)
_selOffsetIannotatedTree :: MaybeScalarExpr
_selOffsetIoriginalTree :: MaybeScalarExpr
_selOffsetIupType :: (Maybe TypeExtra)
_selGroupByOexpectedCast =
({-# LINE 71 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 7946 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selLimitOdownEnv =
({-# LINE 72 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 7952 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selLimitOexpectedCast =
({-# LINE 73 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 7958 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOffsetOdownEnv =
({-# LINE 74 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 7964 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOffsetOexpectedCast =
({-# LINE 75 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 7970 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selSelectListOexpectedCast =
({-# LINE 76 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 7976 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selSelectListOdownEnv =
({-# LINE 106 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_selTrefIupEnv
{-# LINE 7982 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selGroupByOdownEnv =
({-# LINE 107 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_selTrefIupEnv
{-# LINE 7988 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selHavingOdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_selTrefIupEnv
{-# LINE 7994 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOrderByOdownEnv =
({-# LINE 128 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
E.orderByEnvironment _selSelectListIupEnv _selTrefIupEnv
{-# LINE 8000 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpee =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
maybe (Left []) Right _selSelectListIupType
{-# LINE 8006 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selWhereOdownEnv =
({-# LINE 132 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
maybe _selTrefIupEnv
(\e -> E.createCorrelatedSubqueryEnvironment e _selTrefIupEnv)
_lhsIouterDownEnv
{-# LINE 8014 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 142 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
liftM (mkTypeExtra . CompositeType) _tpee
{-# LINE 8020 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 145 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
either (const Nothing) Just _tpee
{-# LINE 8026 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selGroupBy =
({-# LINE 239 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
case _selGroupByIannotatedTree of
[App e nm@(Name _ [Nmc "cube"]) es] ->
[App e{anType = (Just (mkTypeExtra $ ScalarType "int4"))
,anErrs = []
} nm es]
x -> x
{-# LINE 8037 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 248 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
Select _annIannotatedTree
selDistinct_
_selSelectListIannotatedTree
_selTrefIannotatedTree
_selWhereIannotatedTree
_selGroupBy
_selHavingIannotatedTree
_selOrderByIannotatedTree
_selLimitIannotatedTree
_selOffsetIannotatedTree
selOption_
{-# LINE 8053 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selGroupByOexpectedTypes =
({-# LINE 767 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
[]
{-# LINE 8059 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selLimitOexpectedType =
({-# LINE 768 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Nothing
{-# LINE 8065 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOffsetOexpectedType =
({-# LINE 769 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Nothing
{-# LINE 8071 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Select _annIannotatedTree selDistinct_ _selSelectListIannotatedTree _selTrefIannotatedTree _selWhereIannotatedTree _selGroupByIannotatedTree _selHavingIannotatedTree _selOrderByIannotatedTree _selLimitIannotatedTree _selOffsetIannotatedTree selOption_
{-# LINE 8077 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Select _annIoriginalTree selDistinct_ _selSelectListIoriginalTree _selTrefIoriginalTree _selWhereIoriginalTree _selGroupByIoriginalTree _selHavingIoriginalTree _selOrderByIoriginalTree _selLimitIoriginalTree _selOffsetIoriginalTree selOption_
{-# LINE 8083 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 8089 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 8095 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 8101 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 8107 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_tpe
{-# LINE 8113 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selSelectListOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 8119 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selSelectListOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 8125 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selSelectListOexpectedType =
({-# LINE 159 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
_lhsIexpectedType
{-# LINE 8131 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selSelectListOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 8137 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selSelectListOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 8143 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selTrefOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 8149 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selTrefOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 8155 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selTrefOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 8161 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selWhereOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 8167 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selWhereOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 8173 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selWhereOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 8179 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selGroupByOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 8185 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selGroupByOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 8191 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selGroupByOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 8197 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selGroupByOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 8203 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selHavingOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 8209 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selHavingOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 8215 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selHavingOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 8221 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOrderByOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 8227 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOrderByOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 8233 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOrderByOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 8239 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selLimitOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 8245 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selLimitOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 8251 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selLimitOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 8257 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selLimitOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 8263 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOffsetOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 8269 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOffsetOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 8275 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOffsetOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 8281 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOffsetOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 8287 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _selSelectListIannotatedTree,_selSelectListIcolExprs,_selSelectListIoriginalTree,_selSelectListIupEnv,_selSelectListIupType) =
selSelectList_ _selSelectListOassignmentCastContext _selSelectListOcat _selSelectListOdownEnv _selSelectListOexpectedCast _selSelectListOexpectedType _selSelectListOflags _selSelectListOimCast
( _selTrefIannotatedTree,_selTrefIoriginalTree,_selTrefIupEnv) =
selTref_ _selTrefOcat _selTrefOflags _selTrefOimCast
( _selWhereIannotatedTree,_selWhereIoriginalTree) =
selWhere_ _selWhereOcat _selWhereOdownEnv _selWhereOflags _selWhereOimCast
( _selGroupByIannotatedTree,_selGroupByIoriginalTree,_selGroupByIupTypes) =
selGroupBy_ _selGroupByOassignmentCastContext _selGroupByOcat _selGroupByOdownEnv _selGroupByOexpectedCast _selGroupByOexpectedTypes _selGroupByOflags _selGroupByOimCast
( _selHavingIannotatedTree,_selHavingIoriginalTree) =
selHaving_ _selHavingOcat _selHavingOdownEnv _selHavingOflags _selHavingOimCast
( _selOrderByIannotatedTree,_selOrderByIoriginalTree) =
selOrderBy_ _selOrderByOcat _selOrderByOdownEnv _selOrderByOflags _selOrderByOimCast
( _selLimitIannotatedTree,_selLimitIoriginalTree,_selLimitIupType) =
selLimit_ _selLimitOassignmentCastContext _selLimitOcat _selLimitOdownEnv _selLimitOexpectedCast _selLimitOexpectedType _selLimitOflags _selLimitOimCast
( _selOffsetIannotatedTree,_selOffsetIoriginalTree,_selOffsetIupType) =
selOffset_ _selOffsetOassignmentCastContext _selOffsetOcat _selOffsetOdownEnv _selOffsetOexpectedCast _selOffsetOexpectedType _selOffsetOflags _selOffsetOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupType)))
_sem_QueryExpr_CombineQueryExpr :: T_Annotation ->
CombineType ->
T_QueryExpr ->
T_QueryExpr ->
T_QueryExpr
_sem_QueryExpr_CombineQueryExpr ann_ cqType_ cqQe0_ cqQe1_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIouterDownEnv ->
(let _tpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe [(Text,TypeExtra)])
_tpee :: (Either [TypeError] [(Text,TypeExtra)])
_lhsOannotatedTree :: QueryExpr
_lhsOoriginalTree :: QueryExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annOtpe :: (Either [TypeError] TypeExtra)
_cqQe0OassignmentCastContext :: Bool
_cqQe0Ocat :: Catalog
_cqQe0OexpectedType :: (Maybe [TypeExtra])
_cqQe0Oflags :: TypeCheckFlags
_cqQe0OimCast :: (Maybe TypeExtra)
_cqQe0OouterDownEnv :: (Maybe Environment)
_cqQe1OassignmentCastContext :: Bool
_cqQe1Ocat :: Catalog
_cqQe1OexpectedType :: (Maybe [TypeExtra])
_cqQe1Oflags :: TypeCheckFlags
_cqQe1OimCast :: (Maybe TypeExtra)
_cqQe1OouterDownEnv :: (Maybe Environment)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_cqQe0IannotatedTree :: QueryExpr
_cqQe0IoriginalTree :: QueryExpr
_cqQe0IupType :: (Maybe [(Text,TypeExtra)])
_cqQe1IannotatedTree :: QueryExpr
_cqQe1IoriginalTree :: QueryExpr
_cqQe1IupType :: (Maybe [(Text,TypeExtra)])
_tpe =
({-# LINE 142 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
liftM (mkTypeExtra . CompositeType) _tpee
{-# LINE 8353 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 145 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
either (const Nothing) Just _tpee
{-# LINE 8359 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpee =
({-# LINE 156 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
do
a <- maybe (Left []) Right _cqQe0IupType
b <- maybe (Left []) Right _cqQe1IupType
unless (length a == length b) $ Left [IncompatibleUnionTypes (CompositeType a) (CompositeType b)]
let uts = zipWithM (\(_,te1) (_,te2) -> resolveResultSetTypeExtra _lhsIcat [te1,te2])
a b
case uts of
Left{} -> Left [IncompatibleUnionTypes (CompositeType a) (CompositeType b)]
Right uts' -> return $ zipWith (\(n,_) te -> (n,te)) a uts'
{-# LINE 8373 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CombineQueryExpr _annIannotatedTree cqType_ _cqQe0IannotatedTree _cqQe1IannotatedTree
{-# LINE 8379 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CombineQueryExpr _annIoriginalTree cqType_ _cqQe0IoriginalTree _cqQe1IoriginalTree
{-# LINE 8385 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 8391 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 8397 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 8403 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 8409 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 8415 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_tpe
{-# LINE 8421 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_cqQe0OassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 8427 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_cqQe0Ocat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 8433 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_cqQe0OexpectedType =
({-# LINE 18 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIexpectedType
{-# LINE 8439 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_cqQe0Oflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 8445 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_cqQe0OimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 8451 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_cqQe0OouterDownEnv =
({-# LINE 89 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIouterDownEnv
{-# LINE 8457 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_cqQe1OassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 8463 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_cqQe1Ocat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 8469 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_cqQe1OexpectedType =
({-# LINE 18 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIexpectedType
{-# LINE 8475 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_cqQe1Oflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 8481 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_cqQe1OimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 8487 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_cqQe1OouterDownEnv =
({-# LINE 89 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIouterDownEnv
{-# LINE 8493 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _cqQe0IannotatedTree,_cqQe0IoriginalTree,_cqQe0IupType) =
cqQe0_ _cqQe0OassignmentCastContext _cqQe0Ocat _cqQe0OexpectedType _cqQe0Oflags _cqQe0OimCast _cqQe0OouterDownEnv
( _cqQe1IannotatedTree,_cqQe1IoriginalTree,_cqQe1IupType) =
cqQe1_ _cqQe1OassignmentCastContext _cqQe1Ocat _cqQe1OexpectedType _cqQe1Oflags _cqQe1OimCast _cqQe1OouterDownEnv
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupType)))
_sem_QueryExpr_Values :: T_Annotation ->
T_ScalarExprListList ->
T_QueryExpr
_sem_QueryExpr_Values ann_ qeValues_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIouterDownEnv ->
(let _qeValuesOdownEnv :: Environment
_tpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe [(Text,TypeExtra)])
_tpee :: (Either [TypeError] [(Text,TypeExtra)])
_qeValuesOexpectedCast :: Bool
_lhsOannotatedTree :: QueryExpr
_lhsOoriginalTree :: QueryExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annOtpe :: (Either [TypeError] TypeExtra)
_qeValuesOassignmentCastContext :: Bool
_qeValuesOcat :: Catalog
_qeValuesOexpectedType :: (Maybe [TypeExtra])
_qeValuesOflags :: TypeCheckFlags
_qeValuesOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_qeValuesIannotatedTree :: ScalarExprListList
_qeValuesIoriginalTree :: ScalarExprListList
_qeValuesIupType :: (Either [TypeError] [(Text,TypeExtra)])
_qeValuesOdownEnv =
({-# LINE 77 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 8537 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 142 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
liftM (mkTypeExtra . CompositeType) _tpee
{-# LINE 8543 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 145 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
either (const Nothing) Just _tpee
{-# LINE 8549 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpee =
({-# LINE 153 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_qeValuesIupType
{-# LINE 8555 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_qeValuesOexpectedCast =
({-# LINE 154 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
True
{-# LINE 8561 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Values _annIannotatedTree _qeValuesIannotatedTree
{-# LINE 8567 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Values _annIoriginalTree _qeValuesIoriginalTree
{-# LINE 8573 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 8579 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 8585 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 8591 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 8597 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 8603 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_tpe
{-# LINE 8609 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_qeValuesOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 8615 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_qeValuesOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 8621 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_qeValuesOexpectedType =
({-# LINE 186 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIexpectedType
{-# LINE 8627 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_qeValuesOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 8633 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_qeValuesOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 8639 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _qeValuesIannotatedTree,_qeValuesIoriginalTree,_qeValuesIupType) =
qeValues_ _qeValuesOassignmentCastContext _qeValuesOcat _qeValuesOdownEnv _qeValuesOexpectedCast _qeValuesOexpectedType _qeValuesOflags _qeValuesOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupType)))
_sem_QueryExpr_WithQueryExpr :: T_Annotation ->
T_WithQueryList ->
T_QueryExpr ->
T_QueryExpr
_sem_QueryExpr_WithQueryExpr ann_ withs_ withQe_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIouterDownEnv ->
(let _withQeOcat :: Catalog
_withsOcatExtIncomp :: (Either [TypeError] Catalog)
_lhsOannotatedTree :: QueryExpr
_tpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe [(Text,TypeExtra)])
_tpee :: (Either [TypeError] [(Text,TypeExtra)])
_lhsOoriginalTree :: QueryExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annOtpe :: (Either [TypeError] TypeExtra)
_withsOcat :: Catalog
_withsOflags :: TypeCheckFlags
_withsOimCast :: (Maybe TypeExtra)
_withQeOassignmentCastContext :: Bool
_withQeOexpectedType :: (Maybe [TypeExtra])
_withQeOflags :: TypeCheckFlags
_withQeOimCast :: (Maybe TypeExtra)
_withQeOouterDownEnv :: (Maybe Environment)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_withsIannotatedTree :: WithQueryList
_withsIcatExtComp :: (Either [TypeError] Catalog)
_withsIoriginalTree :: WithQueryList
_withQeIannotatedTree :: QueryExpr
_withQeIoriginalTree :: QueryExpr
_withQeIupType :: (Maybe [(Text,TypeExtra)])
_withQeOcat =
({-# LINE 70 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
case _withsIcatExtComp of
Right catExtComp -> catExtComp
Left _ -> _lhsIcat
{-# LINE 8690 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_withsOcatExtIncomp =
({-# LINE 74 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
return _lhsIcat
{-# LINE 8696 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 76 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
case _withsIcatExtComp of
Right _ -> WithQueryExpr (_annIannotatedTree) (_withsIannotatedTree) (_withQeIannotatedTree)
Left tyErrs -> WithQueryExpr (emptyAnnotation { anType = Nothing, anErrs = tyErrs })
(_withsIannotatedTree) (_withQeIannotatedTree)
{-# LINE 8705 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 142 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
liftM (mkTypeExtra . CompositeType) _tpee
{-# LINE 8711 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 145 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
either (const Nothing) Just _tpee
{-# LINE 8717 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpee =
({-# LINE 151 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
maybe (Left []) Right _withQeIupType
{-# LINE 8723 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
WithQueryExpr _annIannotatedTree _withsIannotatedTree _withQeIannotatedTree
{-# LINE 8729 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
WithQueryExpr _annIoriginalTree _withsIoriginalTree _withQeIoriginalTree
{-# LINE 8735 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 8741 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 8747 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 8753 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 8759 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_tpe
{-# LINE 8765 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_withsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 8771 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_withsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 8777 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_withsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 8783 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_withQeOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 8789 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_withQeOexpectedType =
({-# LINE 18 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIexpectedType
{-# LINE 8795 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_withQeOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 8801 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_withQeOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 8807 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_withQeOouterDownEnv =
({-# LINE 89 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIouterDownEnv
{-# LINE 8813 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _withsIannotatedTree,_withsIcatExtComp,_withsIoriginalTree) =
withs_ _withsOcat _withsOcatExtIncomp _withsOflags _withsOimCast
( _withQeIannotatedTree,_withQeIoriginalTree,_withQeIupType) =
withQe_ _withQeOassignmentCastContext _withQeOcat _withQeOexpectedType _withQeOflags _withQeOimCast _withQeOouterDownEnv
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupType)))
data Root = Root (StatementList)
deriving ( Show)
_sem_Root :: Root ->
T_Root
_sem_Root (Root _statements) =
(_sem_Root_Root (_sem_StatementList _statements))
type T_Root = Catalog ->
TypeCheckFlags ->
( Root,Root)
data Inh_Root = Inh_Root {_cat_Inh_Root :: Catalog,_flags_Inh_Root :: TypeCheckFlags}
data Syn_Root = Syn_Root {_annotatedTree_Syn_Root :: Root,_originalTree_Syn_Root :: Root}
_wrap_Root :: T_Root ->
Inh_Root ->
Syn_Root
_wrap_Root sem (Inh_Root _lhsIcat _lhsIflags) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags
in (Syn_Root _lhsOannotatedTree _lhsOoriginalTree))
_sem_Root_Root :: T_StatementList ->
T_Root
_sem_Root_Root statements_ =
(\ _lhsIcat
_lhsIflags ->
(let _statementsOimCast :: (Maybe TypeExtra)
_lhsOannotatedTree :: Root
_lhsOoriginalTree :: Root
_statementsOcat :: Catalog
_statementsOflags :: TypeCheckFlags
_statementsIannotatedTree :: StatementList
_statementsIoriginalTree :: StatementList
_statementsOimCast =
({-# LINE 133 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Nothing
{-# LINE 8873 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Root _statementsIannotatedTree
{-# LINE 8879 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Root _statementsIoriginalTree
{-# LINE 8885 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 8891 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 8897 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_statementsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 8903 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_statementsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 8909 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _statementsIannotatedTree,_statementsIoriginalTree) =
statements_ _statementsOcat _statementsOflags _statementsOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data RowConstraint = DefaultConstraint (Annotation) (String) (ScalarExpr)
| NullConstraint (Annotation) (String)
| NotNullConstraint (Annotation) (String)
| IdentityConstraint (Annotation) (String) (((Maybe (Integer,Integer))))
| RowCheckConstraint (Annotation) (String) (ScalarExpr)
| RowUniqueConstraint (Annotation) (String)
| RowPrimaryKeyConstraint (Annotation) (String)
| RowReferenceConstraint (Annotation) (String) (Name) ((Maybe NameComponent)) (Cascade) (Cascade)
deriving ( Data,Eq,Show,Typeable)
_sem_RowConstraint :: RowConstraint ->
T_RowConstraint
_sem_RowConstraint (DefaultConstraint _ann _name _expr) =
(_sem_RowConstraint_DefaultConstraint (_sem_Annotation _ann) _name (_sem_ScalarExpr _expr))
_sem_RowConstraint (NullConstraint _ann _name) =
(_sem_RowConstraint_NullConstraint (_sem_Annotation _ann) _name)
_sem_RowConstraint (NotNullConstraint _ann _name) =
(_sem_RowConstraint_NotNullConstraint (_sem_Annotation _ann) _name)
_sem_RowConstraint (IdentityConstraint _ann _name _seedAndInc) =
(_sem_RowConstraint_IdentityConstraint (_sem_Annotation _ann) _name _seedAndInc)
_sem_RowConstraint (RowCheckConstraint _ann _name _expr) =
(_sem_RowConstraint_RowCheckConstraint (_sem_Annotation _ann) _name (_sem_ScalarExpr _expr))
_sem_RowConstraint (RowUniqueConstraint _ann _name) =
(_sem_RowConstraint_RowUniqueConstraint (_sem_Annotation _ann) _name)
_sem_RowConstraint (RowPrimaryKeyConstraint _ann _name) =
(_sem_RowConstraint_RowPrimaryKeyConstraint (_sem_Annotation _ann) _name)
_sem_RowConstraint (RowReferenceConstraint _ann _name _table _att _onUpdate _onDelete) =
(_sem_RowConstraint_RowReferenceConstraint (_sem_Annotation _ann) _name (_sem_Name _table) _att _onUpdate _onDelete)
type T_RowConstraint = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( RowConstraint,RowConstraint)
data Inh_RowConstraint = Inh_RowConstraint {_cat_Inh_RowConstraint :: Catalog,_flags_Inh_RowConstraint :: TypeCheckFlags,_imCast_Inh_RowConstraint :: (Maybe TypeExtra)}
data Syn_RowConstraint = Syn_RowConstraint {_annotatedTree_Syn_RowConstraint :: RowConstraint,_originalTree_Syn_RowConstraint :: RowConstraint}
_wrap_RowConstraint :: T_RowConstraint ->
Inh_RowConstraint ->
Syn_RowConstraint
_wrap_RowConstraint sem (Inh_RowConstraint _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_RowConstraint _lhsOannotatedTree _lhsOoriginalTree))
_sem_RowConstraint_DefaultConstraint :: T_Annotation ->
String ->
T_ScalarExpr ->
T_RowConstraint
_sem_RowConstraint_DefaultConstraint ann_ name_ expr_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_exprOdownEnv :: Environment
_exprOexpectedCast :: Bool
_exprOexpectedType :: (Maybe TypeExtra)
_exprOodbcFunction :: Bool
_exprOassignmentCastContext :: Bool
_lhsOannotatedTree :: RowConstraint
_lhsOoriginalTree :: RowConstraint
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_exprOcat :: Catalog
_exprOflags :: TypeCheckFlags
_exprOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_exprIannotatedTree :: ScalarExpr
_exprIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_exprIoriginalTree :: ScalarExpr
_exprIupType :: (Maybe TypeExtra)
_annOtpe =
({-# LINE 81 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 9054 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOdownEnv =
({-# LINE 82 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 9060 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedCast =
({-# LINE 83 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 9066 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedType =
({-# LINE 84 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 9072 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOodbcFunction =
({-# LINE 149 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 9078 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOassignmentCastContext =
({-# LINE 816 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 9084 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
DefaultConstraint _annIannotatedTree name_ _exprIannotatedTree
{-# LINE 9090 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
DefaultConstraint _annIoriginalTree name_ _exprIoriginalTree
{-# LINE 9096 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 9102 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 9108 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 9114 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 9120 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 9126 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 9132 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 9138 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 9144 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _exprIannotatedTree,_exprIcolExprs,_exprIoriginalTree,_exprIupType) =
expr_ _exprOassignmentCastContext _exprOcat _exprOdownEnv _exprOexpectedCast _exprOexpectedType _exprOflags _exprOimCast _exprOodbcFunction
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_RowConstraint_NullConstraint :: T_Annotation ->
String ->
T_RowConstraint
_sem_RowConstraint_NullConstraint ann_ name_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: RowConstraint
_lhsOoriginalTree :: RowConstraint
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 80 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 9170 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
NullConstraint _annIannotatedTree name_
{-# LINE 9176 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
NullConstraint _annIoriginalTree name_
{-# LINE 9182 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 9188 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 9194 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 9200 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 9206 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 9212 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_RowConstraint_NotNullConstraint :: T_Annotation ->
String ->
T_RowConstraint
_sem_RowConstraint_NotNullConstraint ann_ name_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: RowConstraint
_lhsOoriginalTree :: RowConstraint
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 79 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 9236 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
NotNullConstraint _annIannotatedTree name_
{-# LINE 9242 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
NotNullConstraint _annIoriginalTree name_
{-# LINE 9248 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 9254 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 9260 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 9266 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 9272 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 9278 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_RowConstraint_IdentityConstraint :: T_Annotation ->
String ->
((Maybe (Integer,Integer))) ->
T_RowConstraint
_sem_RowConstraint_IdentityConstraint ann_ name_ seedAndInc_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: RowConstraint
_lhsOoriginalTree :: RowConstraint
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 78 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 9303 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
IdentityConstraint _annIannotatedTree name_ seedAndInc_
{-# LINE 9309 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
IdentityConstraint _annIoriginalTree name_ seedAndInc_
{-# LINE 9315 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 9321 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 9327 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 9333 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 9339 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 9345 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_RowConstraint_RowCheckConstraint :: T_Annotation ->
String ->
T_ScalarExpr ->
T_RowConstraint
_sem_RowConstraint_RowCheckConstraint ann_ name_ expr_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_exprOdownEnv :: Environment
_exprOexpectedCast :: Bool
_exprOexpectedType :: (Maybe TypeExtra)
_exprOodbcFunction :: Bool
_exprOassignmentCastContext :: Bool
_lhsOannotatedTree :: RowConstraint
_lhsOoriginalTree :: RowConstraint
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_exprOcat :: Catalog
_exprOflags :: TypeCheckFlags
_exprOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_exprIannotatedTree :: ScalarExpr
_exprIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_exprIoriginalTree :: ScalarExpr
_exprIupType :: (Maybe TypeExtra)
_annOtpe =
({-# LINE 85 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 9382 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOdownEnv =
({-# LINE 86 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 9388 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedCast =
({-# LINE 87 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 9394 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedType =
({-# LINE 88 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 9400 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOodbcFunction =
({-# LINE 150 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 9406 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOassignmentCastContext =
({-# LINE 817 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 9412 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
RowCheckConstraint _annIannotatedTree name_ _exprIannotatedTree
{-# LINE 9418 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
RowCheckConstraint _annIoriginalTree name_ _exprIoriginalTree
{-# LINE 9424 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 9430 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 9436 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 9442 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 9448 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 9454 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 9460 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 9466 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 9472 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _exprIannotatedTree,_exprIcolExprs,_exprIoriginalTree,_exprIupType) =
expr_ _exprOassignmentCastContext _exprOcat _exprOdownEnv _exprOexpectedCast _exprOexpectedType _exprOflags _exprOimCast _exprOodbcFunction
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_RowConstraint_RowUniqueConstraint :: T_Annotation ->
String ->
T_RowConstraint
_sem_RowConstraint_RowUniqueConstraint ann_ name_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: RowConstraint
_lhsOoriginalTree :: RowConstraint
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 92 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 9498 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
RowUniqueConstraint _annIannotatedTree name_
{-# LINE 9504 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
RowUniqueConstraint _annIoriginalTree name_
{-# LINE 9510 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 9516 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 9522 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 9528 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 9534 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 9540 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_RowConstraint_RowPrimaryKeyConstraint :: T_Annotation ->
String ->
T_RowConstraint
_sem_RowConstraint_RowPrimaryKeyConstraint ann_ name_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: RowConstraint
_lhsOoriginalTree :: RowConstraint
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 89 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 9564 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
RowPrimaryKeyConstraint _annIannotatedTree name_
{-# LINE 9570 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
RowPrimaryKeyConstraint _annIoriginalTree name_
{-# LINE 9576 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 9582 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 9588 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 9594 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 9600 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 9606 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_RowConstraint_RowReferenceConstraint :: T_Annotation ->
String ->
T_Name ->
(Maybe NameComponent) ->
Cascade ->
Cascade ->
T_RowConstraint
_sem_RowConstraint_RowReferenceConstraint ann_ name_ table_ att_ onUpdate_ onDelete_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_tableOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: RowConstraint
_lhsOoriginalTree :: RowConstraint
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_tableOcat :: Catalog
_tableOflags :: TypeCheckFlags
_tableOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_tableIannotatedTree :: Name
_tableIoriginalTree :: Name
_annOtpe =
({-# LINE 90 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 9640 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tableOtpe =
({-# LINE 91 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 9646 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
RowReferenceConstraint _annIannotatedTree name_ _tableIannotatedTree att_ onUpdate_ onDelete_
{-# LINE 9652 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
RowReferenceConstraint _annIoriginalTree name_ _tableIoriginalTree att_ onUpdate_ onDelete_
{-# LINE 9658 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 9664 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 9670 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 9676 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 9682 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 9688 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tableOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 9694 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tableOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 9700 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tableOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 9706 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _tableIannotatedTree,_tableIoriginalTree) =
table_ _tableOcat _tableOflags _tableOimCast _tableOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type RowConstraintList = [RowConstraint]
_sem_RowConstraintList :: RowConstraintList ->
T_RowConstraintList
_sem_RowConstraintList list =
(Prelude.foldr _sem_RowConstraintList_Cons _sem_RowConstraintList_Nil (Prelude.map _sem_RowConstraint list))
type T_RowConstraintList = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( RowConstraintList,RowConstraintList)
data Inh_RowConstraintList = Inh_RowConstraintList {_cat_Inh_RowConstraintList :: Catalog,_flags_Inh_RowConstraintList :: TypeCheckFlags,_imCast_Inh_RowConstraintList :: (Maybe TypeExtra)}
data Syn_RowConstraintList = Syn_RowConstraintList {_annotatedTree_Syn_RowConstraintList :: RowConstraintList,_originalTree_Syn_RowConstraintList :: RowConstraintList}
_wrap_RowConstraintList :: T_RowConstraintList ->
Inh_RowConstraintList ->
Syn_RowConstraintList
_wrap_RowConstraintList sem (Inh_RowConstraintList _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_RowConstraintList _lhsOannotatedTree _lhsOoriginalTree))
_sem_RowConstraintList_Cons :: T_RowConstraint ->
T_RowConstraintList ->
T_RowConstraintList
_sem_RowConstraintList_Cons hd_ tl_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: RowConstraintList
_lhsOoriginalTree :: RowConstraintList
_hdOcat :: Catalog
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_tlOcat :: Catalog
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_hdIannotatedTree :: RowConstraint
_hdIoriginalTree :: RowConstraint
_tlIannotatedTree :: RowConstraintList
_tlIoriginalTree :: RowConstraintList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 9777 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 9783 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 9789 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 9795 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 9801 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 9807 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 9813 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 9819 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 9825 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 9831 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdIoriginalTree) =
hd_ _hdOcat _hdOflags _hdOimCast
( _tlIannotatedTree,_tlIoriginalTree) =
tl_ _tlOcat _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_RowConstraintList_Nil :: T_RowConstraintList
_sem_RowConstraintList_Nil =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: RowConstraintList
_lhsOoriginalTree :: RowConstraintList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 9849 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 9855 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 9861 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 9867 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data ScalarExpr = NumberLit (Annotation) (String)
| StringLit (Annotation) (String)
| NullLit (Annotation)
| BooleanLit (Annotation) (Bool)
| TypedStringLit (Annotation) (TypeName) (String)
| Interval (Annotation) (String) (IntervalField) ((Maybe Int))
| Identifier (Annotation) (Name)
| Star (Annotation)
| QStar (Annotation) (NameComponent)
| PositionalArg (Annotation) (Integer)
| Placeholder (Annotation)
| PrefixOp (Annotation) (Name) (ScalarExpr)
| PostfixOp (Annotation) (Name) (ScalarExpr)
| BinaryOp (Annotation) (Name) (ScalarExpr) (ScalarExpr)
| SpecialOp (Annotation) (Name) (ScalarExprList)
| Extract (Annotation) (ExtractField) (ScalarExpr)
| App (Annotation) (Name) (ScalarExprList)
| AggregateApp (Annotation) (Distinct) (ScalarExpr) (ScalarExprDirectionPairList)
| WindowApp (Annotation) (ScalarExpr) (ScalarExprList) (ScalarExprDirectionPairList) ((Maybe FrameClause))
| Cast (Annotation) (ScalarExpr) (TypeName)
| ImplicitCast (Annotation) (ScalarExpr) (TypeExtra)
| Case (Annotation) (CaseScalarExprListScalarExprPairList) (MaybeScalarExpr)
| CaseSimple (Annotation) (ScalarExpr) (CaseScalarExprListScalarExprPairList) (MaybeScalarExpr)
| Parens (Annotation) (ScalarExpr)
| InPredicate (Annotation) (ScalarExpr) (Bool) (InList)
| Exists (Annotation) (QueryExpr)
| ScalarSubQuery (Annotation) (QueryExpr)
| LiftApp (Annotation) (Name) (LiftFlavour) (ScalarExprList)
| OdbcLiteral (Annotation) (OdbcLiteralType) (String)
| OdbcFunc (Annotation) (ScalarExpr)
| AntiScalarExpr (String)
deriving ( Data,Eq,Show,Typeable)
_sem_ScalarExpr :: ScalarExpr ->
T_ScalarExpr
_sem_ScalarExpr (NumberLit _ann _d) =
(_sem_ScalarExpr_NumberLit (_sem_Annotation _ann) _d)
_sem_ScalarExpr (StringLit _ann _value) =
(_sem_ScalarExpr_StringLit (_sem_Annotation _ann) _value)
_sem_ScalarExpr (NullLit _ann) =
(_sem_ScalarExpr_NullLit (_sem_Annotation _ann))
_sem_ScalarExpr (BooleanLit _ann _b) =
(_sem_ScalarExpr_BooleanLit (_sem_Annotation _ann) _b)
_sem_ScalarExpr (TypedStringLit _ann _tn _value) =
(_sem_ScalarExpr_TypedStringLit (_sem_Annotation _ann) (_sem_TypeName _tn) _value)
_sem_ScalarExpr (Interval _ann _value _field _prec) =
(_sem_ScalarExpr_Interval (_sem_Annotation _ann) _value _field _prec)
_sem_ScalarExpr (Identifier _ann _i) =
(_sem_ScalarExpr_Identifier (_sem_Annotation _ann) (_sem_Name _i))
_sem_ScalarExpr (Star _ann) =
(_sem_ScalarExpr_Star (_sem_Annotation _ann))
_sem_ScalarExpr (QStar _ann _q) =
(_sem_ScalarExpr_QStar (_sem_Annotation _ann) _q)
_sem_ScalarExpr (PositionalArg _ann _p) =
(_sem_ScalarExpr_PositionalArg (_sem_Annotation _ann) _p)
_sem_ScalarExpr (Placeholder _ann) =
(_sem_ScalarExpr_Placeholder (_sem_Annotation _ann))
_sem_ScalarExpr (PrefixOp _ann _opName _arg) =
(_sem_ScalarExpr_PrefixOp (_sem_Annotation _ann) (_sem_Name _opName) (_sem_ScalarExpr _arg))
_sem_ScalarExpr (PostfixOp _ann _opName _arg) =
(_sem_ScalarExpr_PostfixOp (_sem_Annotation _ann) (_sem_Name _opName) (_sem_ScalarExpr _arg))
_sem_ScalarExpr (BinaryOp _ann _opName _arg0 _arg1) =
(_sem_ScalarExpr_BinaryOp (_sem_Annotation _ann) (_sem_Name _opName) (_sem_ScalarExpr _arg0) (_sem_ScalarExpr _arg1))
_sem_ScalarExpr (SpecialOp _ann _opName _args) =
(_sem_ScalarExpr_SpecialOp (_sem_Annotation _ann) (_sem_Name _opName) (_sem_ScalarExprList _args))
_sem_ScalarExpr (Extract _ann _field _e) =
(_sem_ScalarExpr_Extract (_sem_Annotation _ann) _field (_sem_ScalarExpr _e))
_sem_ScalarExpr (App _ann _funName _args) =
(_sem_ScalarExpr_App (_sem_Annotation _ann) (_sem_Name _funName) (_sem_ScalarExprList _args))
_sem_ScalarExpr (AggregateApp _ann _aggDistinct _fn _orderBy) =
(_sem_ScalarExpr_AggregateApp (_sem_Annotation _ann) _aggDistinct (_sem_ScalarExpr _fn) (_sem_ScalarExprDirectionPairList _orderBy))
_sem_ScalarExpr (WindowApp _ann _fn _partitionBy _orderBy _frm) =
(_sem_ScalarExpr_WindowApp (_sem_Annotation _ann) (_sem_ScalarExpr _fn) (_sem_ScalarExprList _partitionBy) (_sem_ScalarExprDirectionPairList _orderBy) _frm)
_sem_ScalarExpr (Cast _ann _expr _tn) =
(_sem_ScalarExpr_Cast (_sem_Annotation _ann) (_sem_ScalarExpr _expr) (_sem_TypeName _tn))
_sem_ScalarExpr (ImplicitCast _ann _expr _te) =
(_sem_ScalarExpr_ImplicitCast (_sem_Annotation _ann) (_sem_ScalarExpr _expr) _te)
_sem_ScalarExpr (Case _ann _cases _els) =
(_sem_ScalarExpr_Case (_sem_Annotation _ann) (_sem_CaseScalarExprListScalarExprPairList _cases) (_sem_MaybeScalarExpr _els))
_sem_ScalarExpr (CaseSimple _ann _value _cases _els) =
(_sem_ScalarExpr_CaseSimple (_sem_Annotation _ann) (_sem_ScalarExpr _value) (_sem_CaseScalarExprListScalarExprPairList _cases) (_sem_MaybeScalarExpr _els))
_sem_ScalarExpr (Parens _ann _ex) =
(_sem_ScalarExpr_Parens (_sem_Annotation _ann) (_sem_ScalarExpr _ex))
_sem_ScalarExpr (InPredicate _ann _expr _i _list) =
(_sem_ScalarExpr_InPredicate (_sem_Annotation _ann) (_sem_ScalarExpr _expr) _i (_sem_InList _list))
_sem_ScalarExpr (Exists _ann _sel) =
(_sem_ScalarExpr_Exists (_sem_Annotation _ann) (_sem_QueryExpr _sel))
_sem_ScalarExpr (ScalarSubQuery _ann _sel) =
(_sem_ScalarExpr_ScalarSubQuery (_sem_Annotation _ann) (_sem_QueryExpr _sel))
_sem_ScalarExpr (LiftApp _ann _oper _flav _args) =
(_sem_ScalarExpr_LiftApp (_sem_Annotation _ann) (_sem_Name _oper) _flav (_sem_ScalarExprList _args))
_sem_ScalarExpr (OdbcLiteral _ann _olt _val) =
(_sem_ScalarExpr_OdbcLiteral (_sem_Annotation _ann) _olt _val)
_sem_ScalarExpr (OdbcFunc _ann _ex) =
(_sem_ScalarExpr_OdbcFunc (_sem_Annotation _ann) (_sem_ScalarExpr _ex))
_sem_ScalarExpr (AntiScalarExpr _string) =
(_sem_ScalarExpr_AntiScalarExpr _string)
type T_ScalarExpr = Bool ->
Catalog ->
Environment ->
Bool ->
(Maybe TypeExtra) ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
Bool ->
( ScalarExpr,([(NameComponent,Maybe TypeExtra,ScalarExpr)]),ScalarExpr,(Maybe TypeExtra))
data Inh_ScalarExpr = Inh_ScalarExpr {_assignmentCastContext_Inh_ScalarExpr :: Bool,_cat_Inh_ScalarExpr :: Catalog,_downEnv_Inh_ScalarExpr :: Environment,_expectedCast_Inh_ScalarExpr :: Bool,_expectedType_Inh_ScalarExpr :: (Maybe TypeExtra),_flags_Inh_ScalarExpr :: TypeCheckFlags,_imCast_Inh_ScalarExpr :: (Maybe TypeExtra),_odbcFunction_Inh_ScalarExpr :: Bool}
data Syn_ScalarExpr = Syn_ScalarExpr {_annotatedTree_Syn_ScalarExpr :: ScalarExpr,_colExprs_Syn_ScalarExpr :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)]),_originalTree_Syn_ScalarExpr :: ScalarExpr,_upType_Syn_ScalarExpr :: (Maybe TypeExtra)}
_wrap_ScalarExpr :: T_ScalarExpr ->
Inh_ScalarExpr ->
Syn_ScalarExpr
_wrap_ScalarExpr sem (Inh_ScalarExpr _lhsIassignmentCastContext _lhsIcat _lhsIdownEnv _lhsIexpectedCast _lhsIexpectedType _lhsIflags _lhsIimCast _lhsIodbcFunction) =
(let ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType) = sem _lhsIassignmentCastContext _lhsIcat _lhsIdownEnv _lhsIexpectedCast _lhsIexpectedType _lhsIflags _lhsIimCast _lhsIodbcFunction
in (Syn_ScalarExpr _lhsOannotatedTree _lhsOcolExprs _lhsOoriginalTree _lhsOupType))
_sem_ScalarExpr_NumberLit :: T_Annotation ->
String ->
T_ScalarExpr
_sem_ScalarExpr_NumberLit ann_ d_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 10360 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 10366 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 10372 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 10378 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 10389 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 10395 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 250 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
if all (`elem` _digChars ) d_
then (mkTypeExtraNN . ScalarType) <$> classifyInteger (tcfDialect _lhsIflags) d_
else (mkTypeExtraNN . ScalarType) <$> (_dialectTypeName "numeric")
{-# LINE 10403 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_digChars =
({-# LINE 254 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
concatMap show [(0::Int)..9]
{-# LINE 10409 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
NumberLit _annIannotatedTree d_
{-# LINE 10415 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
NumberLit _annIoriginalTree d_
{-# LINE 10421 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 10427 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 10433 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 10439 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 10445 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_StringLit :: T_Annotation ->
String ->
T_ScalarExpr
_sem_ScalarExpr_StringLit ann_ value_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 10492 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 10498 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 10504 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 10510 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 10521 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 10527 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 258 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Right $ (mkTypeExtraNN UnknownType) {tePrecision = Just $ length value_}
{-# LINE 10533 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
StringLit _annIannotatedTree value_
{-# LINE 10539 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
StringLit _annIoriginalTree value_
{-# LINE 10545 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 10551 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 10557 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 10563 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 10569 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_NullLit :: T_Annotation ->
T_ScalarExpr
_sem_ScalarExpr_NullLit ann_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 10615 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 10621 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 10627 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 10633 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 10644 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 10650 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 261 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Right $ mkTypeExtra UnknownType
{-# LINE 10656 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
NullLit _annIannotatedTree
{-# LINE 10662 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
NullLit _annIoriginalTree
{-# LINE 10668 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 10674 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 10680 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 10686 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 10692 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_BooleanLit :: T_Annotation ->
Bool ->
T_ScalarExpr
_sem_ScalarExpr_BooleanLit ann_ b_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 10739 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 10745 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 10751 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 10757 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 10768 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 10774 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 241 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
fmap (mkTypeExtraNN . ScalarType) $ _dialectTypeName "boolean"
{-# LINE 10780 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
BooleanLit _annIannotatedTree b_
{-# LINE 10786 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
BooleanLit _annIoriginalTree b_
{-# LINE 10792 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 10798 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 10804 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 10810 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 10816 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_TypedStringLit :: T_Annotation ->
T_TypeName ->
String ->
T_ScalarExpr
_sem_ScalarExpr_TypedStringLit ann_ tn_ value_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_tnOcat :: Catalog
_tnOflags :: TypeCheckFlags
_tnOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_tnIannotatedTree :: TypeName
_tnInamedType :: (Maybe TypeExtra)
_tnIoriginalTree :: TypeName
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 10870 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 10876 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 10882 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 10888 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 10899 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 10905 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 271 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right _tnInamedType
{-# LINE 10911 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
TypedStringLit _annIannotatedTree _tnIannotatedTree value_
{-# LINE 10917 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
TypedStringLit _annIoriginalTree _tnIoriginalTree value_
{-# LINE 10923 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 10929 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 10935 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 10941 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 10947 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tnOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 10953 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tnOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 10959 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tnOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 10965 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _tnIannotatedTree,_tnInamedType,_tnIoriginalTree) =
tn_ _tnOcat _tnOflags _tnOimCast
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_Interval :: T_Annotation ->
String ->
IntervalField ->
(Maybe Int) ->
T_ScalarExpr
_sem_ScalarExpr_Interval ann_ value_ field_ prec_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 11016 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 11022 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 11028 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 11034 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 11045 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 11051 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 283 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Right $ mkTypeExtraNN $ ScalarType "interval"
{-# LINE 11057 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Interval _annIannotatedTree value_ field_ prec_
{-# LINE 11063 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Interval _annIoriginalTree value_ field_ prec_
{-# LINE 11069 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 11075 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 11081 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 11087 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 11093 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_Identifier :: T_Annotation ->
T_Name ->
T_ScalarExpr
_sem_ScalarExpr_Identifier ann_ i_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_lhsOannotatedTree :: ScalarExpr
_iOtpe :: (Either [TypeError] TypeExtra)
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_iOcat :: Catalog
_iOflags :: TypeCheckFlags
_iOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_iIannotatedTree :: Name
_iIoriginalTree :: Name
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 11146 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 11152 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 11158 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 11164 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 11175 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 11181 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elkp =
({-# LINE 326 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
E.envLookupIdentifier (nameComponents _iIoriginalTree) _lhsIdownEnv
{-# LINE 11187 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 327 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
fmap snd _elkp
{-# LINE 11193 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 329 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_annotatedTree
{-# LINE 11199 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 330 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
let t = Identifier _annIannotatedTree _iIannotatedTree
in fromMaybe t $ do
case tcfAddQualifiers _lhsIflags of
False -> Nothing
True -> do
((q,i),_) <- either (const Nothing) Just _elkp
if q /= ""
then
return $ Identifier _annIannotatedTree
(Name emptyAnnotation [Nmc $ T.unpack q, Nmc $ T.unpack i])
else return t
{-# LINE 11215 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_iOtpe =
({-# LINE 350 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Left []
{-# LINE 11221 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Identifier _annIoriginalTree _iIoriginalTree
{-# LINE 11227 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 11233 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 11239 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 11245 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_iOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 11251 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_iOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 11257 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_iOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 11263 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _iIannotatedTree,_iIoriginalTree) =
i_ _iOcat _iOflags _iOimCast _iOtpe
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_Star :: T_Annotation ->
T_ScalarExpr
_sem_ScalarExpr_Star ann_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_tpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 11312 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 11318 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 11324 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 11330 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 11341 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 11347 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 714 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _originalTree of
Star _ ->
E.envExpandStar Nothing _lhsIdownEnv
>>= _starCS
QStar _ q -> do
E.envExpandStar (Just q) _lhsIdownEnv
>>= _starCS
_ -> Left [InternalError "wrong ctor in sem rule for star, qstar in scalarexprs.ag"]
{-# LINE 11360 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_starCS =
({-# LINE 723 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Right . mkTypeExtraNN . CompositeType . map (\((_q,n),t) -> (n,t))
{-# LINE 11366 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Star _annIannotatedTree
{-# LINE 11372 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Star _annIoriginalTree
{-# LINE 11378 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 11384 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 11390 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 11396 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 11402 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_QStar :: T_Annotation ->
NameComponent ->
T_ScalarExpr
_sem_ScalarExpr_QStar ann_ q_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_tpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 11450 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 11456 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 11462 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 11468 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 11479 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 11485 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 714 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _originalTree of
Star _ ->
E.envExpandStar Nothing _lhsIdownEnv
>>= _starCS
QStar _ q -> do
E.envExpandStar (Just q) _lhsIdownEnv
>>= _starCS
_ -> Left [InternalError "wrong ctor in sem rule for star, qstar in scalarexprs.ag"]
{-# LINE 11498 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_starCS =
({-# LINE 723 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Right . mkTypeExtraNN . CompositeType . map (\((_q,n),t) -> (n,t))
{-# LINE 11504 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
QStar _annIannotatedTree q_
{-# LINE 11510 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
QStar _annIoriginalTree q_
{-# LINE 11516 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 11522 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 11528 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 11534 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 11540 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_PositionalArg :: T_Annotation ->
Integer ->
T_ScalarExpr
_sem_ScalarExpr_PositionalArg ann_ p_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 11587 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 11593 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 11599 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 11605 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 11616 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 11622 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 735 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Left []
{-# LINE 11628 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
PositionalArg _annIannotatedTree p_
{-# LINE 11634 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
PositionalArg _annIoriginalTree p_
{-# LINE 11640 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 11646 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 11652 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 11658 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 11664 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_Placeholder :: T_Annotation ->
T_ScalarExpr
_sem_ScalarExpr_Placeholder ann_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 11710 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 11716 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 11722 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 11728 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 11739 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 11745 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 301 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Right $ mkTypeExtraNN UnknownType
{-# LINE 11751 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Placeholder _annIannotatedTree
{-# LINE 11757 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Placeholder _annIoriginalTree
{-# LINE 11763 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 11769 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 11775 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 11781 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 11787 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_PrefixOp :: T_Annotation ->
T_Name ->
T_ScalarExpr ->
T_ScalarExpr
_sem_ScalarExpr_PrefixOp ann_ opName_ arg_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_argOodbcFunction :: Bool
_opNameOtpe :: (Either [TypeError] TypeExtra)
_tpe :: (Either [TypeError] TypeExtra)
_ttpe :: (Either [TypeError] ([TypeExtra],TypeExtra))
_argOexpectedType :: (Maybe TypeExtra)
_argOexpectedCast :: Bool
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_opNameOcat :: Catalog
_opNameOflags :: TypeCheckFlags
_opNameOimCast :: (Maybe TypeExtra)
_argOassignmentCastContext :: Bool
_argOcat :: Catalog
_argOdownEnv :: Environment
_argOflags :: TypeCheckFlags
_argOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_opNameIannotatedTree :: Name
_opNameIoriginalTree :: Name
_argIannotatedTree :: ScalarExpr
_argIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_argIoriginalTree :: ScalarExpr
_argIupType :: (Maybe TypeExtra)
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 11855 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 11861 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 11867 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 11873 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 11884 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 11890 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argOodbcFunction =
({-# LINE 176 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 11896 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_opNameOtpe =
({-# LINE 211 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Left []
{-# LINE 11902 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 365 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
fmap snd _ttpe
{-# LINE 11908 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_ttpe =
({-# LINE 434 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
tcAppLike (tcfDialect _lhsIflags) _lhsIcat (nameComponents _opNameIoriginalTree) (getMaybeIntsFromLiterals [_argIoriginalTree]) [_argIupType]
{-# LINE 11914 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argOexpectedType =
({-# LINE 435 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _ttpe of
Right ([t],_) -> Just t
_ -> Nothing
{-# LINE 11922 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argOexpectedCast =
({-# LINE 457 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 11928 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
PrefixOp _annIannotatedTree _opNameIannotatedTree _argIannotatedTree
{-# LINE 11934 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
PrefixOp _annIoriginalTree _opNameIoriginalTree _argIoriginalTree
{-# LINE 11940 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 11946 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 11952 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 11958 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 11964 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_opNameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 11970 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_opNameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 11976 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_opNameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 11982 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 11988 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 11994 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argOdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 12000 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 12006 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 12012 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _opNameIannotatedTree,_opNameIoriginalTree) =
opName_ _opNameOcat _opNameOflags _opNameOimCast _opNameOtpe
( _argIannotatedTree,_argIcolExprs,_argIoriginalTree,_argIupType) =
arg_ _argOassignmentCastContext _argOcat _argOdownEnv _argOexpectedCast _argOexpectedType _argOflags _argOimCast _argOodbcFunction
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_PostfixOp :: T_Annotation ->
T_Name ->
T_ScalarExpr ->
T_ScalarExpr
_sem_ScalarExpr_PostfixOp ann_ opName_ arg_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_argOodbcFunction :: Bool
_opNameOtpe :: (Either [TypeError] TypeExtra)
_tpe :: (Either [TypeError] TypeExtra)
_ttpe :: (Either [TypeError] ([TypeExtra],TypeExtra))
_argOexpectedType :: (Maybe TypeExtra)
_argOexpectedCast :: Bool
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_opNameOcat :: Catalog
_opNameOflags :: TypeCheckFlags
_opNameOimCast :: (Maybe TypeExtra)
_argOassignmentCastContext :: Bool
_argOcat :: Catalog
_argOdownEnv :: Environment
_argOflags :: TypeCheckFlags
_argOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_opNameIannotatedTree :: Name
_opNameIoriginalTree :: Name
_argIannotatedTree :: ScalarExpr
_argIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_argIoriginalTree :: ScalarExpr
_argIupType :: (Maybe TypeExtra)
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 12084 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 12090 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 12096 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 12102 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 12113 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 12119 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argOodbcFunction =
({-# LINE 176 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 12125 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_opNameOtpe =
({-# LINE 211 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Left []
{-# LINE 12131 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 365 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
fmap snd _ttpe
{-# LINE 12137 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_ttpe =
({-# LINE 434 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
tcAppLike (tcfDialect _lhsIflags) _lhsIcat (nameComponents _opNameIoriginalTree) (getMaybeIntsFromLiterals [_argIoriginalTree]) [_argIupType]
{-# LINE 12143 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argOexpectedType =
({-# LINE 435 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _ttpe of
Right ([t],_) -> Just t
_ -> Nothing
{-# LINE 12151 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argOexpectedCast =
({-# LINE 457 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 12157 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
PostfixOp _annIannotatedTree _opNameIannotatedTree _argIannotatedTree
{-# LINE 12163 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
PostfixOp _annIoriginalTree _opNameIoriginalTree _argIoriginalTree
{-# LINE 12169 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 12175 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 12181 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 12187 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 12193 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_opNameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 12199 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_opNameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 12205 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_opNameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 12211 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 12217 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 12223 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argOdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 12229 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 12235 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 12241 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _opNameIannotatedTree,_opNameIoriginalTree) =
opName_ _opNameOcat _opNameOflags _opNameOimCast _opNameOtpe
( _argIannotatedTree,_argIcolExprs,_argIoriginalTree,_argIupType) =
arg_ _argOassignmentCastContext _argOcat _argOdownEnv _argOexpectedCast _argOexpectedType _argOflags _argOimCast _argOodbcFunction
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_BinaryOp :: T_Annotation ->
T_Name ->
T_ScalarExpr ->
T_ScalarExpr ->
T_ScalarExpr
_sem_ScalarExpr_BinaryOp ann_ opName_ arg0_ arg1_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_arg0OodbcFunction :: Bool
_arg1OodbcFunction :: Bool
_opNameOtpe :: (Either [TypeError] TypeExtra)
_tpe :: (Either [TypeError] TypeExtra)
_ttpe :: (Either [TypeError] ([TypeExtra],TypeExtra))
_arg0OexpectedType :: (Maybe TypeExtra)
_arg1OexpectedType :: (Maybe TypeExtra)
_arg0OexpectedCast :: Bool
_arg1OexpectedCast :: Bool
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_opNameOcat :: Catalog
_opNameOflags :: TypeCheckFlags
_opNameOimCast :: (Maybe TypeExtra)
_arg0OassignmentCastContext :: Bool
_arg0Ocat :: Catalog
_arg0OdownEnv :: Environment
_arg0Oflags :: TypeCheckFlags
_arg0OimCast :: (Maybe TypeExtra)
_arg1OassignmentCastContext :: Bool
_arg1Ocat :: Catalog
_arg1OdownEnv :: Environment
_arg1Oflags :: TypeCheckFlags
_arg1OimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_opNameIannotatedTree :: Name
_opNameIoriginalTree :: Name
_arg0IannotatedTree :: ScalarExpr
_arg0IcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_arg0IoriginalTree :: ScalarExpr
_arg0IupType :: (Maybe TypeExtra)
_arg1IannotatedTree :: ScalarExpr
_arg1IcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_arg1IoriginalTree :: ScalarExpr
_arg1IupType :: (Maybe TypeExtra)
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 12326 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 12332 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 12338 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 12344 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 12355 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 12361 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_arg0OodbcFunction =
({-# LINE 177 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 12367 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_arg1OodbcFunction =
({-# LINE 178 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 12373 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_opNameOtpe =
({-# LINE 211 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Left []
{-# LINE 12379 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 365 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
fmap snd _ttpe
{-# LINE 12385 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_ttpe =
({-# LINE 426 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
tcAppLike (tcfDialect _lhsIflags)
_lhsIcat (nameComponents _opNameIoriginalTree) (getMaybeIntsFromLiterals [_arg0IoriginalTree,_arg1IoriginalTree])
[_arg0IupType,_arg1IupType]
{-# LINE 12393 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
(_arg0OexpectedType,_arg1OexpectedType) =
({-# LINE 429 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _ttpe of
Right ([t0,t1],_) -> (Just t0,Just t1)
_ -> (Nothing,Nothing)
{-# LINE 12401 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_arg0OexpectedCast =
({-# LINE 459 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 12407 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_arg1OexpectedCast =
({-# LINE 460 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 12413 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
BinaryOp _annIannotatedTree _opNameIannotatedTree _arg0IannotatedTree _arg1IannotatedTree
{-# LINE 12419 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
BinaryOp _annIoriginalTree _opNameIoriginalTree _arg0IoriginalTree _arg1IoriginalTree
{-# LINE 12425 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 12431 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 12437 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 12443 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 12449 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_opNameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 12455 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_opNameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 12461 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_opNameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 12467 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_arg0OassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 12473 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_arg0Ocat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 12479 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_arg0OdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 12485 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_arg0Oflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 12491 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_arg0OimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 12497 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_arg1OassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 12503 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_arg1Ocat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 12509 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_arg1OdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 12515 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_arg1Oflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 12521 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_arg1OimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 12527 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _opNameIannotatedTree,_opNameIoriginalTree) =
opName_ _opNameOcat _opNameOflags _opNameOimCast _opNameOtpe
( _arg0IannotatedTree,_arg0IcolExprs,_arg0IoriginalTree,_arg0IupType) =
arg0_ _arg0OassignmentCastContext _arg0Ocat _arg0OdownEnv _arg0OexpectedCast _arg0OexpectedType _arg0Oflags _arg0OimCast _arg0OodbcFunction
( _arg1IannotatedTree,_arg1IcolExprs,_arg1IoriginalTree,_arg1IupType) =
arg1_ _arg1OassignmentCastContext _arg1Ocat _arg1OdownEnv _arg1OexpectedCast _arg1OexpectedType _arg1Oflags _arg1OimCast _arg1OodbcFunction
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_SpecialOp :: T_Annotation ->
T_Name ->
T_ScalarExprList ->
T_ScalarExpr
_sem_ScalarExpr_SpecialOp ann_ opName_ args_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_opNameOtpe :: (Either [TypeError] TypeExtra)
_tpe :: (Either [TypeError] TypeExtra)
_ttpe :: (Either [TypeError] ([TypeExtra],TypeExtra))
_argsOexpectedTypes :: ([TypeExtra])
_argsOexpectedCast :: Bool
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_opNameOcat :: Catalog
_opNameOflags :: TypeCheckFlags
_opNameOimCast :: (Maybe TypeExtra)
_argsOassignmentCastContext :: Bool
_argsOcat :: Catalog
_argsOdownEnv :: Environment
_argsOflags :: TypeCheckFlags
_argsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_opNameIannotatedTree :: Name
_opNameIoriginalTree :: Name
_argsIannotatedTree :: ScalarExprList
_argsIoriginalTree :: ScalarExprList
_argsIupTypes :: ([Maybe TypeExtra])
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 12599 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 12605 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 12611 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 12617 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 12628 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 12634 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_opNameOtpe =
({-# LINE 211 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Left []
{-# LINE 12640 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 365 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
fmap snd _ttpe
{-# LINE 12646 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_ttpe =
({-# LINE 440 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
tcAppLike (tcfDialect _lhsIflags) _lhsIcat (nameComponents _opNameIoriginalTree) (getMaybeIntsFromLiterals _argsIoriginalTree) _argsIupTypes
{-# LINE 12652 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOexpectedTypes =
({-# LINE 441 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const []) id $ fmap fst _ttpe
{-# LINE 12658 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOexpectedCast =
({-# LINE 455 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 12664 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SpecialOp _annIannotatedTree _opNameIannotatedTree _argsIannotatedTree
{-# LINE 12670 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SpecialOp _annIoriginalTree _opNameIoriginalTree _argsIoriginalTree
{-# LINE 12676 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 12682 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 12688 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 12694 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 12700 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_opNameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 12706 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_opNameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 12712 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_opNameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 12718 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 12724 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 12730 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOdownEnv =
({-# LINE 190 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 12736 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 12742 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 12748 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _opNameIannotatedTree,_opNameIoriginalTree) =
opName_ _opNameOcat _opNameOflags _opNameOimCast _opNameOtpe
( _argsIannotatedTree,_argsIoriginalTree,_argsIupTypes) =
args_ _argsOassignmentCastContext _argsOcat _argsOdownEnv _argsOexpectedCast _argsOexpectedTypes _argsOflags _argsOimCast
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_Extract :: T_Annotation ->
ExtractField ->
T_ScalarExpr ->
T_ScalarExpr
_sem_ScalarExpr_Extract ann_ field_ e_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_eOodbcFunction :: Bool
_eOexpectedType :: (Maybe TypeExtra)
_eOexpectedCast :: Bool
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_eOassignmentCastContext :: Bool
_eOcat :: Catalog
_eOdownEnv :: Environment
_eOflags :: TypeCheckFlags
_eOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_eIannotatedTree :: ScalarExpr
_eIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_eIoriginalTree :: ScalarExpr
_eIupType :: (Maybe TypeExtra)
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 12812 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 12818 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 12824 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 12830 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 12841 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 12847 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_eOodbcFunction =
({-# LINE 172 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 12853 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 285 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
do
x <- maybe (Left []) Right _eIupType
if (teType x) `elem` (map ScalarType $ diDatetimeTypes $ tcfDialect _lhsIflags)
then do
i <- ScalarType <$> _dialectTypeName "int"
return $ TypeExtra i Nothing Nothing $ teNullable x
else Left [NoMatchingOperator "extract" [teType x]]
{-# LINE 12865 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_eOexpectedType =
({-# LINE 293 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
do
x <- _eIupType
either (const Nothing)
(Just . TypeExtra (teType x) Nothing Nothing . teNullable)
_tpe
{-# LINE 12875 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_eOexpectedCast =
({-# LINE 299 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 12881 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Extract _annIannotatedTree field_ _eIannotatedTree
{-# LINE 12887 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Extract _annIoriginalTree field_ _eIoriginalTree
{-# LINE 12893 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 12899 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 12905 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 12911 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 12917 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_eOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 12923 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_eOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 12929 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_eOdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 12935 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_eOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 12941 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_eOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 12947 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _eIannotatedTree,_eIcolExprs,_eIoriginalTree,_eIupType) =
e_ _eOassignmentCastContext _eOcat _eOdownEnv _eOexpectedCast _eOexpectedType _eOflags _eOimCast _eOodbcFunction
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_App :: T_Annotation ->
T_Name ->
T_ScalarExprList ->
T_ScalarExpr
_sem_ScalarExpr_App ann_ funName_ args_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_funNameOtpe :: (Either [TypeError] TypeExtra)
_tpe :: (Either [TypeError] TypeExtra)
_argsOexpectedTypes :: ([TypeExtra])
_ttpe :: (Either [TypeError] ([TypeExtra],TypeExtra))
_argsOexpectedCast :: Bool
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_funNameOcat :: Catalog
_funNameOflags :: TypeCheckFlags
_funNameOimCast :: (Maybe TypeExtra)
_argsOassignmentCastContext :: Bool
_argsOcat :: Catalog
_argsOdownEnv :: Environment
_argsOflags :: TypeCheckFlags
_argsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_funNameIannotatedTree :: Name
_funNameIoriginalTree :: Name
_argsIannotatedTree :: ScalarExprList
_argsIoriginalTree :: ScalarExprList
_argsIupTypes :: ([Maybe TypeExtra])
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 13015 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 13021 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 13027 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 13033 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 13044 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 13050 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_funNameOtpe =
({-# LINE 209 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Left []
{-# LINE 13056 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 365 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
fmap snd _ttpe
{-# LINE 13062 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOexpectedTypes =
({-# LINE 367 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const []) id $ fmap fst _ttpe
{-# LINE 13068 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_funName =
({-# LINE 381 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
let y = if _lhsIodbcFunction
then let f [] = []
f [Nmc x] = [Nmc $ "!odbc-" ++ x]
f [QNmc x] = [QNmc $ "!odbc-" ++ x]
f [x] = [x]
f (x:xs) = x:f xs
in (\(Name a nms) -> Name a (f nms)) _funNameIoriginalTree
else _funNameIoriginalTree
in y
{-# LINE 13082 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_ttpe =
({-# LINE 404 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _originalTree of
(App _ (Name _ [Nmc "count"]) [Star _]) ->
tcAppLike (tcfDialect _lhsIflags)
_lhsIcat (nameComponents _funName )
(getMaybeIntsFromLiterals _argsIoriginalTree)
[Just $ mkTypeExtraNN UnknownType]
(App _ (Name _ [Nmc n]) [_,Identifier _ (Name _ [Nmc tyi])])
| _lhsIodbcFunction && map toLower n == "convert" -> do
(ts,_r) <- do
t <- _dialectTypeName "int"
tcAppLike (tcfDialect _lhsIflags)
_lhsIcat (nameComponents _funName ) (getMaybeIntsFromLiterals _argsIoriginalTree)
[Just $ mkTypeExtraNN UnknownType, Just $ mkTypeExtraNN $ ScalarType t]
r' <- maybe (Left [UnrecognisedIdentifier $ T.pack tyi]) (Right . mkTypeExtra)
$ lookup (map toLower tyi) odbcConvertTypes
Right (ts, r')
_ -> tcAppLike (tcfDialect _lhsIflags)
_lhsIcat (nameComponents _funName ) (getMaybeIntsFromLiterals _argsIoriginalTree) _argsIupTypes
{-# LINE 13105 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOexpectedCast =
({-# LINE 455 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 13111 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
App _annIannotatedTree _funNameIannotatedTree _argsIannotatedTree
{-# LINE 13117 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
App _annIoriginalTree _funNameIoriginalTree _argsIoriginalTree
{-# LINE 13123 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 13129 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 13135 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 13141 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 13147 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_funNameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 13153 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_funNameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 13159 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_funNameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 13165 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 13171 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 13177 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOdownEnv =
({-# LINE 190 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 13183 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 13189 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 13195 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _funNameIannotatedTree,_funNameIoriginalTree) =
funName_ _funNameOcat _funNameOflags _funNameOimCast _funNameOtpe
( _argsIannotatedTree,_argsIoriginalTree,_argsIupTypes) =
args_ _argsOassignmentCastContext _argsOcat _argsOdownEnv _argsOexpectedCast _argsOexpectedTypes _argsOflags _argsOimCast
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_AggregateApp :: T_Annotation ->
Distinct ->
T_ScalarExpr ->
T_ScalarExprDirectionPairList ->
T_ScalarExpr
_sem_ScalarExpr_AggregateApp ann_ aggDistinct_ fn_ orderBy_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_fnOodbcFunction :: Bool
_fnOexpectedCast :: Bool
_fnOexpectedType :: (Maybe TypeExtra)
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_fnOassignmentCastContext :: Bool
_fnOcat :: Catalog
_fnOdownEnv :: Environment
_fnOflags :: TypeCheckFlags
_fnOimCast :: (Maybe TypeExtra)
_orderByOcat :: Catalog
_orderByOdownEnv :: Environment
_orderByOflags :: TypeCheckFlags
_orderByOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_fnIannotatedTree :: ScalarExpr
_fnIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_fnIoriginalTree :: ScalarExpr
_fnIupType :: (Maybe TypeExtra)
_orderByIannotatedTree :: ScalarExprDirectionPairList
_orderByIoriginalTree :: ScalarExprDirectionPairList
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 13266 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 13272 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 13278 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 13284 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 13295 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 13301 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOodbcFunction =
({-# LINE 179 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 13307 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 443 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _fnIoriginalTree of
(App _ fnm@(Name _ [Nmc "count"]) [Star _]) ->
fmap snd $ tcAppLike (tcfDialect _lhsIflags) _lhsIcat (nameComponents fnm) [] [Just $ mkTypeExtraNN UnknownType]
_ -> maybe (Left []) Right _fnIupType
{-# LINE 13316 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOexpectedCast =
({-# LINE 462 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 13322 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOexpectedType =
({-# LINE 753 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Nothing
{-# LINE 13328 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AggregateApp _annIannotatedTree aggDistinct_ _fnIannotatedTree _orderByIannotatedTree
{-# LINE 13334 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AggregateApp _annIoriginalTree aggDistinct_ _fnIoriginalTree _orderByIoriginalTree
{-# LINE 13340 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 13346 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 13352 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 13358 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 13364 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 13370 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 13376 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 13382 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 13388 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 13394 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_orderByOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 13400 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_orderByOdownEnv =
({-# LINE 215 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIdownEnv
{-# LINE 13406 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_orderByOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 13412 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_orderByOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 13418 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _fnIannotatedTree,_fnIcolExprs,_fnIoriginalTree,_fnIupType) =
fn_ _fnOassignmentCastContext _fnOcat _fnOdownEnv _fnOexpectedCast _fnOexpectedType _fnOflags _fnOimCast _fnOodbcFunction
( _orderByIannotatedTree,_orderByIoriginalTree) =
orderBy_ _orderByOcat _orderByOdownEnv _orderByOflags _orderByOimCast
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_WindowApp :: T_Annotation ->
T_ScalarExpr ->
T_ScalarExprList ->
T_ScalarExprDirectionPairList ->
(Maybe FrameClause) ->
T_ScalarExpr
_sem_ScalarExpr_WindowApp ann_ fn_ partitionBy_ orderBy_ frm_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_fnOodbcFunction :: Bool
_fnOexpectedCast :: Bool
_partitionByOexpectedCast :: Bool
_fnOexpectedType :: (Maybe TypeExtra)
_partitionByOexpectedTypes :: ([TypeExtra])
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_fnOassignmentCastContext :: Bool
_fnOcat :: Catalog
_fnOdownEnv :: Environment
_fnOflags :: TypeCheckFlags
_fnOimCast :: (Maybe TypeExtra)
_partitionByOassignmentCastContext :: Bool
_partitionByOcat :: Catalog
_partitionByOdownEnv :: Environment
_partitionByOflags :: TypeCheckFlags
_partitionByOimCast :: (Maybe TypeExtra)
_orderByOcat :: Catalog
_orderByOdownEnv :: Environment
_orderByOflags :: TypeCheckFlags
_orderByOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_fnIannotatedTree :: ScalarExpr
_fnIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_fnIoriginalTree :: ScalarExpr
_fnIupType :: (Maybe TypeExtra)
_partitionByIannotatedTree :: ScalarExprList
_partitionByIoriginalTree :: ScalarExprList
_partitionByIupTypes :: ([Maybe TypeExtra])
_orderByIannotatedTree :: ScalarExprDirectionPairList
_orderByIoriginalTree :: ScalarExprDirectionPairList
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 13500 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 13506 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 13512 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 13518 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 13529 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 13535 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOodbcFunction =
({-# LINE 180 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 13541 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 449 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right _fnIupType
{-# LINE 13547 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOexpectedCast =
({-# LINE 462 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 13553 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_partitionByOexpectedCast =
({-# LINE 465 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 13559 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOexpectedType =
({-# LINE 753 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Nothing
{-# LINE 13565 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_partitionByOexpectedTypes =
({-# LINE 775 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
[]
{-# LINE 13571 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
WindowApp _annIannotatedTree _fnIannotatedTree _partitionByIannotatedTree _orderByIannotatedTree frm_
{-# LINE 13577 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
WindowApp _annIoriginalTree _fnIoriginalTree _partitionByIoriginalTree _orderByIoriginalTree frm_
{-# LINE 13583 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 13589 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 13595 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 13601 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 13607 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 13613 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 13619 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 13625 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 13631 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 13637 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_partitionByOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 13643 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_partitionByOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 13649 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_partitionByOdownEnv =
({-# LINE 190 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 13655 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_partitionByOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 13661 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_partitionByOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 13667 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_orderByOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 13673 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_orderByOdownEnv =
({-# LINE 215 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIdownEnv
{-# LINE 13679 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_orderByOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 13685 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_orderByOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 13691 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _fnIannotatedTree,_fnIcolExprs,_fnIoriginalTree,_fnIupType) =
fn_ _fnOassignmentCastContext _fnOcat _fnOdownEnv _fnOexpectedCast _fnOexpectedType _fnOflags _fnOimCast _fnOodbcFunction
( _partitionByIannotatedTree,_partitionByIoriginalTree,_partitionByIupTypes) =
partitionBy_ _partitionByOassignmentCastContext _partitionByOcat _partitionByOdownEnv _partitionByOexpectedCast _partitionByOexpectedTypes _partitionByOflags _partitionByOimCast
( _orderByIannotatedTree,_orderByIoriginalTree) =
orderBy_ _orderByOcat _orderByOdownEnv _orderByOflags _orderByOimCast
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_Cast :: T_Annotation ->
T_ScalarExpr ->
T_TypeName ->
T_ScalarExpr
_sem_ScalarExpr_Cast ann_ expr_ tn_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_exprOodbcFunction :: Bool
_exprOexpectedType :: (Maybe TypeExtra)
_exprOexpectedCast :: Bool
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_exprOassignmentCastContext :: Bool
_exprOcat :: Catalog
_exprOdownEnv :: Environment
_exprOflags :: TypeCheckFlags
_exprOimCast :: (Maybe TypeExtra)
_tnOcat :: Catalog
_tnOflags :: TypeCheckFlags
_tnOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_exprIannotatedTree :: ScalarExpr
_exprIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_exprIoriginalTree :: ScalarExpr
_exprIupType :: (Maybe TypeExtra)
_tnIannotatedTree :: TypeName
_tnInamedType :: (Maybe TypeExtra)
_tnIoriginalTree :: TypeName
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 13763 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 13769 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 13775 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 13781 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 13792 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 13798 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOodbcFunction =
({-# LINE 173 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 13804 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 273 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
let nullability = fromMaybe False $ teNullable <$> _exprIupType
setNullability te = te{teNullable = nullability}
in maybe (Left []) (Right . setNullability) _tnInamedType
{-# LINE 13812 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedType =
({-# LINE 277 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Nothing
{-# LINE 13818 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedCast =
({-# LINE 278 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 13824 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Cast _annIannotatedTree _exprIannotatedTree _tnIannotatedTree
{-# LINE 13830 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Cast _annIoriginalTree _exprIoriginalTree _tnIoriginalTree
{-# LINE 13836 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 13842 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 13848 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 13854 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 13860 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 13866 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 13872 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 13878 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 13884 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 13890 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tnOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 13896 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tnOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 13902 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tnOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 13908 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _exprIannotatedTree,_exprIcolExprs,_exprIoriginalTree,_exprIupType) =
expr_ _exprOassignmentCastContext _exprOcat _exprOdownEnv _exprOexpectedCast _exprOexpectedType _exprOflags _exprOimCast _exprOodbcFunction
( _tnIannotatedTree,_tnInamedType,_tnIoriginalTree) =
tn_ _tnOcat _tnOflags _tnOimCast
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_ImplicitCast :: T_Annotation ->
T_ScalarExpr ->
TypeExtra ->
T_ScalarExpr
_sem_ScalarExpr_ImplicitCast ann_ expr_ te_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_exprOodbcFunction :: Bool
_exprOexpectedType :: (Maybe TypeExtra)
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_exprOassignmentCastContext :: Bool
_exprOcat :: Catalog
_exprOdownEnv :: Environment
_exprOexpectedCast :: Bool
_exprOflags :: TypeCheckFlags
_exprOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_exprIannotatedTree :: ScalarExpr
_exprIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_exprIoriginalTree :: ScalarExpr
_exprIupType :: (Maybe TypeExtra)
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 13972 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 13978 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 13984 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 13990 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 14001 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 14007 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOodbcFunction =
({-# LINE 174 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 14013 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 280 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Right te_
{-# LINE 14019 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedType =
({-# LINE 281 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Nothing
{-# LINE 14025 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ImplicitCast _annIannotatedTree _exprIannotatedTree te_
{-# LINE 14031 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ImplicitCast _annIoriginalTree _exprIoriginalTree te_
{-# LINE 14037 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 14043 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 14049 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 14055 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 14061 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 14067 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 14073 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 14079 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedCast =
({-# LINE 111 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIexpectedCast
{-# LINE 14085 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 14091 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 14097 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _exprIannotatedTree,_exprIcolExprs,_exprIoriginalTree,_exprIupType) =
expr_ _exprOassignmentCastContext _exprOcat _exprOdownEnv _exprOexpectedCast _exprOexpectedType _exprOflags _exprOimCast _exprOodbcFunction
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_Case :: T_Annotation ->
T_CaseScalarExprListScalarExprPairList ->
T_MaybeScalarExpr ->
T_ScalarExpr
_sem_ScalarExpr_Case ann_ cases_ els_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_casesOwhenExpectedType :: (Maybe TypeExtra)
_casesOthenExpectedType :: (Maybe TypeExtra)
_elsOexpectedType :: (Maybe TypeExtra)
_elsOexpectedCast :: Bool
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_casesOcat :: Catalog
_casesOdownEnv :: Environment
_casesOflags :: TypeCheckFlags
_casesOimCast :: (Maybe TypeExtra)
_elsOassignmentCastContext :: Bool
_elsOcat :: Catalog
_elsOdownEnv :: Environment
_elsOflags :: TypeCheckFlags
_elsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_casesIannotatedTree :: CaseScalarExprListScalarExprPairList
_casesIoriginalTree :: CaseScalarExprListScalarExprPairList
_casesIthenTypes :: ([Maybe TypeExtra])
_casesIupTypes :: ([Maybe TypeExtra])
_casesIwhenTypes :: ([[Maybe TypeExtra]])
_elsIannotatedTree :: MaybeScalarExpr
_elsIoriginalTree :: MaybeScalarExpr
_elsIupType :: (Maybe TypeExtra)
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 14168 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 14174 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 14180 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 14186 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 14197 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 14203 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_whenTypes =
({-# LINE 559 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_casesIwhenTypes
{-# LINE 14209 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_thenTypes =
({-# LINE 560 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_casesIthenTypes ++ maybe [] ((:[]) . Just) _elsIupType
{-# LINE 14215 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 562 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
do
wt <- mapM (maybe (Left []) Right) $ concat _whenTypes
bt <- ScalarType <$> _dialectTypeName "boolean"
when (any ((/= bt) . teType) wt)
$ Left [WrongTypes bt $ map teType wt]
tt <- mapM (maybe (Left []) Right) _thenTypes
tse <- resolveResultSetTypeExtra _lhsIcat tt
return $ if isNothing _elsIoriginalTree
then tse{teNullable=True}
else tse
{-# LINE 14230 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_casesOwhenExpectedType =
({-# LINE 574 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
do
ws <- sequence $ concat _whenTypes
w <- either (const Nothing) Just $ resolveResultSetTypeExtra _lhsIcat ws
bt <- ScalarType <$> either (const Nothing) Just (_dialectTypeName "boolean")
Just $ TypeExtra bt Nothing Nothing $ teNullable w
{-# LINE 14240 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_casesOthenExpectedType =
({-# LINE 580 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 14246 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOexpectedType =
({-# LINE 581 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 14252 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOexpectedCast =
({-# LINE 582 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
True
{-# LINE 14258 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Case _annIannotatedTree _casesIannotatedTree _elsIannotatedTree
{-# LINE 14264 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Case _annIoriginalTree _casesIoriginalTree _elsIoriginalTree
{-# LINE 14270 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 14276 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 14282 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 14288 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 14294 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_casesOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 14300 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_casesOdownEnv =
({-# LINE 554 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 14306 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_casesOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 14312 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_casesOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 14318 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 14324 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 14330 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 14336 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 14342 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 14348 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _casesIannotatedTree,_casesIoriginalTree,_casesIthenTypes,_casesIupTypes,_casesIwhenTypes) =
cases_ _casesOcat _casesOdownEnv _casesOflags _casesOimCast _casesOthenExpectedType _casesOwhenExpectedType
( _elsIannotatedTree,_elsIoriginalTree,_elsIupType) =
els_ _elsOassignmentCastContext _elsOcat _elsOdownEnv _elsOexpectedCast _elsOexpectedType _elsOflags _elsOimCast
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_CaseSimple :: T_Annotation ->
T_ScalarExpr ->
T_CaseScalarExprListScalarExprPairList ->
T_MaybeScalarExpr ->
T_ScalarExpr
_sem_ScalarExpr_CaseSimple ann_ value_ cases_ els_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_valueOodbcFunction :: Bool
_casesOwhenExpectedType :: (Maybe TypeExtra)
_valueOexpectedType :: (Maybe TypeExtra)
_valueOexpectedCast :: Bool
_casesOthenExpectedType :: (Maybe TypeExtra)
_elsOexpectedType :: (Maybe TypeExtra)
_elsOexpectedCast :: Bool
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_valueOassignmentCastContext :: Bool
_valueOcat :: Catalog
_valueOdownEnv :: Environment
_valueOflags :: TypeCheckFlags
_valueOimCast :: (Maybe TypeExtra)
_casesOcat :: Catalog
_casesOdownEnv :: Environment
_casesOflags :: TypeCheckFlags
_casesOimCast :: (Maybe TypeExtra)
_elsOassignmentCastContext :: Bool
_elsOcat :: Catalog
_elsOdownEnv :: Environment
_elsOflags :: TypeCheckFlags
_elsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_valueIannotatedTree :: ScalarExpr
_valueIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_valueIoriginalTree :: ScalarExpr
_valueIupType :: (Maybe TypeExtra)
_casesIannotatedTree :: CaseScalarExprListScalarExprPairList
_casesIoriginalTree :: CaseScalarExprListScalarExprPairList
_casesIthenTypes :: ([Maybe TypeExtra])
_casesIupTypes :: ([Maybe TypeExtra])
_casesIwhenTypes :: ([[Maybe TypeExtra]])
_elsIannotatedTree :: MaybeScalarExpr
_elsIoriginalTree :: MaybeScalarExpr
_elsIupType :: (Maybe TypeExtra)
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 14434 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 14440 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 14446 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 14452 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 14463 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 14469 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOodbcFunction =
({-# LINE 175 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 14475 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_whenTypes =
({-# LINE 559 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_casesIwhenTypes
{-# LINE 14481 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_thenTypes =
({-# LINE 560 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_casesIthenTypes ++ maybe [] ((:[]) . Just) _elsIupType
{-# LINE 14487 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_whent =
({-# LINE 584 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
do
wt <- mapM (maybe (Left []) Right) $ concat _whenTypes
vt <- maybe (Left []) Right _valueIupType
resolveResultSetTypeExtra _lhsIcat (vt : wt)
{-# LINE 14496 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 589 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
do
_ <- _whent
tt <- mapM (maybe (Left []) Right) _thenTypes
resolveResultSetTypeExtra _lhsIcat tt
{-# LINE 14505 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_casesOwhenExpectedType =
({-# LINE 594 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _whent
{-# LINE 14511 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOexpectedType =
({-# LINE 595 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _whent
{-# LINE 14517 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOexpectedCast =
({-# LINE 596 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 14523 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_casesOthenExpectedType =
({-# LINE 597 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 14529 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOexpectedType =
({-# LINE 598 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 14535 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOexpectedCast =
({-# LINE 599 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
True
{-# LINE 14541 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CaseSimple _annIannotatedTree _valueIannotatedTree _casesIannotatedTree _elsIannotatedTree
{-# LINE 14547 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CaseSimple _annIoriginalTree _valueIoriginalTree _casesIoriginalTree _elsIoriginalTree
{-# LINE 14553 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 14559 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 14565 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 14571 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 14577 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 14583 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 14589 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 14595 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 14601 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 14607 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_casesOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 14613 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_casesOdownEnv =
({-# LINE 554 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 14619 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_casesOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 14625 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_casesOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 14631 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 14637 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 14643 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 14649 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 14655 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 14661 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _valueIannotatedTree,_valueIcolExprs,_valueIoriginalTree,_valueIupType) =
value_ _valueOassignmentCastContext _valueOcat _valueOdownEnv _valueOexpectedCast _valueOexpectedType _valueOflags _valueOimCast _valueOodbcFunction
( _casesIannotatedTree,_casesIoriginalTree,_casesIthenTypes,_casesIupTypes,_casesIwhenTypes) =
cases_ _casesOcat _casesOdownEnv _casesOflags _casesOimCast _casesOthenExpectedType _casesOwhenExpectedType
( _elsIannotatedTree,_elsIoriginalTree,_elsIupType) =
els_ _elsOassignmentCastContext _elsOcat _elsOdownEnv _elsOexpectedCast _elsOexpectedType _elsOflags _elsOimCast
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_Parens :: T_Annotation ->
T_ScalarExpr ->
T_ScalarExpr
_sem_ScalarExpr_Parens ann_ ex_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_exOodbcFunction :: Bool
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_exOassignmentCastContext :: Bool
_exOcat :: Catalog
_exOdownEnv :: Environment
_exOexpectedCast :: Bool
_exOexpectedType :: (Maybe TypeExtra)
_exOflags :: TypeCheckFlags
_exOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_exIannotatedTree :: ScalarExpr
_exIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_exIoriginalTree :: ScalarExpr
_exIupType :: (Maybe TypeExtra)
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 14726 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 14732 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 14738 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 14744 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 14755 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 14761 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOodbcFunction =
({-# LINE 182 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 14767 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 615 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right _exIupType
{-# LINE 14773 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Parens _annIannotatedTree _exIannotatedTree
{-# LINE 14779 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Parens _annIoriginalTree _exIoriginalTree
{-# LINE 14785 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 14791 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 14797 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 14803 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 14809 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 14815 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 14821 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 14827 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOexpectedCast =
({-# LINE 111 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIexpectedCast
{-# LINE 14833 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOexpectedType =
({-# LINE 110 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIexpectedType
{-# LINE 14839 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 14845 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 14851 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _exIannotatedTree,_exIcolExprs,_exIoriginalTree,_exIupType) =
ex_ _exOassignmentCastContext _exOcat _exOdownEnv _exOexpectedCast _exOexpectedType _exOflags _exOimCast _exOodbcFunction
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_InPredicate :: T_Annotation ->
T_ScalarExpr ->
Bool ->
T_InList ->
T_ScalarExpr
_sem_ScalarExpr_InPredicate ann_ expr_ i_ list_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_exprOodbcFunction :: Bool
_rt :: (Either [TypeError] TypeExtra)
_listOexpectedType :: (Maybe TypeExtra)
_exprOexpectedType :: (Maybe TypeExtra)
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_exprOassignmentCastContext :: Bool
_exprOcat :: Catalog
_exprOdownEnv :: Environment
_exprOexpectedCast :: Bool
_exprOflags :: TypeCheckFlags
_exprOimCast :: (Maybe TypeExtra)
_listOcat :: Catalog
_listOdownEnv :: Environment
_listOexpectedCast :: Bool
_listOflags :: TypeCheckFlags
_listOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_exprIannotatedTree :: ScalarExpr
_exprIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_exprIoriginalTree :: ScalarExpr
_exprIupType :: (Maybe TypeExtra)
_listIannotatedTree :: InList
_listIlistType :: (Either [TypeError] TypeExtra)
_listIoriginalTree :: InList
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 14924 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 14930 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 14936 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 14942 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 14953 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 14959 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOodbcFunction =
({-# LINE 181 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 14965 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_rt =
({-# LINE 669 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
do
lt <- _listIlistType
expt <- maybe (Left []) Right _exprIupType
resolveResultSetTypeExtra _lhsIcat [expt, lt]
{-# LINE 14974 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 673 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
do
r <- _rt
bt <- ScalarType <$> _dialectTypeName "boolean"
return $ TypeExtra bt Nothing Nothing $ teNullable r
{-# LINE 14983 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_listOexpectedType =
({-# LINE 677 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _rt
{-# LINE 14989 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedType =
({-# LINE 678 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _rt
{-# LINE 14995 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
InPredicate _annIannotatedTree _exprIannotatedTree i_ _listIannotatedTree
{-# LINE 15001 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
InPredicate _annIoriginalTree _exprIoriginalTree i_ _listIoriginalTree
{-# LINE 15007 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 15013 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 15019 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 15025 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 15031 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 15037 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 15043 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 15049 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedCast =
({-# LINE 111 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIexpectedCast
{-# LINE 15055 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 15061 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 15067 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_listOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 15073 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_listOdownEnv =
({-# LINE 215 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIdownEnv
{-# LINE 15079 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_listOexpectedCast =
({-# LINE 662 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIexpectedCast
{-# LINE 15085 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_listOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 15091 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_listOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 15097 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _exprIannotatedTree,_exprIcolExprs,_exprIoriginalTree,_exprIupType) =
expr_ _exprOassignmentCastContext _exprOcat _exprOdownEnv _exprOexpectedCast _exprOexpectedType _exprOflags _exprOimCast _exprOodbcFunction
( _listIannotatedTree,_listIlistType,_listIoriginalTree) =
list_ _listOcat _listOdownEnv _listOexpectedCast _listOexpectedType _listOflags _listOimCast
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_Exists :: T_Annotation ->
T_QueryExpr ->
T_ScalarExpr
_sem_ScalarExpr_Exists ann_ sel_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_selOouterDownEnv :: (Maybe Environment)
_selOexpectedType :: (Maybe [TypeExtra])
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_selOassignmentCastContext :: Bool
_selOcat :: Catalog
_selOflags :: TypeCheckFlags
_selOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_selIannotatedTree :: QueryExpr
_selIoriginalTree :: QueryExpr
_selIupType :: (Maybe [(Text,TypeExtra)])
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 15157 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 15163 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 15169 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 15175 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 15186 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 15192 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 628 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
(mkTypeExtraNN . ScalarType) <$> (_dialectTypeName "boolean")
{-# LINE 15198 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOouterDownEnv =
({-# LINE 650 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Just _lhsIdownEnv
{-# LINE 15204 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOexpectedType =
({-# LINE 652 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
liftM (map snd) _selIupType
{-# LINE 15210 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Exists _annIannotatedTree _selIannotatedTree
{-# LINE 15216 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Exists _annIoriginalTree _selIoriginalTree
{-# LINE 15222 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 15228 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 15234 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 15240 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 15246 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 15252 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 15258 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 15264 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 15270 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _selIannotatedTree,_selIoriginalTree,_selIupType) =
sel_ _selOassignmentCastContext _selOcat _selOexpectedType _selOflags _selOimCast _selOouterDownEnv
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_ScalarSubQuery :: T_Annotation ->
T_QueryExpr ->
T_ScalarExpr
_sem_ScalarExpr_ScalarSubQuery ann_ sel_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_selOouterDownEnv :: (Maybe Environment)
_selOexpectedType :: (Maybe [TypeExtra])
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_selOassignmentCastContext :: Bool
_selOcat :: Catalog
_selOflags :: TypeCheckFlags
_selOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_selIannotatedTree :: QueryExpr
_selIoriginalTree :: QueryExpr
_selIupType :: (Maybe [(Text,TypeExtra)])
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 15328 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 15334 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 15340 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 15346 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 15357 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 15363 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 638 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
do
selType <- maybe (Left []) Right _selIupType
case length selType of
0 -> Left [InternalError "no columns in scalar subquery?"]
1 -> Right $ snd $ head selType
_ -> Right $ mkTypeExtra $ AnonymousCompositeType
$ map (teType . snd) selType
{-# LINE 15375 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOouterDownEnv =
({-# LINE 648 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Just _lhsIdownEnv
{-# LINE 15381 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOexpectedType =
({-# LINE 652 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
liftM (map snd) _selIupType
{-# LINE 15387 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ScalarSubQuery _annIannotatedTree _selIannotatedTree
{-# LINE 15393 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ScalarSubQuery _annIoriginalTree _selIoriginalTree
{-# LINE 15399 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 15405 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 15411 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 15417 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 15423 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 15429 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 15435 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 15441 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 15447 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _selIannotatedTree,_selIoriginalTree,_selIupType) =
sel_ _selOassignmentCastContext _selOcat _selOexpectedType _selOflags _selOimCast _selOouterDownEnv
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_LiftApp :: T_Annotation ->
T_Name ->
LiftFlavour ->
T_ScalarExprList ->
T_ScalarExpr
_sem_ScalarExpr_LiftApp ann_ oper_ flav_ args_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_argsOexpectedCast :: Bool
_argsOexpectedTypes :: ([TypeExtra])
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_operOcat :: Catalog
_operOflags :: TypeCheckFlags
_operOimCast :: (Maybe TypeExtra)
_operOtpe :: (Either [TypeError] TypeExtra)
_argsOassignmentCastContext :: Bool
_argsOcat :: Catalog
_argsOdownEnv :: Environment
_argsOflags :: TypeCheckFlags
_argsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_operIannotatedTree :: Name
_operIoriginalTree :: Name
_argsIannotatedTree :: ScalarExprList
_argsIoriginalTree :: ScalarExprList
_argsIupTypes :: ([Maybe TypeExtra])
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 15514 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 15520 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 15526 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 15532 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 15543 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 15549 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOexpectedCast =
({-# LINE 455 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 15555 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 735 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Left []
{-# LINE 15561 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOexpectedTypes =
({-# LINE 772 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
[]
{-# LINE 15567 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
LiftApp _annIannotatedTree _operIannotatedTree flav_ _argsIannotatedTree
{-# LINE 15573 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
LiftApp _annIoriginalTree _operIoriginalTree flav_ _argsIoriginalTree
{-# LINE 15579 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 15585 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 15591 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 15597 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 15603 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_operOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 15609 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_operOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 15615 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_operOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 15621 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_operOtpe =
({-# LINE 46 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
_tpe
{-# LINE 15627 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 15633 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 15639 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOdownEnv =
({-# LINE 190 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 15645 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 15651 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 15657 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _operIannotatedTree,_operIoriginalTree) =
oper_ _operOcat _operOflags _operOimCast _operOtpe
( _argsIannotatedTree,_argsIoriginalTree,_argsIupTypes) =
args_ _argsOassignmentCastContext _argsOcat _argsOdownEnv _argsOexpectedCast _argsOexpectedTypes _argsOflags _argsOimCast
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_OdbcLiteral :: T_Annotation ->
OdbcLiteralType ->
String ->
T_ScalarExpr
_sem_ScalarExpr_OdbcLiteral ann_ olt_ val_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 15709 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 15715 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 15721 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 15727 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 15738 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 15744 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 307 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case olt_ of
OLDate -> (mkTypeExtra . ScalarType) <$> _dialectTypeName "date"
OLTime -> (mkTypeExtra . ScalarType) <$> _dialectTypeName "time"
OLTimestamp -> (mkTypeExtra . ScalarType) <$> _dialectTypeName "timestamp"
{-# LINE 15753 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
OdbcLiteral _annIannotatedTree olt_ val_
{-# LINE 15759 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
OdbcLiteral _annIoriginalTree olt_ val_
{-# LINE 15765 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 15771 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 15777 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 15783 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 15789 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_OdbcFunc :: T_Annotation ->
T_ScalarExpr ->
T_ScalarExpr
_sem_ScalarExpr_OdbcFunc ann_ ex_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe TypeExtra)
_annOimCast :: (Maybe TypeExtra)
_dialectTypeName :: (Text -> Either [TypeError] Text)
_exOodbcFunction :: Bool
_exOcat :: Catalog
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_exOassignmentCastContext :: Bool
_exOdownEnv :: Environment
_exOexpectedCast :: Bool
_exOexpectedType :: (Maybe TypeExtra)
_exOflags :: TypeCheckFlags
_exOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_exIannotatedTree :: ScalarExpr
_exIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_exIoriginalTree :: ScalarExpr
_exIupType :: (Maybe TypeExtra)
_lhsOcolExprs =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
let a = _annIoriginalTree
doStar is =
map (\((q,n),t) ->
let a' = a {anType = Just t}
in (Nmc $ T.unpack n, Just t,
Identifier a' $ Name a'
$ [Nmc q' | let q' = T.unpack q, not $ null q']
++ [Nmc $ T.unpack n])
) is
in case _originalTree of
Star _ | Right is <- E.envExpandStar Nothing _lhsIdownEnv ->
doStar is
QStar _ q | Right is <- E.envExpandStar (Just q) _lhsIdownEnv ->
doStar is
_ ->
[(columnName _originalTree,_upType,_annotatedTree)]
{-# LINE 15848 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_tpe
{-# LINE 15854 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 15860 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_upType
{-# LINE 15866 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _upType of
Nothing -> _lhsIexpectedType
Just upType -> do
expType <- _lhsIexpectedType
guard $ needsImplicitCast _lhsIexpectedCast upType expType
return $ implicitCastType _lhsIexpectedCast upType expType
{-# LINE 15877 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_dialectTypeName =
({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)
{-# LINE 15883 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOodbcFunction =
({-# LINE 183 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
True
{-# LINE 15889 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOcat =
({-# LINE 313 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
id _lhsIcat
{-# LINE 15895 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 314 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _exIoriginalTree of
Extract {} -> maybe (Left []) Right _exIupType
App {} -> maybe (Left []) Right _exIupType
_ -> Left [OdbcFuncBadContent]
{-# LINE 15904 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
OdbcFunc _annIannotatedTree _exIannotatedTree
{-# LINE 15910 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
OdbcFunc _annIoriginalTree _exIoriginalTree
{-# LINE 15916 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 15922 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 15928 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 15934 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 15940 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 15946 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 15952 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOexpectedCast =
({-# LINE 111 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIexpectedCast
{-# LINE 15958 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOexpectedType =
({-# LINE 110 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIexpectedType
{-# LINE 15964 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 15970 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 15976 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _exIannotatedTree,_exIcolExprs,_exIoriginalTree,_exIupType) =
ex_ _exOassignmentCastContext _exOcat _exOdownEnv _exOexpectedCast _exOexpectedType _exOflags _exOimCast _exOodbcFunction
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExpr_AntiScalarExpr :: String ->
T_ScalarExpr
_sem_ScalarExpr_AntiScalarExpr string_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast
_lhsIodbcFunction ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_lhsOupType :: (Maybe TypeExtra)
_lhsOannotatedTree :: ScalarExpr
_lhsOoriginalTree :: ScalarExpr
_lhsOcolExprs =
({-# LINE 232 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
[(Nmc "?anti?",Nothing,_originalTree)]
{-# LINE 16002 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 102 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 16008 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 735 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Left []
{-# LINE 16014 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AntiScalarExpr string_
{-# LINE 16020 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AntiScalarExpr string_
{-# LINE 16026 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 16032 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 16038 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))
type ScalarExprDirectionPair = ( ScalarExpr,(Direction),(NullsOrder))
_sem_ScalarExprDirectionPair :: ScalarExprDirectionPair ->
T_ScalarExprDirectionPair
_sem_ScalarExprDirectionPair ( x1,x2,x3) =
(_sem_ScalarExprDirectionPair_Tuple (_sem_ScalarExpr x1) x2 x3)
type T_ScalarExprDirectionPair = Catalog ->
Environment ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( ScalarExprDirectionPair,ScalarExprDirectionPair)
data Inh_ScalarExprDirectionPair = Inh_ScalarExprDirectionPair {_cat_Inh_ScalarExprDirectionPair :: Catalog,_downEnv_Inh_ScalarExprDirectionPair :: Environment,_flags_Inh_ScalarExprDirectionPair :: TypeCheckFlags,_imCast_Inh_ScalarExprDirectionPair :: (Maybe TypeExtra)}
data Syn_ScalarExprDirectionPair = Syn_ScalarExprDirectionPair {_annotatedTree_Syn_ScalarExprDirectionPair :: ScalarExprDirectionPair,_originalTree_Syn_ScalarExprDirectionPair :: ScalarExprDirectionPair}
_wrap_ScalarExprDirectionPair :: T_ScalarExprDirectionPair ->
Inh_ScalarExprDirectionPair ->
Syn_ScalarExprDirectionPair
_wrap_ScalarExprDirectionPair sem (Inh_ScalarExprDirectionPair _lhsIcat _lhsIdownEnv _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIdownEnv _lhsIflags _lhsIimCast
in (Syn_ScalarExprDirectionPair _lhsOannotatedTree _lhsOoriginalTree))
_sem_ScalarExprDirectionPair_Tuple :: T_ScalarExpr ->
Direction ->
NullsOrder ->
T_ScalarExprDirectionPair
_sem_ScalarExprDirectionPair_Tuple x1_ x2_ x3_ =
(\ _lhsIcat
_lhsIdownEnv
_lhsIflags
_lhsIimCast ->
(let _x1OexpectedCast :: Bool
_x1OodbcFunction :: Bool
_x1OexpectedType :: (Maybe TypeExtra)
_x1OassignmentCastContext :: Bool
_lhsOannotatedTree :: ScalarExprDirectionPair
_lhsOoriginalTree :: ScalarExprDirectionPair
_x1Ocat :: Catalog
_x1OdownEnv :: Environment
_x1Oflags :: TypeCheckFlags
_x1OimCast :: (Maybe TypeExtra)
_x1IannotatedTree :: ScalarExpr
_x1IcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_x1IoriginalTree :: ScalarExpr
_x1IupType :: (Maybe TypeExtra)
_x1OexpectedCast =
({-# LINE 93 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 16108 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1OodbcFunction =
({-# LINE 153 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 16114 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1OexpectedType =
({-# LINE 758 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Nothing
{-# LINE 16120 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1OassignmentCastContext =
({-# LINE 818 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 16126 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(_x1IannotatedTree,x2_,x3_)
{-# LINE 16132 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(_x1IoriginalTree,x2_,x3_)
{-# LINE 16138 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 16144 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 16150 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1Ocat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 16156 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1OdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 16162 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1Oflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 16168 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1OimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 16174 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _x1IannotatedTree,_x1IcolExprs,_x1IoriginalTree,_x1IupType) =
x1_ _x1OassignmentCastContext _x1Ocat _x1OdownEnv _x1OexpectedCast _x1OexpectedType _x1Oflags _x1OimCast _x1OodbcFunction
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type ScalarExprDirectionPairList = [ScalarExprDirectionPair]
_sem_ScalarExprDirectionPairList :: ScalarExprDirectionPairList ->
T_ScalarExprDirectionPairList
_sem_ScalarExprDirectionPairList list =
(Prelude.foldr _sem_ScalarExprDirectionPairList_Cons _sem_ScalarExprDirectionPairList_Nil (Prelude.map _sem_ScalarExprDirectionPair list))
type T_ScalarExprDirectionPairList = Catalog ->
Environment ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( ScalarExprDirectionPairList,ScalarExprDirectionPairList)
data Inh_ScalarExprDirectionPairList = Inh_ScalarExprDirectionPairList {_cat_Inh_ScalarExprDirectionPairList :: Catalog,_downEnv_Inh_ScalarExprDirectionPairList :: Environment,_flags_Inh_ScalarExprDirectionPairList :: TypeCheckFlags,_imCast_Inh_ScalarExprDirectionPairList :: (Maybe TypeExtra)}
data Syn_ScalarExprDirectionPairList = Syn_ScalarExprDirectionPairList {_annotatedTree_Syn_ScalarExprDirectionPairList :: ScalarExprDirectionPairList,_originalTree_Syn_ScalarExprDirectionPairList :: ScalarExprDirectionPairList}
_wrap_ScalarExprDirectionPairList :: T_ScalarExprDirectionPairList ->
Inh_ScalarExprDirectionPairList ->
Syn_ScalarExprDirectionPairList
_wrap_ScalarExprDirectionPairList sem (Inh_ScalarExprDirectionPairList _lhsIcat _lhsIdownEnv _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIdownEnv _lhsIflags _lhsIimCast
in (Syn_ScalarExprDirectionPairList _lhsOannotatedTree _lhsOoriginalTree))
_sem_ScalarExprDirectionPairList_Cons :: T_ScalarExprDirectionPair ->
T_ScalarExprDirectionPairList ->
T_ScalarExprDirectionPairList
_sem_ScalarExprDirectionPairList_Cons hd_ tl_ =
(\ _lhsIcat
_lhsIdownEnv
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: ScalarExprDirectionPairList
_lhsOoriginalTree :: ScalarExprDirectionPairList
_hdOcat :: Catalog
_hdOdownEnv :: Environment
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_tlOcat :: Catalog
_tlOdownEnv :: Environment
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_hdIannotatedTree :: ScalarExprDirectionPair
_hdIoriginalTree :: ScalarExprDirectionPair
_tlIannotatedTree :: ScalarExprDirectionPairList
_tlIoriginalTree :: ScalarExprDirectionPairList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 16248 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 16254 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 16260 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 16266 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 16272 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOdownEnv =
({-# LINE 215 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIdownEnv
{-# LINE 16278 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 16284 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 16290 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 16296 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOdownEnv =
({-# LINE 215 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIdownEnv
{-# LINE 16302 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 16308 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 16314 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdIoriginalTree) =
hd_ _hdOcat _hdOdownEnv _hdOflags _hdOimCast
( _tlIannotatedTree,_tlIoriginalTree) =
tl_ _tlOcat _tlOdownEnv _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_ScalarExprDirectionPairList_Nil :: T_ScalarExprDirectionPairList
_sem_ScalarExprDirectionPairList_Nil =
(\ _lhsIcat
_lhsIdownEnv
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: ScalarExprDirectionPairList
_lhsOoriginalTree :: ScalarExprDirectionPairList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 16333 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 16339 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 16345 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 16351 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type ScalarExprList = [ScalarExpr]
_sem_ScalarExprList :: ScalarExprList ->
T_ScalarExprList
_sem_ScalarExprList list =
(Prelude.foldr _sem_ScalarExprList_Cons _sem_ScalarExprList_Nil (Prelude.map _sem_ScalarExpr list))
type T_ScalarExprList = Bool ->
Catalog ->
Environment ->
Bool ->
([TypeExtra]) ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( ScalarExprList,ScalarExprList,([Maybe TypeExtra]))
data Inh_ScalarExprList = Inh_ScalarExprList {_assignmentCastContext_Inh_ScalarExprList :: Bool,_cat_Inh_ScalarExprList :: Catalog,_downEnv_Inh_ScalarExprList :: Environment,_expectedCast_Inh_ScalarExprList :: Bool,_expectedTypes_Inh_ScalarExprList :: ([TypeExtra]),_flags_Inh_ScalarExprList :: TypeCheckFlags,_imCast_Inh_ScalarExprList :: (Maybe TypeExtra)}
data Syn_ScalarExprList = Syn_ScalarExprList {_annotatedTree_Syn_ScalarExprList :: ScalarExprList,_originalTree_Syn_ScalarExprList :: ScalarExprList,_upTypes_Syn_ScalarExprList :: ([Maybe TypeExtra])}
_wrap_ScalarExprList :: T_ScalarExprList ->
Inh_ScalarExprList ->
Syn_ScalarExprList
_wrap_ScalarExprList sem (Inh_ScalarExprList _lhsIassignmentCastContext _lhsIcat _lhsIdownEnv _lhsIexpectedCast _lhsIexpectedTypes _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupTypes) = sem _lhsIassignmentCastContext _lhsIcat _lhsIdownEnv _lhsIexpectedCast _lhsIexpectedTypes _lhsIflags _lhsIimCast
in (Syn_ScalarExprList _lhsOannotatedTree _lhsOoriginalTree _lhsOupTypes))
_sem_ScalarExprList_Cons :: T_ScalarExpr ->
T_ScalarExprList ->
T_ScalarExprList
_sem_ScalarExprList_Cons hd_ tl_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedTypes
_lhsIflags
_lhsIimCast ->
(let _hdOodbcFunction :: Bool
_lhsOupTypes :: ([Maybe TypeExtra])
_hdOexpectedType :: (Maybe TypeExtra)
_tlOexpectedTypes :: ([TypeExtra])
_hdOexpectedCast :: Bool
_lhsOannotatedTree :: ScalarExprList
_lhsOoriginalTree :: ScalarExprList
_hdOassignmentCastContext :: Bool
_hdOcat :: Catalog
_hdOdownEnv :: Environment
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_tlOassignmentCastContext :: Bool
_tlOcat :: Catalog
_tlOdownEnv :: Environment
_tlOexpectedCast :: Bool
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_hdIannotatedTree :: ScalarExpr
_hdIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_hdIoriginalTree :: ScalarExpr
_hdIupType :: (Maybe TypeExtra)
_tlIannotatedTree :: ScalarExprList
_tlIoriginalTree :: ScalarExprList
_tlIupTypes :: ([Maybe TypeExtra])
_hdOodbcFunction =
({-# LINE 156 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 16444 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupTypes =
({-# LINE 197 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_hdIupType : _tlIupTypes
{-# LINE 16450 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
(_hdOexpectedType,_tlOexpectedTypes) =
({-# LINE 198 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
case _lhsIexpectedTypes of
(x:xs) -> (Just x,xs)
[] -> (Nothing,[])
{-# LINE 16458 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOexpectedCast =
({-# LINE 202 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIexpectedCast
{-# LINE 16464 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 16470 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 16476 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 16482 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 16488 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 16494 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 16500 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 16506 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 16512 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 16518 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 16524 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 16530 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOdownEnv =
({-# LINE 190 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 16536 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOexpectedCast =
({-# LINE 193 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIexpectedCast
{-# LINE 16542 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 16548 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 16554 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdIcolExprs,_hdIoriginalTree,_hdIupType) =
hd_ _hdOassignmentCastContext _hdOcat _hdOdownEnv _hdOexpectedCast _hdOexpectedType _hdOflags _hdOimCast _hdOodbcFunction
( _tlIannotatedTree,_tlIoriginalTree,_tlIupTypes) =
tl_ _tlOassignmentCastContext _tlOcat _tlOdownEnv _tlOexpectedCast _tlOexpectedTypes _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupTypes)))
_sem_ScalarExprList_Nil :: T_ScalarExprList
_sem_ScalarExprList_Nil =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedTypes
_lhsIflags
_lhsIimCast ->
(let _lhsOupTypes :: ([Maybe TypeExtra])
_lhsOannotatedTree :: ScalarExprList
_lhsOoriginalTree :: ScalarExprList
_lhsOupTypes =
({-# LINE 203 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
[]
{-# LINE 16577 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 16583 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 16589 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 16595 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 16601 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupTypes)))
type ScalarExprListList = [ScalarExprTransposedList]
_sem_ScalarExprListList :: ScalarExprListList ->
T_ScalarExprListList
_sem_ScalarExprListList list =
(Prelude.foldr _sem_ScalarExprListList_Cons _sem_ScalarExprListList_Nil (Prelude.map _sem_ScalarExprTransposedList list))
type T_ScalarExprListList = Bool ->
Catalog ->
Environment ->
Bool ->
(Maybe [TypeExtra]) ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( ScalarExprListList,ScalarExprListList,(Either [TypeError] [(Text,TypeExtra)]))
data Inh_ScalarExprListList = Inh_ScalarExprListList {_assignmentCastContext_Inh_ScalarExprListList :: Bool,_cat_Inh_ScalarExprListList :: Catalog,_downEnv_Inh_ScalarExprListList :: Environment,_expectedCast_Inh_ScalarExprListList :: Bool,_expectedType_Inh_ScalarExprListList :: (Maybe [TypeExtra]),_flags_Inh_ScalarExprListList :: TypeCheckFlags,_imCast_Inh_ScalarExprListList :: (Maybe TypeExtra)}
data Syn_ScalarExprListList = Syn_ScalarExprListList {_annotatedTree_Syn_ScalarExprListList :: ScalarExprListList,_originalTree_Syn_ScalarExprListList :: ScalarExprListList,_upType_Syn_ScalarExprListList :: (Either [TypeError] [(Text,TypeExtra)])}
_wrap_ScalarExprListList :: T_ScalarExprListList ->
Inh_ScalarExprListList ->
Syn_ScalarExprListList
_wrap_ScalarExprListList sem (Inh_ScalarExprListList _lhsIassignmentCastContext _lhsIcat _lhsIdownEnv _lhsIexpectedCast _lhsIexpectedType _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupType) = sem _lhsIassignmentCastContext _lhsIcat _lhsIdownEnv _lhsIexpectedCast _lhsIexpectedType _lhsIflags _lhsIimCast
in (Syn_ScalarExprListList _lhsOannotatedTree _lhsOoriginalTree _lhsOupType))
_sem_ScalarExprListList_Cons :: T_ScalarExprTransposedList ->
T_ScalarExprListList ->
T_ScalarExprListList
_sem_ScalarExprListList_Cons hd_ tl_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast ->
(let _lhsOupType :: (Either [TypeError] [(Text,TypeExtra)])
_hdOexpectedCast :: Bool
_tlOexpectedCast :: Bool
_lhsOannotatedTree :: ScalarExprListList
_lhsOoriginalTree :: ScalarExprListList
_hdOcat :: Catalog
_hdOexpectedType :: (Maybe [TypeExtra])
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_tlOassignmentCastContext :: Bool
_tlOcat :: Catalog
_tlOdownEnv :: Environment
_tlOexpectedType :: (Maybe [TypeExtra])
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_hdIannotatedTree :: ScalarExprTransposedList
_hdIoriginalTree :: ScalarExprTransposedList
_hdIupType :: (Maybe [TypeExtra])
_tlIannotatedTree :: ScalarExprListList
_tlIoriginalTree :: ScalarExprListList
_tlIupType :: (Either [TypeError] [(Text,TypeExtra)])
_lhsOupType =
({-# LINE 191 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
do
a <- maybe (Left [InternalError "type error in VALUES clause"]) Right _hdIupType
b <- _tlIupType
unless (not $ null a) $ Left [InternalError "empty row in VALUES clause"]
let a' = map ("",) a
itError = Left [IncompatibleUnionTypes (CompositeType a') (CompositeType b)]
unless (null b || length a == length b) itError
if null b
then return $ zip [T.pack ("values%" ++ show k) | k <- [(0::Int)..]] a
else
do
let uts = zipWithM (\te1 (_,te2) -> resolveResultSetTypeExtra _lhsIcat [te1,te2])
a b
case uts of
Left{} -> itError
Right uts' -> return $ zipWith (\(n,_) te -> (n,te)) b uts'
{-# LINE 16705 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOexpectedCast =
({-# LINE 209 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIexpectedCast
{-# LINE 16711 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOexpectedCast =
({-# LINE 210 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIexpectedCast
{-# LINE 16717 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 16723 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 16729 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 16735 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 16741 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 16747 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOexpectedType =
({-# LINE 169 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIexpectedType
{-# LINE 16753 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 16759 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 16765 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 16771 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 16777 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOdownEnv =
({-# LINE 183 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIdownEnv
{-# LINE 16783 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOexpectedType =
({-# LINE 186 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIexpectedType
{-# LINE 16789 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 16795 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 16801 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdIoriginalTree,_hdIupType) =
hd_ _hdOcat _hdOexpectedCast _hdOexpectedType _hdOflags _hdOimCast
( _tlIannotatedTree,_tlIoriginalTree,_tlIupType) =
tl_ _tlOassignmentCastContext _tlOcat _tlOdownEnv _tlOexpectedCast _tlOexpectedType _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExprListList_Nil :: T_ScalarExprListList
_sem_ScalarExprListList_Nil =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast ->
(let _lhsOupType :: (Either [TypeError] [(Text,TypeExtra)])
_lhsOannotatedTree :: ScalarExprListList
_lhsOoriginalTree :: ScalarExprListList
_lhsOupType =
({-# LINE 211 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
Right []
{-# LINE 16824 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 16830 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 16836 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 16842 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 16848 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupType)))
type ScalarExprListStatementListTriple = ( ScalarExprList,StatementList)
_sem_ScalarExprListStatementListTriple :: ScalarExprListStatementListTriple ->
T_ScalarExprListStatementListTriple
_sem_ScalarExprListStatementListTriple ( x1,x2) =
(_sem_ScalarExprListStatementListTriple_Tuple (_sem_ScalarExprList x1) (_sem_StatementList x2))
type T_ScalarExprListStatementListTriple = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( ScalarExprListStatementListTriple,ScalarExprListStatementListTriple)
data Inh_ScalarExprListStatementListTriple = Inh_ScalarExprListStatementListTriple {_cat_Inh_ScalarExprListStatementListTriple :: Catalog,_flags_Inh_ScalarExprListStatementListTriple :: TypeCheckFlags,_imCast_Inh_ScalarExprListStatementListTriple :: (Maybe TypeExtra)}
data Syn_ScalarExprListStatementListTriple = Syn_ScalarExprListStatementListTriple {_annotatedTree_Syn_ScalarExprListStatementListTriple :: ScalarExprListStatementListTriple,_originalTree_Syn_ScalarExprListStatementListTriple :: ScalarExprListStatementListTriple}
_wrap_ScalarExprListStatementListTriple :: T_ScalarExprListStatementListTriple ->
Inh_ScalarExprListStatementListTriple ->
Syn_ScalarExprListStatementListTriple
_wrap_ScalarExprListStatementListTriple sem (Inh_ScalarExprListStatementListTriple _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_ScalarExprListStatementListTriple _lhsOannotatedTree _lhsOoriginalTree))
_sem_ScalarExprListStatementListTriple_Tuple :: T_ScalarExprList ->
T_StatementList ->
T_ScalarExprListStatementListTriple
_sem_ScalarExprListStatementListTriple_Tuple x1_ x2_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _x1OdownEnv :: Environment
_x1OexpectedCast :: Bool
_x1OexpectedTypes :: ([TypeExtra])
_x1OassignmentCastContext :: Bool
_lhsOannotatedTree :: ScalarExprListStatementListTriple
_lhsOoriginalTree :: ScalarExprListStatementListTriple
_x1Ocat :: Catalog
_x1Oflags :: TypeCheckFlags
_x1OimCast :: (Maybe TypeExtra)
_x2Ocat :: Catalog
_x2Oflags :: TypeCheckFlags
_x2OimCast :: (Maybe TypeExtra)
_x1IannotatedTree :: ScalarExprList
_x1IoriginalTree :: ScalarExprList
_x1IupTypes :: ([Maybe TypeExtra])
_x2IannotatedTree :: StatementList
_x2IoriginalTree :: StatementList
_x1OdownEnv =
({-# LINE 94 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 16916 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1OexpectedCast =
({-# LINE 95 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 16922 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1OexpectedTypes =
({-# LINE 96 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
[]
{-# LINE 16928 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1OassignmentCastContext =
({-# LINE 819 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 16934 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(_x1IannotatedTree,_x2IannotatedTree)
{-# LINE 16940 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(_x1IoriginalTree,_x2IoriginalTree)
{-# LINE 16946 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 16952 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 16958 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1Ocat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 16964 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1Oflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 16970 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1OimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 16976 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x2Ocat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 16982 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x2Oflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 16988 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x2OimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 16994 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _x1IannotatedTree,_x1IoriginalTree,_x1IupTypes) =
x1_ _x1OassignmentCastContext _x1Ocat _x1OdownEnv _x1OexpectedCast _x1OexpectedTypes _x1Oflags _x1OimCast
( _x2IannotatedTree,_x2IoriginalTree) =
x2_ _x2Ocat _x2Oflags _x2OimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type ScalarExprListStatementListTripleList = [ScalarExprListStatementListTriple]
_sem_ScalarExprListStatementListTripleList :: ScalarExprListStatementListTripleList ->
T_ScalarExprListStatementListTripleList
_sem_ScalarExprListStatementListTripleList list =
(Prelude.foldr _sem_ScalarExprListStatementListTripleList_Cons _sem_ScalarExprListStatementListTripleList_Nil (Prelude.map _sem_ScalarExprListStatementListTriple list))
type T_ScalarExprListStatementListTripleList = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( ScalarExprListStatementListTripleList,ScalarExprListStatementListTripleList)
data Inh_ScalarExprListStatementListTripleList = Inh_ScalarExprListStatementListTripleList {_cat_Inh_ScalarExprListStatementListTripleList :: Catalog,_flags_Inh_ScalarExprListStatementListTripleList :: TypeCheckFlags,_imCast_Inh_ScalarExprListStatementListTripleList :: (Maybe TypeExtra)}
data Syn_ScalarExprListStatementListTripleList = Syn_ScalarExprListStatementListTripleList {_annotatedTree_Syn_ScalarExprListStatementListTripleList :: ScalarExprListStatementListTripleList,_originalTree_Syn_ScalarExprListStatementListTripleList :: ScalarExprListStatementListTripleList}
_wrap_ScalarExprListStatementListTripleList :: T_ScalarExprListStatementListTripleList ->
Inh_ScalarExprListStatementListTripleList ->
Syn_ScalarExprListStatementListTripleList
_wrap_ScalarExprListStatementListTripleList sem (Inh_ScalarExprListStatementListTripleList _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_ScalarExprListStatementListTripleList _lhsOannotatedTree _lhsOoriginalTree))
_sem_ScalarExprListStatementListTripleList_Cons :: T_ScalarExprListStatementListTriple ->
T_ScalarExprListStatementListTripleList ->
T_ScalarExprListStatementListTripleList
_sem_ScalarExprListStatementListTripleList_Cons hd_ tl_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: ScalarExprListStatementListTripleList
_lhsOoriginalTree :: ScalarExprListStatementListTripleList
_hdOcat :: Catalog
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_tlOcat :: Catalog
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_hdIannotatedTree :: ScalarExprListStatementListTriple
_hdIoriginalTree :: ScalarExprListStatementListTriple
_tlIannotatedTree :: ScalarExprListStatementListTripleList
_tlIoriginalTree :: ScalarExprListStatementListTripleList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 17065 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 17071 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 17077 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 17083 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 17089 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 17095 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 17101 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 17107 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 17113 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 17119 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdIoriginalTree) =
hd_ _hdOcat _hdOflags _hdOimCast
( _tlIannotatedTree,_tlIoriginalTree) =
tl_ _tlOcat _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_ScalarExprListStatementListTripleList_Nil :: T_ScalarExprListStatementListTripleList
_sem_ScalarExprListStatementListTripleList_Nil =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: ScalarExprListStatementListTripleList
_lhsOoriginalTree :: ScalarExprListStatementListTripleList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 17137 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 17143 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 17149 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 17155 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data ScalarExprRoot = ScalarExprRoot (ScalarExpr)
deriving ( Show)
_sem_ScalarExprRoot :: ScalarExprRoot ->
T_ScalarExprRoot
_sem_ScalarExprRoot (ScalarExprRoot _expr) =
(_sem_ScalarExprRoot_ScalarExprRoot (_sem_ScalarExpr _expr))
type T_ScalarExprRoot = Catalog ->
Environment ->
TypeCheckFlags ->
( ScalarExprRoot,ScalarExprRoot)
data Inh_ScalarExprRoot = Inh_ScalarExprRoot {_cat_Inh_ScalarExprRoot :: Catalog,_downEnv_Inh_ScalarExprRoot :: Environment,_flags_Inh_ScalarExprRoot :: TypeCheckFlags}
data Syn_ScalarExprRoot = Syn_ScalarExprRoot {_annotatedTree_Syn_ScalarExprRoot :: ScalarExprRoot,_originalTree_Syn_ScalarExprRoot :: ScalarExprRoot}
_wrap_ScalarExprRoot :: T_ScalarExprRoot ->
Inh_ScalarExprRoot ->
Syn_ScalarExprRoot
_wrap_ScalarExprRoot sem (Inh_ScalarExprRoot _lhsIcat _lhsIdownEnv _lhsIflags) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIdownEnv _lhsIflags
in (Syn_ScalarExprRoot _lhsOannotatedTree _lhsOoriginalTree))
_sem_ScalarExprRoot_ScalarExprRoot :: T_ScalarExpr ->
T_ScalarExprRoot
_sem_ScalarExprRoot_ScalarExprRoot expr_ =
(\ _lhsIcat
_lhsIdownEnv
_lhsIflags ->
(let _exprOexpectedCast :: Bool
_exprOodbcFunction :: Bool
_exprOdownEnv :: Environment
_exprOexpectedType :: (Maybe TypeExtra)
_exprOassignmentCastContext :: Bool
_exprOimCast :: (Maybe TypeExtra)
_lhsOannotatedTree :: ScalarExprRoot
_lhsOoriginalTree :: ScalarExprRoot
_exprOcat :: Catalog
_exprOflags :: TypeCheckFlags
_exprIannotatedTree :: ScalarExpr
_exprIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_exprIoriginalTree :: ScalarExpr
_exprIupType :: (Maybe TypeExtra)
_exprOexpectedCast =
({-# LINE 97 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 17219 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOodbcFunction =
({-# LINE 159 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 17225 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOdownEnv =
({-# LINE 237 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 17231 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedType =
({-# LINE 741 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
Nothing
{-# LINE 17237 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOassignmentCastContext =
({-# LINE 820 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 17243 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOimCast =
({-# LINE 136 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Nothing
{-# LINE 17249 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ScalarExprRoot _exprIannotatedTree
{-# LINE 17255 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ScalarExprRoot _exprIoriginalTree
{-# LINE 17261 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 17267 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 17273 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 17279 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 17285 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _exprIannotatedTree,_exprIcolExprs,_exprIoriginalTree,_exprIupType) =
expr_ _exprOassignmentCastContext _exprOcat _exprOdownEnv _exprOexpectedCast _exprOexpectedType _exprOflags _exprOimCast _exprOodbcFunction
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type ScalarExprStatementListPair = ( ScalarExpr,StatementList)
_sem_ScalarExprStatementListPair :: ScalarExprStatementListPair ->
T_ScalarExprStatementListPair
_sem_ScalarExprStatementListPair ( x1,x2) =
(_sem_ScalarExprStatementListPair_Tuple (_sem_ScalarExpr x1) (_sem_StatementList x2))
type T_ScalarExprStatementListPair = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( ScalarExprStatementListPair,ScalarExprStatementListPair)
data Inh_ScalarExprStatementListPair = Inh_ScalarExprStatementListPair {_cat_Inh_ScalarExprStatementListPair :: Catalog,_flags_Inh_ScalarExprStatementListPair :: TypeCheckFlags,_imCast_Inh_ScalarExprStatementListPair :: (Maybe TypeExtra)}
data Syn_ScalarExprStatementListPair = Syn_ScalarExprStatementListPair {_annotatedTree_Syn_ScalarExprStatementListPair :: ScalarExprStatementListPair,_originalTree_Syn_ScalarExprStatementListPair :: ScalarExprStatementListPair}
_wrap_ScalarExprStatementListPair :: T_ScalarExprStatementListPair ->
Inh_ScalarExprStatementListPair ->
Syn_ScalarExprStatementListPair
_wrap_ScalarExprStatementListPair sem (Inh_ScalarExprStatementListPair _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_ScalarExprStatementListPair _lhsOannotatedTree _lhsOoriginalTree))
_sem_ScalarExprStatementListPair_Tuple :: T_ScalarExpr ->
T_StatementList ->
T_ScalarExprStatementListPair
_sem_ScalarExprStatementListPair_Tuple x1_ x2_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _x1OdownEnv :: Environment
_x1OexpectedCast :: Bool
_x1OexpectedType :: (Maybe TypeExtra)
_x1OodbcFunction :: Bool
_x1OassignmentCastContext :: Bool
_lhsOannotatedTree :: ScalarExprStatementListPair
_lhsOoriginalTree :: ScalarExprStatementListPair
_x1Ocat :: Catalog
_x1Oflags :: TypeCheckFlags
_x1OimCast :: (Maybe TypeExtra)
_x2Ocat :: Catalog
_x2Oflags :: TypeCheckFlags
_x2OimCast :: (Maybe TypeExtra)
_x1IannotatedTree :: ScalarExpr
_x1IcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_x1IoriginalTree :: ScalarExpr
_x1IupType :: (Maybe TypeExtra)
_x2IannotatedTree :: StatementList
_x2IoriginalTree :: StatementList
_x1OdownEnv =
({-# LINE 98 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 17357 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1OexpectedCast =
({-# LINE 99 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 17363 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1OexpectedType =
({-# LINE 100 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 17369 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1OodbcFunction =
({-# LINE 101 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 17375 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1OassignmentCastContext =
({-# LINE 821 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 17381 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(_x1IannotatedTree,_x2IannotatedTree)
{-# LINE 17387 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(_x1IoriginalTree,_x2IoriginalTree)
{-# LINE 17393 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 17399 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 17405 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1Ocat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 17411 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1Oflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 17417 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x1OimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 17423 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x2Ocat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 17429 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x2Oflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 17435 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_x2OimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 17441 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _x1IannotatedTree,_x1IcolExprs,_x1IoriginalTree,_x1IupType) =
x1_ _x1OassignmentCastContext _x1Ocat _x1OdownEnv _x1OexpectedCast _x1OexpectedType _x1Oflags _x1OimCast _x1OodbcFunction
( _x2IannotatedTree,_x2IoriginalTree) =
x2_ _x2Ocat _x2Oflags _x2OimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type ScalarExprStatementListPairList = [ScalarExprStatementListPair]
_sem_ScalarExprStatementListPairList :: ScalarExprStatementListPairList ->
T_ScalarExprStatementListPairList
_sem_ScalarExprStatementListPairList list =
(Prelude.foldr _sem_ScalarExprStatementListPairList_Cons _sem_ScalarExprStatementListPairList_Nil (Prelude.map _sem_ScalarExprStatementListPair list))
type T_ScalarExprStatementListPairList = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( ScalarExprStatementListPairList,ScalarExprStatementListPairList)
data Inh_ScalarExprStatementListPairList = Inh_ScalarExprStatementListPairList {_cat_Inh_ScalarExprStatementListPairList :: Catalog,_flags_Inh_ScalarExprStatementListPairList :: TypeCheckFlags,_imCast_Inh_ScalarExprStatementListPairList :: (Maybe TypeExtra)}
data Syn_ScalarExprStatementListPairList = Syn_ScalarExprStatementListPairList {_annotatedTree_Syn_ScalarExprStatementListPairList :: ScalarExprStatementListPairList,_originalTree_Syn_ScalarExprStatementListPairList :: ScalarExprStatementListPairList}
_wrap_ScalarExprStatementListPairList :: T_ScalarExprStatementListPairList ->
Inh_ScalarExprStatementListPairList ->
Syn_ScalarExprStatementListPairList
_wrap_ScalarExprStatementListPairList sem (Inh_ScalarExprStatementListPairList _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_ScalarExprStatementListPairList _lhsOannotatedTree _lhsOoriginalTree))
_sem_ScalarExprStatementListPairList_Cons :: T_ScalarExprStatementListPair ->
T_ScalarExprStatementListPairList ->
T_ScalarExprStatementListPairList
_sem_ScalarExprStatementListPairList_Cons hd_ tl_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: ScalarExprStatementListPairList
_lhsOoriginalTree :: ScalarExprStatementListPairList
_hdOcat :: Catalog
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_tlOcat :: Catalog
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_hdIannotatedTree :: ScalarExprStatementListPair
_hdIoriginalTree :: ScalarExprStatementListPair
_tlIannotatedTree :: ScalarExprStatementListPairList
_tlIoriginalTree :: ScalarExprStatementListPairList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 17512 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 17518 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 17524 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 17530 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 17536 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 17542 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 17548 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 17554 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 17560 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 17566 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdIoriginalTree) =
hd_ _hdOcat _hdOflags _hdOimCast
( _tlIannotatedTree,_tlIoriginalTree) =
tl_ _tlOcat _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_ScalarExprStatementListPairList_Nil :: T_ScalarExprStatementListPairList
_sem_ScalarExprStatementListPairList_Nil =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: ScalarExprStatementListPairList
_lhsOoriginalTree :: ScalarExprStatementListPairList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 17584 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 17590 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 17596 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 17602 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type ScalarExprTransposedList = [ScalarExpr]
_sem_ScalarExprTransposedList :: ScalarExprTransposedList ->
T_ScalarExprTransposedList
_sem_ScalarExprTransposedList list =
(Prelude.foldr _sem_ScalarExprTransposedList_Cons _sem_ScalarExprTransposedList_Nil (Prelude.map _sem_ScalarExpr list))
type T_ScalarExprTransposedList = Catalog ->
Bool ->
(Maybe [TypeExtra]) ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( ScalarExprTransposedList,ScalarExprTransposedList,(Maybe [TypeExtra]))
data Inh_ScalarExprTransposedList = Inh_ScalarExprTransposedList {_cat_Inh_ScalarExprTransposedList :: Catalog,_expectedCast_Inh_ScalarExprTransposedList :: Bool,_expectedType_Inh_ScalarExprTransposedList :: (Maybe [TypeExtra]),_flags_Inh_ScalarExprTransposedList :: TypeCheckFlags,_imCast_Inh_ScalarExprTransposedList :: (Maybe TypeExtra)}
data Syn_ScalarExprTransposedList = Syn_ScalarExprTransposedList {_annotatedTree_Syn_ScalarExprTransposedList :: ScalarExprTransposedList,_originalTree_Syn_ScalarExprTransposedList :: ScalarExprTransposedList,_upType_Syn_ScalarExprTransposedList :: (Maybe [TypeExtra])}
_wrap_ScalarExprTransposedList :: T_ScalarExprTransposedList ->
Inh_ScalarExprTransposedList ->
Syn_ScalarExprTransposedList
_wrap_ScalarExprTransposedList sem (Inh_ScalarExprTransposedList _lhsIcat _lhsIexpectedCast _lhsIexpectedType _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupType) = sem _lhsIcat _lhsIexpectedCast _lhsIexpectedType _lhsIflags _lhsIimCast
in (Syn_ScalarExprTransposedList _lhsOannotatedTree _lhsOoriginalTree _lhsOupType))
_sem_ScalarExprTransposedList_Cons :: T_ScalarExpr ->
T_ScalarExprTransposedList ->
T_ScalarExprTransposedList
_sem_ScalarExprTransposedList_Cons hd_ tl_ =
(\ _lhsIcat
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast ->
(let _hdOdownEnv :: Environment
_lhsOupType :: (Maybe [TypeExtra])
_hdOexpectedType :: (Maybe TypeExtra)
_tlOexpectedType :: (Maybe [TypeExtra])
_hdOexpectedCast :: Bool
_tlOexpectedCast :: Bool
_hdOodbcFunction :: Bool
_hdOassignmentCastContext :: Bool
_lhsOannotatedTree :: ScalarExprTransposedList
_lhsOoriginalTree :: ScalarExprTransposedList
_hdOcat :: Catalog
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_tlOcat :: Catalog
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_hdIannotatedTree :: ScalarExpr
_hdIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_hdIoriginalTree :: ScalarExpr
_hdIupType :: (Maybe TypeExtra)
_tlIannotatedTree :: ScalarExprTransposedList
_tlIoriginalTree :: ScalarExprTransposedList
_tlIupType :: (Maybe [TypeExtra])
_hdOdownEnv =
({-# LINE 102 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 17687 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 174 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
liftM2 (:) _hdIupType _tlIupType
{-# LINE 17693 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOexpectedType =
({-# LINE 175 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
liftM fst $ splitTypeExtraList _lhsIexpectedType
{-# LINE 17699 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOexpectedType =
({-# LINE 176 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
liftM snd $ splitTypeExtraList _lhsIexpectedType
{-# LINE 17705 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOexpectedCast =
({-# LINE 177 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIexpectedCast
{-# LINE 17711 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOexpectedCast =
({-# LINE 178 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIexpectedCast
{-# LINE 17717 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOodbcFunction =
({-# LINE 163 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 17723 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOassignmentCastContext =
({-# LINE 822 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 17729 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 17735 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 17741 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 17747 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 17753 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 17759 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 17765 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 17771 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 17777 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 17783 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 17789 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdIcolExprs,_hdIoriginalTree,_hdIupType) =
hd_ _hdOassignmentCastContext _hdOcat _hdOdownEnv _hdOexpectedCast _hdOexpectedType _hdOflags _hdOimCast _hdOodbcFunction
( _tlIannotatedTree,_tlIoriginalTree,_tlIupType) =
tl_ _tlOcat _tlOexpectedCast _tlOexpectedType _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupType)))
_sem_ScalarExprTransposedList_Nil :: T_ScalarExprTransposedList
_sem_ScalarExprTransposedList_Nil =
(\ _lhsIcat
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast ->
(let _lhsOupType :: (Maybe [TypeExtra])
_lhsOannotatedTree :: ScalarExprTransposedList
_lhsOoriginalTree :: ScalarExprTransposedList
_lhsOupType =
({-# LINE 180 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
Just []
{-# LINE 17810 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 17816 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 17822 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 17828 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 17834 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupType)))
data SelectItem = SelExp (Annotation) (ScalarExpr)
| SelectItem (Annotation) (ScalarExpr) (NameComponent)
deriving ( Data,Eq,Show,Typeable)
_sem_SelectItem :: SelectItem ->
T_SelectItem
_sem_SelectItem (SelExp _ann _ex) =
(_sem_SelectItem_SelExp (_sem_Annotation _ann) (_sem_ScalarExpr _ex))
_sem_SelectItem (SelectItem _ann _ex _name) =
(_sem_SelectItem_SelectItem (_sem_Annotation _ann) (_sem_ScalarExpr _ex) _name)
type T_SelectItem = Bool ->
Catalog ->
Environment ->
Bool ->
(Maybe TypeExtra) ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( SelectItem,([(NameComponent,Maybe TypeExtra,ScalarExpr)]),SelectItem)
data Inh_SelectItem = Inh_SelectItem {_assignmentCastContext_Inh_SelectItem :: Bool,_cat_Inh_SelectItem :: Catalog,_downEnv_Inh_SelectItem :: Environment,_expectedCast_Inh_SelectItem :: Bool,_expectedType_Inh_SelectItem :: (Maybe TypeExtra),_flags_Inh_SelectItem :: TypeCheckFlags,_imCast_Inh_SelectItem :: (Maybe TypeExtra)}
data Syn_SelectItem = Syn_SelectItem {_annotatedTree_Syn_SelectItem :: SelectItem,_colExprs_Syn_SelectItem :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)]),_originalTree_Syn_SelectItem :: SelectItem}
_wrap_SelectItem :: T_SelectItem ->
Inh_SelectItem ->
Syn_SelectItem
_wrap_SelectItem sem (Inh_SelectItem _lhsIassignmentCastContext _lhsIcat _lhsIdownEnv _lhsIexpectedCast _lhsIexpectedType _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree) = sem _lhsIassignmentCastContext _lhsIcat _lhsIdownEnv _lhsIexpectedCast _lhsIexpectedType _lhsIflags _lhsIimCast
in (Syn_SelectItem _lhsOannotatedTree _lhsOcolExprs _lhsOoriginalTree))
_sem_SelectItem_SelExp :: T_Annotation ->
T_ScalarExpr ->
T_SelectItem
_sem_SelectItem_SelExp ann_ ex_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: SelectItem
_annOtpe :: (Either [TypeError] TypeExtra)
_exOexpectedType :: (Maybe TypeExtra)
_exOexpectedCast :: Bool
_exOodbcFunction :: Bool
_lhsOoriginalTree :: SelectItem
_lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_exOassignmentCastContext :: Bool
_exOcat :: Catalog
_exOdownEnv :: Environment
_exOflags :: TypeCheckFlags
_exOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_exIannotatedTree :: ScalarExpr
_exIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_exIoriginalTree :: ScalarExpr
_exIupType :: (Maybe TypeExtra)
_lhsOannotatedTree =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
if tcfAddSelectItemAliases _lhsIflags
then case _exIcolExprs of
[(n,_,_)] -> SelectItem _annIannotatedTree _exIannotatedTree n
_ ->
_annotatedTree
else _annotatedTree
{-# LINE 17935 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 208 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
Left []
{-# LINE 17941 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOexpectedType =
({-# LINE 209 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
_lhsIexpectedType
{-# LINE 17947 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOexpectedCast =
({-# LINE 210 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
_lhsIexpectedCast
{-# LINE 17953 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOodbcFunction =
({-# LINE 166 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 17959 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SelExp _annIannotatedTree _exIannotatedTree
{-# LINE 17965 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SelExp _annIoriginalTree _exIoriginalTree
{-# LINE 17971 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 17977 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOcolExprs =
({-# LINE 150 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
_exIcolExprs
{-# LINE 17983 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 17989 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 17995 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 18001 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 18007 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 18013 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 18019 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 18025 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 18031 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _exIannotatedTree,_exIcolExprs,_exIoriginalTree,_exIupType) =
ex_ _exOassignmentCastContext _exOcat _exOdownEnv _exOexpectedCast _exOexpectedType _exOflags _exOimCast _exOodbcFunction
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree)))
_sem_SelectItem_SelectItem :: T_Annotation ->
T_ScalarExpr ->
NameComponent ->
T_SelectItem
_sem_SelectItem_SelectItem ann_ ex_ name_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast ->
(let _lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_annOtpe :: (Either [TypeError] TypeExtra)
_exOexpectedType :: (Maybe TypeExtra)
_exOexpectedCast :: Bool
_exOodbcFunction :: Bool
_lhsOannotatedTree :: SelectItem
_lhsOoriginalTree :: SelectItem
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_exOassignmentCastContext :: Bool
_exOcat :: Catalog
_exOdownEnv :: Environment
_exOflags :: TypeCheckFlags
_exOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_exIannotatedTree :: ScalarExpr
_exIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_exIoriginalTree :: ScalarExpr
_exIupType :: (Maybe TypeExtra)
_lhsOcolExprs =
({-# LINE 112 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
case _exIcolExprs of
[(_,t,e)] -> [(name_, t,e)]
x -> x
{-# LINE 18077 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 208 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
Left []
{-# LINE 18083 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOexpectedType =
({-# LINE 209 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
_lhsIexpectedType
{-# LINE 18089 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOexpectedCast =
({-# LINE 210 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
_lhsIexpectedCast
{-# LINE 18095 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOodbcFunction =
({-# LINE 166 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 18101 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SelectItem _annIannotatedTree _exIannotatedTree name_
{-# LINE 18107 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SelectItem _annIoriginalTree _exIoriginalTree name_
{-# LINE 18113 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 18119 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 18125 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 18131 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 18137 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 18143 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 18149 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 18155 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIdownEnv
{-# LINE 18161 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 18167 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 18173 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _exIannotatedTree,_exIcolExprs,_exIoriginalTree,_exIupType) =
ex_ _exOassignmentCastContext _exOcat _exOdownEnv _exOexpectedCast _exOexpectedType _exOflags _exOimCast _exOodbcFunction
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree)))
type SelectItemList = [SelectItem]
_sem_SelectItemList :: SelectItemList ->
T_SelectItemList
_sem_SelectItemList list =
(Prelude.foldr _sem_SelectItemList_Cons _sem_SelectItemList_Nil (Prelude.map _sem_SelectItem list))
type T_SelectItemList = Bool ->
Catalog ->
Environment ->
Bool ->
(Maybe [TypeExtra]) ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( SelectItemList,([(NameComponent,Maybe TypeExtra,ScalarExpr)]),SelectItemList,Environment,(Maybe [(Text,TypeExtra)]))
data Inh_SelectItemList = Inh_SelectItemList {_assignmentCastContext_Inh_SelectItemList :: Bool,_cat_Inh_SelectItemList :: Catalog,_downEnv_Inh_SelectItemList :: Environment,_expectedCast_Inh_SelectItemList :: Bool,_expectedType_Inh_SelectItemList :: (Maybe [TypeExtra]),_flags_Inh_SelectItemList :: TypeCheckFlags,_imCast_Inh_SelectItemList :: (Maybe TypeExtra)}
data Syn_SelectItemList = Syn_SelectItemList {_annotatedTree_Syn_SelectItemList :: SelectItemList,_colExprs_Syn_SelectItemList :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)]),_originalTree_Syn_SelectItemList :: SelectItemList,_upEnv_Syn_SelectItemList :: Environment,_upType_Syn_SelectItemList :: (Maybe [(Text,TypeExtra)])}
_wrap_SelectItemList :: T_SelectItemList ->
Inh_SelectItemList ->
Syn_SelectItemList
_wrap_SelectItemList sem (Inh_SelectItemList _lhsIassignmentCastContext _lhsIcat _lhsIdownEnv _lhsIexpectedCast _lhsIexpectedType _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupEnv,_lhsOupType) = sem _lhsIassignmentCastContext _lhsIcat _lhsIdownEnv _lhsIexpectedCast _lhsIexpectedType _lhsIflags _lhsIimCast
in (Syn_SelectItemList _lhsOannotatedTree _lhsOcolExprs _lhsOoriginalTree _lhsOupEnv _lhsOupType))
_sem_SelectItemList_Cons :: T_SelectItem ->
T_SelectItemList ->
T_SelectItemList
_sem_SelectItemList_Cons hd_ tl_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: SelectItemList
_lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_hdOexpectedType :: (Maybe TypeExtra)
_tlOexpectedType :: (Maybe [TypeExtra])
_hdOexpectedCast :: Bool
_tlOexpectedCast :: Bool
_lhsOupType :: (Maybe [(Text,TypeExtra)])
_lhsOupEnv :: Environment
_lhsOoriginalTree :: SelectItemList
_hdOassignmentCastContext :: Bool
_hdOcat :: Catalog
_hdOdownEnv :: Environment
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_tlOassignmentCastContext :: Bool
_tlOcat :: Catalog
_tlOdownEnv :: Environment
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_hdIannotatedTree :: SelectItem
_hdIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_hdIoriginalTree :: SelectItem
_tlIannotatedTree :: SelectItemList
_tlIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_tlIoriginalTree :: SelectItemList
_tlIupEnv :: Environment
_tlIupType :: (Maybe [(Text,TypeExtra)])
_lhsOannotatedTree =
({-# LINE 132 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
if tcfExpandStars _lhsIflags
then flip map _colExprs $ \(n,_t,e) ->
if ncStr n == ncStr (columnName e) && not (tcfAddSelectItemAliases _lhsIflags)
then SelExp emptyAnnotation e
else SelectItem emptyAnnotation e n
else _annotatedTree
{-# LINE 18282 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_colExprs =
({-# LINE 177 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
_hdIcolExprs ++ _tlIcolExprs
{-# LINE 18288 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOcolExprs =
({-# LINE 178 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
_colExprs
{-# LINE 18294 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 179 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
sequence $ flip map _colExprs
$ \(n,t,_) -> fmap (ncStrT n,) t
{-# LINE 18301 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOexpectedType =
({-# LINE 181 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
liftM fst $ splitTypeExtraList _lhsIexpectedType
{-# LINE 18307 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOexpectedType =
({-# LINE 182 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
liftM snd $ splitTypeExtraList _lhsIexpectedType
{-# LINE 18313 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOexpectedCast =
({-# LINE 183 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
_lhsIexpectedCast
{-# LINE 18319 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOexpectedCast =
({-# LINE 184 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
_lhsIexpectedCast
{-# LINE 18325 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 186 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
_upType
{-# LINE 18331 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupEnv =
({-# LINE 187 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
case fmap E.envSelectListEnvironment _upType of
(Just (Right e)) -> e
_ -> E.brokeEnvironment
{-# LINE 18339 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 18345 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 18351 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 18357 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 18363 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 18369 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOdownEnv =
({-# LINE 151 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
_lhsIdownEnv
{-# LINE 18375 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 18381 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 18387 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 18393 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 18399 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOdownEnv =
({-# LINE 156 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
_lhsIdownEnv
{-# LINE 18405 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 18411 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 18417 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdIcolExprs,_hdIoriginalTree) =
hd_ _hdOassignmentCastContext _hdOcat _hdOdownEnv _hdOexpectedCast _hdOexpectedType _hdOflags _hdOimCast
( _tlIannotatedTree,_tlIcolExprs,_tlIoriginalTree,_tlIupEnv,_tlIupType) =
tl_ _tlOassignmentCastContext _tlOcat _tlOdownEnv _tlOexpectedCast _tlOexpectedType _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupEnv,_lhsOupType)))
_sem_SelectItemList_Nil :: T_SelectItemList
_sem_SelectItemList_Nil =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: SelectItemList
_lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_lhsOupType :: (Maybe [(Text,TypeExtra)])
_lhsOupEnv :: Environment
_lhsOoriginalTree :: SelectItemList
_lhsOannotatedTree =
({-# LINE 131 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
[]
{-# LINE 18442 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOcolExprs =
({-# LINE 174 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
[]
{-# LINE 18448 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_upType =
({-# LINE 175 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
Nothing
{-# LINE 18454 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 186 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
_upType
{-# LINE 18460 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupEnv =
({-# LINE 187 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
case fmap E.envSelectListEnvironment _upType of
(Just (Right e)) -> e
_ -> E.brokeEnvironment
{-# LINE 18468 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 18474 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 18480 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 18486 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupEnv,_lhsOupType)))
data SelectList = SelectList (Annotation) (SelectItemList)
deriving ( Data,Eq,Show,Typeable)
_sem_SelectList :: SelectList ->
T_SelectList
_sem_SelectList (SelectList _ann _items) =
(_sem_SelectList_SelectList (_sem_Annotation _ann) (_sem_SelectItemList _items))
type T_SelectList = Bool ->
Catalog ->
Environment ->
Bool ->
(Maybe [TypeExtra]) ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( SelectList,([(NameComponent,Maybe TypeExtra,ScalarExpr)]),SelectList,Environment,(Maybe [(Text,TypeExtra)]))
data Inh_SelectList = Inh_SelectList {_assignmentCastContext_Inh_SelectList :: Bool,_cat_Inh_SelectList :: Catalog,_downEnv_Inh_SelectList :: Environment,_expectedCast_Inh_SelectList :: Bool,_expectedType_Inh_SelectList :: (Maybe [TypeExtra]),_flags_Inh_SelectList :: TypeCheckFlags,_imCast_Inh_SelectList :: (Maybe TypeExtra)}
data Syn_SelectList = Syn_SelectList {_annotatedTree_Syn_SelectList :: SelectList,_colExprs_Syn_SelectList :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)]),_originalTree_Syn_SelectList :: SelectList,_upEnv_Syn_SelectList :: Environment,_upType_Syn_SelectList :: (Maybe [(Text,TypeExtra)])}
_wrap_SelectList :: T_SelectList ->
Inh_SelectList ->
Syn_SelectList
_wrap_SelectList sem (Inh_SelectList _lhsIassignmentCastContext _lhsIcat _lhsIdownEnv _lhsIexpectedCast _lhsIexpectedType _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupEnv,_lhsOupType) = sem _lhsIassignmentCastContext _lhsIcat _lhsIdownEnv _lhsIexpectedCast _lhsIexpectedType _lhsIflags _lhsIimCast
in (Syn_SelectList _lhsOannotatedTree _lhsOcolExprs _lhsOoriginalTree _lhsOupEnv _lhsOupType))
_sem_SelectList_SelectList :: T_Annotation ->
T_SelectItemList ->
T_SelectList
_sem_SelectList_SelectList ann_ items_ =
(\ _lhsIassignmentCastContext
_lhsIcat
_lhsIdownEnv
_lhsIexpectedCast
_lhsIexpectedType
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_itemsOexpectedCast :: Bool
_lhsOannotatedTree :: SelectList
_lhsOoriginalTree :: SelectList
_lhsOcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_lhsOupEnv :: Environment
_lhsOupType :: (Maybe [(Text,TypeExtra)])
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_itemsOassignmentCastContext :: Bool
_itemsOcat :: Catalog
_itemsOdownEnv :: Environment
_itemsOexpectedType :: (Maybe [TypeExtra])
_itemsOflags :: TypeCheckFlags
_itemsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_itemsIannotatedTree :: SelectItemList
_itemsIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_itemsIoriginalTree :: SelectItemList
_itemsIupEnv :: Environment
_itemsIupType :: (Maybe [(Text,TypeExtra)])
_annOtpe =
({-# LINE 204 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
Left []
{-# LINE 18576 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_itemsOexpectedCast =
({-# LINE 205 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
True
{-# LINE 18582 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SelectList _annIannotatedTree _itemsIannotatedTree
{-# LINE 18588 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SelectList _annIoriginalTree _itemsIoriginalTree
{-# LINE 18594 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 18600 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 18606 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOcolExprs =
({-# LINE 157 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
_itemsIcolExprs
{-# LINE 18612 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupEnv =
({-# LINE 161 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
_itemsIupEnv
{-# LINE 18618 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 158 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
_itemsIupType
{-# LINE 18624 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 18630 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 18636 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 18642 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_itemsOassignmentCastContext =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
_lhsIassignmentCastContext
{-# LINE 18648 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_itemsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 18654 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_itemsOdownEnv =
({-# LINE 156 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
_lhsIdownEnv
{-# LINE 18660 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_itemsOexpectedType =
({-# LINE 159 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}
_lhsIexpectedType
{-# LINE 18666 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_itemsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 18672 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_itemsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 18678 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _itemsIannotatedTree,_itemsIcolExprs,_itemsIoriginalTree,_itemsIupEnv,_itemsIupType) =
items_ _itemsOassignmentCastContext _itemsOcat _itemsOdownEnv _itemsOexpectedCast _itemsOexpectedType _itemsOflags _itemsOimCast
in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupEnv,_lhsOupType)))
data SetClause = SetClause (Annotation) (NameComponent) (ScalarExpr)
| MultiSetClause (Annotation) (([NameComponent])) (ScalarExpr)
deriving ( Data,Eq,Show,Typeable)
_sem_SetClause :: SetClause ->
T_SetClause
_sem_SetClause (SetClause _ann _setTarget _ex) =
(_sem_SetClause_SetClause (_sem_Annotation _ann) _setTarget (_sem_ScalarExpr _ex))
_sem_SetClause (MultiSetClause _ann _setTargets _ex) =
(_sem_SetClause_MultiSetClause (_sem_Annotation _ann) _setTargets (_sem_ScalarExpr _ex))
type T_SetClause = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( SetClause,SetClause)
data Inh_SetClause = Inh_SetClause {_cat_Inh_SetClause :: Catalog,_flags_Inh_SetClause :: TypeCheckFlags,_imCast_Inh_SetClause :: (Maybe TypeExtra)}
data Syn_SetClause = Syn_SetClause {_annotatedTree_Syn_SetClause :: SetClause,_originalTree_Syn_SetClause :: SetClause}
_wrap_SetClause :: T_SetClause ->
Inh_SetClause ->
Syn_SetClause
_wrap_SetClause sem (Inh_SetClause _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_SetClause _lhsOannotatedTree _lhsOoriginalTree))
_sem_SetClause_SetClause :: T_Annotation ->
NameComponent ->
T_ScalarExpr ->
T_SetClause
_sem_SetClause_SetClause ann_ setTarget_ ex_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_exOdownEnv :: Environment
_exOexpectedCast :: Bool
_exOexpectedType :: (Maybe TypeExtra)
_exOodbcFunction :: Bool
_exOassignmentCastContext :: Bool
_lhsOannotatedTree :: SetClause
_lhsOoriginalTree :: SetClause
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_exOcat :: Catalog
_exOflags :: TypeCheckFlags
_exOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_exIannotatedTree :: ScalarExpr
_exIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_exIoriginalTree :: ScalarExpr
_exIupType :: (Maybe TypeExtra)
_annOtpe =
({-# LINE 107 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 18766 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOdownEnv =
({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 18772 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOexpectedCast =
({-# LINE 109 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 18778 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOexpectedType =
({-# LINE 110 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 18784 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOodbcFunction =
({-# LINE 169 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 18790 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOassignmentCastContext =
({-# LINE 824 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 18796 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SetClause _annIannotatedTree setTarget_ _exIannotatedTree
{-# LINE 18802 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SetClause _annIoriginalTree setTarget_ _exIoriginalTree
{-# LINE 18808 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 18814 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 18820 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 18826 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 18832 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 18838 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 18844 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 18850 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 18856 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _exIannotatedTree,_exIcolExprs,_exIoriginalTree,_exIupType) =
ex_ _exOassignmentCastContext _exOcat _exOdownEnv _exOexpectedCast _exOexpectedType _exOflags _exOimCast _exOodbcFunction
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_SetClause_MultiSetClause :: T_Annotation ->
([NameComponent]) ->
T_ScalarExpr ->
T_SetClause
_sem_SetClause_MultiSetClause ann_ setTargets_ ex_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_exOdownEnv :: Environment
_exOexpectedCast :: Bool
_exOexpectedType :: (Maybe TypeExtra)
_exOodbcFunction :: Bool
_exOassignmentCastContext :: Bool
_lhsOannotatedTree :: SetClause
_lhsOoriginalTree :: SetClause
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_exOcat :: Catalog
_exOflags :: TypeCheckFlags
_exOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_exIannotatedTree :: ScalarExpr
_exIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_exIoriginalTree :: ScalarExpr
_exIupType :: (Maybe TypeExtra)
_annOtpe =
({-# LINE 103 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 18895 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOdownEnv =
({-# LINE 104 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 18901 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOexpectedCast =
({-# LINE 105 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 18907 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOexpectedType =
({-# LINE 106 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 18913 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOodbcFunction =
({-# LINE 169 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 18919 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOassignmentCastContext =
({-# LINE 823 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 18925 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
MultiSetClause _annIannotatedTree setTargets_ _exIannotatedTree
{-# LINE 18931 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
MultiSetClause _annIoriginalTree setTargets_ _exIoriginalTree
{-# LINE 18937 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 18943 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 18949 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 18955 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 18961 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 18967 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 18973 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 18979 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 18985 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _exIannotatedTree,_exIcolExprs,_exIoriginalTree,_exIupType) =
ex_ _exOassignmentCastContext _exOcat _exOdownEnv _exOexpectedCast _exOexpectedType _exOflags _exOimCast _exOodbcFunction
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type SetClauseList = [SetClause]
_sem_SetClauseList :: SetClauseList ->
T_SetClauseList
_sem_SetClauseList list =
(Prelude.foldr _sem_SetClauseList_Cons _sem_SetClauseList_Nil (Prelude.map _sem_SetClause list))
type T_SetClauseList = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( SetClauseList,SetClauseList)
data Inh_SetClauseList = Inh_SetClauseList {_cat_Inh_SetClauseList :: Catalog,_flags_Inh_SetClauseList :: TypeCheckFlags,_imCast_Inh_SetClauseList :: (Maybe TypeExtra)}
data Syn_SetClauseList = Syn_SetClauseList {_annotatedTree_Syn_SetClauseList :: SetClauseList,_originalTree_Syn_SetClauseList :: SetClauseList}
_wrap_SetClauseList :: T_SetClauseList ->
Inh_SetClauseList ->
Syn_SetClauseList
_wrap_SetClauseList sem (Inh_SetClauseList _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_SetClauseList _lhsOannotatedTree _lhsOoriginalTree))
_sem_SetClauseList_Cons :: T_SetClause ->
T_SetClauseList ->
T_SetClauseList
_sem_SetClauseList_Cons hd_ tl_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: SetClauseList
_lhsOoriginalTree :: SetClauseList
_hdOcat :: Catalog
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_tlOcat :: Catalog
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_hdIannotatedTree :: SetClause
_hdIoriginalTree :: SetClause
_tlIannotatedTree :: SetClauseList
_tlIoriginalTree :: SetClauseList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 19056 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 19062 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 19068 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 19074 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 19080 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 19086 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 19092 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 19098 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 19104 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 19110 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdIoriginalTree) =
hd_ _hdOcat _hdOflags _hdOimCast
( _tlIannotatedTree,_tlIoriginalTree) =
tl_ _tlOcat _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_SetClauseList_Nil :: T_SetClauseList
_sem_SetClauseList_Nil =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: SetClauseList
_lhsOoriginalTree :: SetClauseList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 19128 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 19134 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 19140 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 19146 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data Statement = QueryStatement (Annotation) (QueryExpr)
| Insert (Annotation) (Name) (([NameComponent])) (QueryExpr) (MaybeSelectList)
| Update (Annotation) (Name) (SetClauseList) (TableRefList) (MaybeBoolExpr) (MaybeSelectList)
| Delete (Annotation) (Name) (TableRefList) (MaybeBoolExpr) (MaybeSelectList)
| CopyFrom (Annotation) (Name) (([NameComponent])) (CopyFromSource) (([CopyFromOption]))
| CopyData (Annotation) (String)
| CopyTo (Annotation) (CopyToSource) (String) (([CopyToOption]))
| Truncate (Annotation) (([Name])) (RestartIdentity) (Cascade)
| CreateTable (Annotation) (Name) (AttributeDefList) (ConstraintList) (MaybeTablePartitionDef) (Replace) (([TableOption]))
| AlterTable (Annotation) (Name) (AlterTableOperation)
| AlterDatabase (Annotation) (Name) (AlterDatabaseOperation)
| CreateSequence (Annotation) (Name) (Integer) ((Maybe Integer)) ((Maybe Integer)) (Integer) (Integer)
| AlterSequence (Annotation) (Name) (AlterSequenceOperation)
| CreateTableAs (Annotation) (Name) (Replace) (QueryExpr)
| CreateView (Annotation) (Name) (MaybeNameComponentList) (QueryExpr)
| AlterView (Annotation) (Name) (MaybeNameComponentList) (QueryExpr)
| CreateType (Annotation) (Name) (TypeAttributeDefList)
| CreateUser (Annotation) (Name) (String)
| CreateLogin (Annotation) (Name) (String)
| AlterUser (Annotation) (Name) (String)
| AlterLogin (Annotation) (Name) (String)
| CreateSchema (Annotation) (Name) ((Maybe Name))
| AlterSchema (Annotation) (Name) (AlterSchemaOperation)
| CreateFunction (Annotation) (Name) (ParamDefList) (TypeName) (Replace) (Language) (FnBody) (Volatility)
| CreateDomain (Annotation) (Name) (TypeName) (String) (MaybeBoolExpr)
| CreateLanguage (Annotation) (String)
| CreateTrigger (Annotation) (NameComponent) (TriggerWhen) (([TriggerEvent])) (Name) (TriggerFire) (Name) (ScalarExprList)
| DropFunction (Annotation) (IfExists) (NameTypeNameListPairList) (Cascade)
| DropSomething (Annotation) (DropType) (IfExists) (([Name])) (Cascade)
| DropTrigger (Annotation) (IfExists) (NameComponent) (Name) (Cascade)
| CreateDatabase (Annotation) (Name)
| Set (Annotation) (String) (([SetValue]))
| Notify (Annotation) (String)
| Into (Annotation) (Bool) (([Name])) (Statement)
| Assignment (Annotation) (Name) (ScalarExpr)
| Return (Annotation) (MaybeScalarExpr)
| ReturnNext (Annotation) (ScalarExpr)
| ReturnQuery (Annotation) (QueryExpr)
| Raise (Annotation) (RaiseType) (String) (ScalarExprList)
| NullStatement (Annotation)
| Perform (Annotation) (ScalarExpr)
| Execute (Annotation) (ScalarExpr)
| ForQueryStatement (Annotation) ((Maybe String)) (NameComponent) (QueryExpr) (StatementList)
| ForIntegerStatement (Annotation) ((Maybe String)) (NameComponent) (ScalarExpr) (ScalarExpr) (StatementList)
| LoopStatement (Annotation) ((Maybe String)) (StatementList)
| WhileStatement (Annotation) ((Maybe String)) (ScalarExpr) (StatementList)
| ContinueStatement (Annotation) ((Maybe String))
| ExitStatement (Annotation) ((Maybe String))
| CaseStatementSimple (Annotation) (ScalarExpr) (ScalarExprListStatementListTripleList) (StatementList)
| CaseStatement (Annotation) (ScalarExprListStatementListTripleList) (StatementList)
| If (Annotation) (ScalarExprStatementListPairList) (StatementList)
| Block (Annotation) ((Maybe String)) (VarDefList) (StatementList)
| AntiStatement (String)
| DeclareStatement (Annotation) (([(String,TypeName,Maybe ScalarExpr)]))
| ExecStatement (Annotation) (Name) (ScalarExprList)
| CreateIndexTSQL (Annotation) (NameComponent) (Name) (([NameComponent]))
deriving ( Data,Eq,Show,Typeable)
_sem_Statement :: Statement ->
T_Statement
_sem_Statement (QueryStatement _ann _ex) =
(_sem_Statement_QueryStatement (_sem_Annotation _ann) (_sem_QueryExpr _ex))
_sem_Statement (Insert _ann _table _targetCols _insData _returning) =
(_sem_Statement_Insert (_sem_Annotation _ann) (_sem_Name _table) _targetCols (_sem_QueryExpr _insData) (_sem_MaybeSelectList _returning))
_sem_Statement (Update _ann _table _assigns _fromList _whr _returning) =
(_sem_Statement_Update (_sem_Annotation _ann) (_sem_Name _table) (_sem_SetClauseList _assigns) (_sem_TableRefList _fromList) (_sem_MaybeBoolExpr _whr) (_sem_MaybeSelectList _returning))
_sem_Statement (Delete _ann _table _using _whr _returning) =
(_sem_Statement_Delete (_sem_Annotation _ann) (_sem_Name _table) (_sem_TableRefList _using) (_sem_MaybeBoolExpr _whr) (_sem_MaybeSelectList _returning))
_sem_Statement (CopyFrom _ann _table _targetCols _source _opts) =
(_sem_Statement_CopyFrom (_sem_Annotation _ann) (_sem_Name _table) _targetCols _source _opts)
_sem_Statement (CopyData _ann _insData) =
(_sem_Statement_CopyData (_sem_Annotation _ann) _insData)
_sem_Statement (CopyTo _ann _cp _fn _opts) =
(_sem_Statement_CopyTo (_sem_Annotation _ann) _cp _fn _opts)
_sem_Statement (Truncate _ann _tables _restartIdentity _cascade) =
(_sem_Statement_Truncate (_sem_Annotation _ann) _tables _restartIdentity _cascade)
_sem_Statement (CreateTable _ann _name _atts _cons _partition _rep _options) =
(_sem_Statement_CreateTable (_sem_Annotation _ann) (_sem_Name _name) (_sem_AttributeDefList _atts) (_sem_ConstraintList _cons) (_sem_MaybeTablePartitionDef _partition) _rep _options)
_sem_Statement (AlterTable _ann _name _operation) =
(_sem_Statement_AlterTable (_sem_Annotation _ann) (_sem_Name _name) (_sem_AlterTableOperation _operation))
_sem_Statement (AlterDatabase _ann _name _operation) =
(_sem_Statement_AlterDatabase (_sem_Annotation _ann) (_sem_Name _name) (_sem_AlterDatabaseOperation _operation))
_sem_Statement (CreateSequence _ann _name _incr _min _max _start _cache) =
(_sem_Statement_CreateSequence (_sem_Annotation _ann) (_sem_Name _name) _incr _min _max _start _cache)
_sem_Statement (AlterSequence _ann _name _operation) =
(_sem_Statement_AlterSequence (_sem_Annotation _ann) (_sem_Name _name) (_sem_AlterSequenceOperation _operation))
_sem_Statement (CreateTableAs _ann _name _rep _expr) =
(_sem_Statement_CreateTableAs (_sem_Annotation _ann) (_sem_Name _name) _rep (_sem_QueryExpr _expr))
_sem_Statement (CreateView _ann _name _colNames _expr) =
(_sem_Statement_CreateView (_sem_Annotation _ann) (_sem_Name _name) _colNames (_sem_QueryExpr _expr))
_sem_Statement (AlterView _ann _name _colNames _expr) =
(_sem_Statement_AlterView (_sem_Annotation _ann) (_sem_Name _name) _colNames (_sem_QueryExpr _expr))
_sem_Statement (CreateType _ann _name _atts) =
(_sem_Statement_CreateType (_sem_Annotation _ann) (_sem_Name _name) (_sem_TypeAttributeDefList _atts))
_sem_Statement (CreateUser _ann _name _password) =
(_sem_Statement_CreateUser (_sem_Annotation _ann) (_sem_Name _name) _password)
_sem_Statement (CreateLogin _ann _name _password) =
(_sem_Statement_CreateLogin (_sem_Annotation _ann) (_sem_Name _name) _password)
_sem_Statement (AlterUser _ann _name _password) =
(_sem_Statement_AlterUser (_sem_Annotation _ann) (_sem_Name _name) _password)
_sem_Statement (AlterLogin _ann _name _password) =
(_sem_Statement_AlterLogin (_sem_Annotation _ann) (_sem_Name _name) _password)
_sem_Statement (CreateSchema _ann _name _owner) =
(_sem_Statement_CreateSchema (_sem_Annotation _ann) (_sem_Name _name) _owner)
_sem_Statement (AlterSchema _ann _name _operation) =
(_sem_Statement_AlterSchema (_sem_Annotation _ann) (_sem_Name _name) (_sem_AlterSchemaOperation _operation))
_sem_Statement (CreateFunction _ann _name _params _rettype _rep _lang _body _vol) =
(_sem_Statement_CreateFunction (_sem_Annotation _ann) (_sem_Name _name) (_sem_ParamDefList _params) (_sem_TypeName _rettype) _rep _lang (_sem_FnBody _body) _vol)
_sem_Statement (CreateDomain _ann _name _typ _constraintName _check) =
(_sem_Statement_CreateDomain (_sem_Annotation _ann) (_sem_Name _name) (_sem_TypeName _typ) _constraintName (_sem_MaybeBoolExpr _check))
_sem_Statement (CreateLanguage _ann _name) =
(_sem_Statement_CreateLanguage (_sem_Annotation _ann) _name)
_sem_Statement (CreateTrigger _ann _name _wh _events _tbl _firing _fnName _fnArgs) =
(_sem_Statement_CreateTrigger (_sem_Annotation _ann) _name _wh _events (_sem_Name _tbl) _firing (_sem_Name _fnName) (_sem_ScalarExprList _fnArgs))
_sem_Statement (DropFunction _ann _ifE _sigs _cascade) =
(_sem_Statement_DropFunction (_sem_Annotation _ann) _ifE (_sem_NameTypeNameListPairList _sigs) _cascade)
_sem_Statement (DropSomething _ann _dropType _ifE _names _cascade) =
(_sem_Statement_DropSomething (_sem_Annotation _ann) _dropType _ifE _names _cascade)
_sem_Statement (DropTrigger _ann _ifE _name _tbl _cascade) =
(_sem_Statement_DropTrigger (_sem_Annotation _ann) _ifE _name (_sem_Name _tbl) _cascade)
_sem_Statement (CreateDatabase _ann _nm) =
(_sem_Statement_CreateDatabase (_sem_Annotation _ann) (_sem_Name _nm))
_sem_Statement (Set _ann _name _values) =
(_sem_Statement_Set (_sem_Annotation _ann) _name _values)
_sem_Statement (Notify _ann _name) =
(_sem_Statement_Notify (_sem_Annotation _ann) _name)
_sem_Statement (Into _ann _strict _into _stmt) =
(_sem_Statement_Into (_sem_Annotation _ann) _strict _into (_sem_Statement _stmt))
_sem_Statement (Assignment _ann _target _value) =
(_sem_Statement_Assignment (_sem_Annotation _ann) (_sem_Name _target) (_sem_ScalarExpr _value))
_sem_Statement (Return _ann _value) =
(_sem_Statement_Return (_sem_Annotation _ann) (_sem_MaybeScalarExpr _value))
_sem_Statement (ReturnNext _ann _expr) =
(_sem_Statement_ReturnNext (_sem_Annotation _ann) (_sem_ScalarExpr _expr))
_sem_Statement (ReturnQuery _ann _sel) =
(_sem_Statement_ReturnQuery (_sem_Annotation _ann) (_sem_QueryExpr _sel))
_sem_Statement (Raise _ann _level _message _args) =
(_sem_Statement_Raise (_sem_Annotation _ann) _level _message (_sem_ScalarExprList _args))
_sem_Statement (NullStatement _ann) =
(_sem_Statement_NullStatement (_sem_Annotation _ann))
_sem_Statement (Perform _ann _expr) =
(_sem_Statement_Perform (_sem_Annotation _ann) (_sem_ScalarExpr _expr))
_sem_Statement (Execute _ann _expr) =
(_sem_Statement_Execute (_sem_Annotation _ann) (_sem_ScalarExpr _expr))
_sem_Statement (ForQueryStatement _ann _lb _var _sel _sts) =
(_sem_Statement_ForQueryStatement (_sem_Annotation _ann) _lb _var (_sem_QueryExpr _sel) (_sem_StatementList _sts))
_sem_Statement (ForIntegerStatement _ann _lb _var _from _to _sts) =
(_sem_Statement_ForIntegerStatement (_sem_Annotation _ann) _lb _var (_sem_ScalarExpr _from) (_sem_ScalarExpr _to) (_sem_StatementList _sts))
_sem_Statement (LoopStatement _ann _lb _sts) =
(_sem_Statement_LoopStatement (_sem_Annotation _ann) _lb (_sem_StatementList _sts))
_sem_Statement (WhileStatement _ann _lb _expr _sts) =
(_sem_Statement_WhileStatement (_sem_Annotation _ann) _lb (_sem_ScalarExpr _expr) (_sem_StatementList _sts))
_sem_Statement (ContinueStatement _ann _lb) =
(_sem_Statement_ContinueStatement (_sem_Annotation _ann) _lb)
_sem_Statement (ExitStatement _ann _lb) =
(_sem_Statement_ExitStatement (_sem_Annotation _ann) _lb)
_sem_Statement (CaseStatementSimple _ann _val _cases _els) =
(_sem_Statement_CaseStatementSimple (_sem_Annotation _ann) (_sem_ScalarExpr _val) (_sem_ScalarExprListStatementListTripleList _cases) (_sem_StatementList _els))
_sem_Statement (CaseStatement _ann _cases _els) =
(_sem_Statement_CaseStatement (_sem_Annotation _ann) (_sem_ScalarExprListStatementListTripleList _cases) (_sem_StatementList _els))
_sem_Statement (If _ann _cases _els) =
(_sem_Statement_If (_sem_Annotation _ann) (_sem_ScalarExprStatementListPairList _cases) (_sem_StatementList _els))
_sem_Statement (Block _ann _lb _vars _sts) =
(_sem_Statement_Block (_sem_Annotation _ann) _lb (_sem_VarDefList _vars) (_sem_StatementList _sts))
_sem_Statement (AntiStatement _string) =
(_sem_Statement_AntiStatement _string)
_sem_Statement (DeclareStatement _ann _ds) =
(_sem_Statement_DeclareStatement (_sem_Annotation _ann) _ds)
_sem_Statement (ExecStatement _ann _spName _args) =
(_sem_Statement_ExecStatement (_sem_Annotation _ann) (_sem_Name _spName) (_sem_ScalarExprList _args))
_sem_Statement (CreateIndexTSQL _ann _nm _obj _cols) =
(_sem_Statement_CreateIndexTSQL (_sem_Annotation _ann) _nm (_sem_Name _obj) _cols)
type T_Statement = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( Statement,Statement)
data Inh_Statement = Inh_Statement {_cat_Inh_Statement :: Catalog,_flags_Inh_Statement :: TypeCheckFlags,_imCast_Inh_Statement :: (Maybe TypeExtra)}
data Syn_Statement = Syn_Statement {_annotatedTree_Syn_Statement :: Statement,_originalTree_Syn_Statement :: Statement}
_wrap_Statement :: T_Statement ->
Inh_Statement ->
Syn_Statement
_wrap_Statement sem (Inh_Statement _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_Statement _lhsOannotatedTree _lhsOoriginalTree))
_sem_Statement_QueryStatement :: T_Annotation ->
T_QueryExpr ->
T_Statement
_sem_Statement_QueryStatement ann_ ex_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_exOexpectedType :: (Maybe [TypeExtra])
_exOouterDownEnv :: (Maybe Environment)
_exOassignmentCastContext :: Bool
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_exOcat :: Catalog
_exOflags :: TypeCheckFlags
_exOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_exIannotatedTree :: QueryExpr
_exIoriginalTree :: QueryExpr
_exIupType :: (Maybe [(Text,TypeExtra)])
_annOtpe =
({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}
Left []
{-# LINE 19801 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOexpectedType =
({-# LINE 16 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}
liftM (map snd) _exIupType
{-# LINE 19807 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOouterDownEnv =
({-# LINE 91 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
Nothing
{-# LINE 19813 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOassignmentCastContext =
({-# LINE 838 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 19819 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
QueryStatement _annIannotatedTree _exIannotatedTree
{-# LINE 19825 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
QueryStatement _annIoriginalTree _exIoriginalTree
{-# LINE 19831 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 19837 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 19843 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 19849 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 19855 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 19861 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 19867 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 19873 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 19879 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _exIannotatedTree,_exIoriginalTree,_exIupType) =
ex_ _exOassignmentCastContext _exOcat _exOexpectedType _exOflags _exOimCast _exOouterDownEnv
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_Insert :: T_Annotation ->
T_Name ->
([NameComponent]) ->
T_QueryExpr ->
T_MaybeSelectList ->
T_Statement
_sem_Statement_Insert ann_ table_ targetCols_ insData_ returning_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_tpe :: (Either [TypeError] [TypeExtra])
_tableOtpe :: (Either [TypeError] TypeExtra)
_insDataOexpectedType :: (Maybe [TypeExtra])
_insDataOouterDownEnv :: (Maybe Environment)
_tooManyCols :: (Maybe [TypeError])
_insDataOassignmentCastContext :: Bool
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_tableOcat :: Catalog
_tableOflags :: TypeCheckFlags
_tableOimCast :: (Maybe TypeExtra)
_insDataOcat :: Catalog
_insDataOflags :: TypeCheckFlags
_insDataOimCast :: (Maybe TypeExtra)
_returningOcat :: Catalog
_returningOflags :: TypeCheckFlags
_returningOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_tableIannotatedTree :: Name
_tableIoriginalTree :: Name
_insDataIannotatedTree :: QueryExpr
_insDataIoriginalTree :: QueryExpr
_insDataIupType :: (Maybe [(Text,TypeExtra)])
_returningIannotatedTree :: MaybeSelectList
_returningIoriginalTree :: MaybeSelectList
_annOtpe =
({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}
Left []
{-# LINE 19930 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 25 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}
do
let tnm = nameComponents _tableIoriginalTree
(_,pub,_) <- catLookupTableAndAttrs _lhsIcat tnm
case targetCols_ of
[] -> return $ map snd pub
tcs -> do
tcs' <- mapM xnmcString tcs
let utcs' = nub tcs'
when (length utcs' /= length tcs') $
Left $ map DuplicateColumnName
$ nub (tcs' \\ utcs')
forM tcs' $ \x ->
maybe (Left [UnrecognisedIdentifier x])
Right $ lookup x pub
{-# LINE 19949 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tableOtpe =
({-# LINE 44 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}
Left (either id (const []) _tpe
++ maybe [] id _tooManyCols )
{-# LINE 19956 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_insDataOexpectedType =
({-# LINE 47 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 19962 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_insDataOouterDownEnv =
({-# LINE 49 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}
Nothing
{-# LINE 19968 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tooManyCols =
({-# LINE 54 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}
do
x <- _insDataIupType
y <- either (const Nothing) Just _tpe
if (length x > length y)
then Just [TooManyColumnsInInsert]
else Nothing
{-# LINE 19979 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_insDataOassignmentCastContext =
({-# LINE 836 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 19985 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Insert _annIannotatedTree _tableIannotatedTree targetCols_ _insDataIannotatedTree _returningIannotatedTree
{-# LINE 19991 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Insert _annIoriginalTree _tableIoriginalTree targetCols_ _insDataIoriginalTree _returningIoriginalTree
{-# LINE 19997 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 20003 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 20009 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20015 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20021 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20027 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tableOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20033 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tableOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20039 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tableOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20045 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_insDataOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20051 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_insDataOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20057 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_insDataOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20063 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_returningOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20069 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_returningOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20075 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_returningOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20081 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _tableIannotatedTree,_tableIoriginalTree) =
table_ _tableOcat _tableOflags _tableOimCast _tableOtpe
( _insDataIannotatedTree,_insDataIoriginalTree,_insDataIupType) =
insData_ _insDataOassignmentCastContext _insDataOcat _insDataOexpectedType _insDataOflags _insDataOimCast _insDataOouterDownEnv
( _returningIannotatedTree,_returningIoriginalTree) =
returning_ _returningOcat _returningOflags _returningOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_Update :: T_Annotation ->
T_Name ->
T_SetClauseList ->
T_TableRefList ->
T_MaybeBoolExpr ->
T_MaybeSelectList ->
T_Statement
_sem_Statement_Update ann_ table_ assigns_ fromList_ whr_ returning_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _tableOtpe :: (Either [TypeError] TypeExtra)
_whrOdownEnv :: Environment
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_tableOcat :: Catalog
_tableOflags :: TypeCheckFlags
_tableOimCast :: (Maybe TypeExtra)
_assignsOcat :: Catalog
_assignsOflags :: TypeCheckFlags
_assignsOimCast :: (Maybe TypeExtra)
_fromListOcat :: Catalog
_fromListOflags :: TypeCheckFlags
_fromListOimCast :: (Maybe TypeExtra)
_whrOcat :: Catalog
_whrOflags :: TypeCheckFlags
_whrOimCast :: (Maybe TypeExtra)
_returningOcat :: Catalog
_returningOflags :: TypeCheckFlags
_returningOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_tableIannotatedTree :: Name
_tableIoriginalTree :: Name
_assignsIannotatedTree :: SetClauseList
_assignsIoriginalTree :: SetClauseList
_fromListIannotatedTree :: TableRefList
_fromListIoriginalTree :: TableRefList
_fromListIupEnv :: Environment
_whrIannotatedTree :: MaybeBoolExpr
_whrIoriginalTree :: MaybeBoolExpr
_returningIannotatedTree :: MaybeSelectList
_returningIoriginalTree :: MaybeSelectList
_tableOtpe =
({-# LINE 220 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 20143 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_whrOdownEnv =
({-# LINE 221 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 20149 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}
Left []
{-# LINE 20155 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Update _annIannotatedTree _tableIannotatedTree _assignsIannotatedTree _fromListIannotatedTree _whrIannotatedTree _returningIannotatedTree
{-# LINE 20161 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Update _annIoriginalTree _tableIoriginalTree _assignsIoriginalTree _fromListIoriginalTree _whrIoriginalTree _returningIoriginalTree
{-# LINE 20167 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 20173 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 20179 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20185 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20191 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20197 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tableOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20203 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tableOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20209 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tableOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20215 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_assignsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20221 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_assignsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20227 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_assignsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20233 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fromListOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20239 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fromListOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20245 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fromListOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20251 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_whrOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20257 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_whrOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20263 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_whrOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20269 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_returningOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20275 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_returningOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20281 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_returningOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20287 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _tableIannotatedTree,_tableIoriginalTree) =
table_ _tableOcat _tableOflags _tableOimCast _tableOtpe
( _assignsIannotatedTree,_assignsIoriginalTree) =
assigns_ _assignsOcat _assignsOflags _assignsOimCast
( _fromListIannotatedTree,_fromListIoriginalTree,_fromListIupEnv) =
fromList_ _fromListOcat _fromListOflags _fromListOimCast
( _whrIannotatedTree,_whrIoriginalTree) =
whr_ _whrOcat _whrOdownEnv _whrOflags _whrOimCast
( _returningIannotatedTree,_returningIoriginalTree) =
returning_ _returningOcat _returningOflags _returningOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_Delete :: T_Annotation ->
T_Name ->
T_TableRefList ->
T_MaybeBoolExpr ->
T_MaybeSelectList ->
T_Statement
_sem_Statement_Delete ann_ table_ using_ whr_ returning_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _tableOtpe :: (Either [TypeError] TypeExtra)
_whrOdownEnv :: Environment
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_tableOcat :: Catalog
_tableOflags :: TypeCheckFlags
_tableOimCast :: (Maybe TypeExtra)
_usingOcat :: Catalog
_usingOflags :: TypeCheckFlags
_usingOimCast :: (Maybe TypeExtra)
_whrOcat :: Catalog
_whrOflags :: TypeCheckFlags
_whrOimCast :: (Maybe TypeExtra)
_returningOcat :: Catalog
_returningOflags :: TypeCheckFlags
_returningOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_tableIannotatedTree :: Name
_tableIoriginalTree :: Name
_usingIannotatedTree :: TableRefList
_usingIoriginalTree :: TableRefList
_usingIupEnv :: Environment
_whrIannotatedTree :: MaybeBoolExpr
_whrIoriginalTree :: MaybeBoolExpr
_returningIannotatedTree :: MaybeSelectList
_returningIoriginalTree :: MaybeSelectList
_tableOtpe =
({-# LINE 171 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 20347 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_whrOdownEnv =
({-# LINE 172 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 20353 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}
Left []
{-# LINE 20359 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Delete _annIannotatedTree _tableIannotatedTree _usingIannotatedTree _whrIannotatedTree _returningIannotatedTree
{-# LINE 20365 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Delete _annIoriginalTree _tableIoriginalTree _usingIoriginalTree _whrIoriginalTree _returningIoriginalTree
{-# LINE 20371 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 20377 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 20383 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20389 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20395 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20401 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tableOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20407 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tableOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20413 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tableOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20419 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_usingOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20425 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_usingOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20431 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_usingOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20437 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_whrOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20443 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_whrOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20449 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_whrOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20455 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_returningOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20461 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_returningOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20467 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_returningOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20473 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _tableIannotatedTree,_tableIoriginalTree) =
table_ _tableOcat _tableOflags _tableOimCast _tableOtpe
( _usingIannotatedTree,_usingIoriginalTree,_usingIupEnv) =
using_ _usingOcat _usingOflags _usingOimCast
( _whrIannotatedTree,_whrIoriginalTree) =
whr_ _whrOcat _whrOdownEnv _whrOflags _whrOimCast
( _returningIannotatedTree,_returningIoriginalTree) =
returning_ _returningOcat _returningOflags _returningOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_CopyFrom :: T_Annotation ->
T_Name ->
([NameComponent]) ->
CopyFromSource ->
([CopyFromOption]) ->
T_Statement
_sem_Statement_CopyFrom ann_ table_ targetCols_ source_ opts_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _tableOtpe :: (Either [TypeError] TypeExtra)
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_tableOcat :: Catalog
_tableOflags :: TypeCheckFlags
_tableOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_tableIannotatedTree :: Name
_tableIoriginalTree :: Name
_tableOtpe =
({-# LINE 138 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 20514 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}
Left []
{-# LINE 20520 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CopyFrom _annIannotatedTree _tableIannotatedTree targetCols_ source_ opts_
{-# LINE 20526 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CopyFrom _annIoriginalTree _tableIoriginalTree targetCols_ source_ opts_
{-# LINE 20532 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 20538 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 20544 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20550 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20556 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20562 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tableOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20568 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tableOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20574 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tableOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20580 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _tableIannotatedTree,_tableIoriginalTree) =
table_ _tableOcat _tableOflags _tableOimCast _tableOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_CopyData :: T_Annotation ->
String ->
T_Statement
_sem_Statement_CopyData ann_ insData_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 137 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 20606 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CopyData _annIannotatedTree insData_
{-# LINE 20612 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CopyData _annIoriginalTree insData_
{-# LINE 20618 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 20624 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 20630 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20636 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20642 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20648 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_CopyTo :: T_Annotation ->
CopyToSource ->
String ->
([CopyToOption]) ->
T_Statement
_sem_Statement_CopyTo ann_ cp_ fn_ opts_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}
Left []
{-# LINE 20674 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CopyTo _annIannotatedTree cp_ fn_ opts_
{-# LINE 20680 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CopyTo _annIoriginalTree cp_ fn_ opts_
{-# LINE 20686 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 20692 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 20698 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20704 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20710 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20716 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_Truncate :: T_Annotation ->
([Name]) ->
RestartIdentity ->
Cascade ->
T_Statement
_sem_Statement_Truncate ann_ tables_ restartIdentity_ cascade_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}
Left []
{-# LINE 20742 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Truncate _annIannotatedTree tables_ restartIdentity_ cascade_
{-# LINE 20748 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Truncate _annIoriginalTree tables_ restartIdentity_ cascade_
{-# LINE 20754 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 20760 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 20766 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20772 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20778 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20784 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_CreateTable :: T_Annotation ->
T_Name ->
T_AttributeDefList ->
T_ConstraintList ->
T_MaybeTablePartitionDef ->
Replace ->
([TableOption]) ->
T_Statement
_sem_Statement_CreateTable ann_ name_ atts_ cons_ partition_ rep_ options_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_nameOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_nameOcat :: Catalog
_nameOflags :: TypeCheckFlags
_nameOimCast :: (Maybe TypeExtra)
_attsOcat :: Catalog
_attsOflags :: TypeCheckFlags
_attsOimCast :: (Maybe TypeExtra)
_consOcat :: Catalog
_consOflags :: TypeCheckFlags
_consOimCast :: (Maybe TypeExtra)
_partitionOcat :: Catalog
_partitionOflags :: TypeCheckFlags
_partitionOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_nameIannotatedTree :: Name
_nameIoriginalTree :: Name
_attsIannotatedTree :: AttributeDefList
_attsIoriginalTree :: AttributeDefList
_consIannotatedTree :: ConstraintList
_consIoriginalTree :: ConstraintList
_partitionIannotatedTree :: MaybeTablePartitionDef
_partitionIoriginalTree :: MaybeTablePartitionDef
_annOtpe =
({-# LINE 153 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 20834 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOtpe =
({-# LINE 154 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 20840 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateTable _annIannotatedTree _nameIannotatedTree _attsIannotatedTree _consIannotatedTree _partitionIannotatedTree rep_ options_
{-# LINE 20846 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateTable _annIoriginalTree _nameIoriginalTree _attsIoriginalTree _consIoriginalTree _partitionIoriginalTree rep_ options_
{-# LINE 20852 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 20858 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 20864 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20870 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20876 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20882 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20888 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20894 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20900 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_attsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20906 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_attsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20912 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_attsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20918 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_consOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20924 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_consOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20930 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_consOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20936 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_partitionOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 20942 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_partitionOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 20948 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_partitionOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 20954 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _nameIannotatedTree,_nameIoriginalTree) =
name_ _nameOcat _nameOflags _nameOimCast _nameOtpe
( _attsIannotatedTree,_attsIoriginalTree) =
atts_ _attsOcat _attsOflags _attsOimCast
( _consIannotatedTree,_consIoriginalTree) =
cons_ _consOcat _consOflags _consOimCast
( _partitionIannotatedTree,_partitionIoriginalTree) =
partition_ _partitionOcat _partitionOflags _partitionOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_AlterTable :: T_Annotation ->
T_Name ->
T_AlterTableOperation ->
T_Statement
_sem_Statement_AlterTable ann_ name_ operation_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_nameOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_nameOcat :: Catalog
_nameOflags :: TypeCheckFlags
_nameOimCast :: (Maybe TypeExtra)
_operationOcat :: Catalog
_operationOflags :: TypeCheckFlags
_operationOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_nameIannotatedTree :: Name
_nameIoriginalTree :: Name
_operationIannotatedTree :: AlterTableOperation
_operationIoriginalTree :: AlterTableOperation
_annOtpe =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 20998 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOtpe =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 21004 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterTable _annIannotatedTree _nameIannotatedTree _operationIannotatedTree
{-# LINE 21010 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterTable _annIoriginalTree _nameIoriginalTree _operationIoriginalTree
{-# LINE 21016 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 21022 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 21028 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21034 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21040 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21046 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21052 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21058 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21064 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_operationOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21070 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_operationOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21076 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_operationOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21082 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _nameIannotatedTree,_nameIoriginalTree) =
name_ _nameOcat _nameOflags _nameOimCast _nameOtpe
( _operationIannotatedTree,_operationIoriginalTree) =
operation_ _operationOcat _operationOflags _operationOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_AlterDatabase :: T_Annotation ->
T_Name ->
T_AlterDatabaseOperation ->
T_Statement
_sem_Statement_AlterDatabase ann_ name_ operation_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_nameOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_nameOcat :: Catalog
_nameOflags :: TypeCheckFlags
_nameOimCast :: (Maybe TypeExtra)
_operationOcat :: Catalog
_operationOflags :: TypeCheckFlags
_operationOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_nameIannotatedTree :: Name
_nameIoriginalTree :: Name
_operationIannotatedTree :: AlterDatabaseOperation
_operationIoriginalTree :: AlterDatabaseOperation
_annOtpe =
({-# LINE 111 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 21122 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOtpe =
({-# LINE 112 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 21128 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterDatabase _annIannotatedTree _nameIannotatedTree _operationIannotatedTree
{-# LINE 21134 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterDatabase _annIoriginalTree _nameIoriginalTree _operationIoriginalTree
{-# LINE 21140 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 21146 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 21152 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21158 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21164 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21170 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21176 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21182 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21188 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_operationOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21194 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_operationOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21200 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_operationOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21206 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _nameIannotatedTree,_nameIoriginalTree) =
name_ _nameOcat _nameOflags _nameOimCast _nameOtpe
( _operationIannotatedTree,_operationIoriginalTree) =
operation_ _operationOcat _operationOflags _operationOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_CreateSequence :: T_Annotation ->
T_Name ->
Integer ->
(Maybe Integer) ->
(Maybe Integer) ->
Integer ->
Integer ->
T_Statement
_sem_Statement_CreateSequence ann_ name_ incr_ min_ max_ start_ cache_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_nameOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_nameOcat :: Catalog
_nameOflags :: TypeCheckFlags
_nameOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_nameIannotatedTree :: Name
_nameIoriginalTree :: Name
_annOtpe =
({-# LINE 151 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 21245 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOtpe =
({-# LINE 152 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 21251 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateSequence _annIannotatedTree _nameIannotatedTree incr_ min_ max_ start_ cache_
{-# LINE 21257 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateSequence _annIoriginalTree _nameIoriginalTree incr_ min_ max_ start_ cache_
{-# LINE 21263 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 21269 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 21275 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21281 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21287 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21293 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21299 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21305 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21311 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _nameIannotatedTree,_nameIoriginalTree) =
name_ _nameOcat _nameOflags _nameOimCast _nameOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_AlterSequence :: T_Annotation ->
T_Name ->
T_AlterSequenceOperation ->
T_Statement
_sem_Statement_AlterSequence ann_ name_ operation_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_nameOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_nameOcat :: Catalog
_nameOflags :: TypeCheckFlags
_nameOimCast :: (Maybe TypeExtra)
_operationOcat :: Catalog
_operationOflags :: TypeCheckFlags
_operationOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_nameIannotatedTree :: Name
_nameIoriginalTree :: Name
_operationIannotatedTree :: AlterSequenceOperation
_operationIoriginalTree :: AlterSequenceOperation
_annOtpe =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 21349 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOtpe =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 21355 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSequence _annIannotatedTree _nameIannotatedTree _operationIannotatedTree
{-# LINE 21361 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSequence _annIoriginalTree _nameIoriginalTree _operationIoriginalTree
{-# LINE 21367 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 21373 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 21379 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21385 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21391 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21397 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21403 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21409 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21415 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_operationOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21421 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_operationOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21427 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_operationOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21433 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _nameIannotatedTree,_nameIoriginalTree) =
name_ _nameOcat _nameOflags _nameOimCast _nameOtpe
( _operationIannotatedTree,_operationIoriginalTree) =
operation_ _operationOcat _operationOflags _operationOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_CreateTableAs :: T_Annotation ->
T_Name ->
Replace ->
T_QueryExpr ->
T_Statement
_sem_Statement_CreateTableAs ann_ name_ rep_ expr_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_exprOouterDownEnv :: (Maybe Environment)
_nameOtpe :: (Either [TypeError] TypeExtra)
_exprOexpectedType :: (Maybe [TypeExtra])
_exprOassignmentCastContext :: Bool
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_nameOcat :: Catalog
_nameOflags :: TypeCheckFlags
_nameOimCast :: (Maybe TypeExtra)
_exprOcat :: Catalog
_exprOflags :: TypeCheckFlags
_exprOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_nameIannotatedTree :: Name
_nameIoriginalTree :: Name
_exprIannotatedTree :: QueryExpr
_exprIoriginalTree :: QueryExpr
_exprIupType :: (Maybe [(Text,TypeExtra)])
_annOtpe =
({-# LINE 155 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 21478 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOouterDownEnv =
({-# LINE 156 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 21484 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOtpe =
({-# LINE 157 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 21490 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedType =
({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}
liftM (map snd) _exprIupType
{-# LINE 21496 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOassignmentCastContext =
({-# LINE 828 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 21502 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateTableAs _annIannotatedTree _nameIannotatedTree rep_ _exprIannotatedTree
{-# LINE 21508 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateTableAs _annIoriginalTree _nameIoriginalTree rep_ _exprIoriginalTree
{-# LINE 21514 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 21520 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 21526 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21532 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21538 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21544 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21550 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21556 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21562 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21568 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21574 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21580 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _nameIannotatedTree,_nameIoriginalTree) =
name_ _nameOcat _nameOflags _nameOimCast _nameOtpe
( _exprIannotatedTree,_exprIoriginalTree,_exprIupType) =
expr_ _exprOassignmentCastContext _exprOcat _exprOexpectedType _exprOflags _exprOimCast _exprOouterDownEnv
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_CreateView :: T_Annotation ->
T_Name ->
MaybeNameComponentList ->
T_QueryExpr ->
T_Statement
_sem_Statement_CreateView ann_ name_ colNames_ expr_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_exprOouterDownEnv :: (Maybe Environment)
_nameOtpe :: (Either [TypeError] TypeExtra)
_exprOexpectedType :: (Maybe [TypeExtra])
_exprOassignmentCastContext :: Bool
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_nameOcat :: Catalog
_nameOflags :: TypeCheckFlags
_nameOimCast :: (Maybe TypeExtra)
_exprOcat :: Catalog
_exprOflags :: TypeCheckFlags
_exprOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_nameIannotatedTree :: Name
_nameIoriginalTree :: Name
_exprIannotatedTree :: QueryExpr
_exprIoriginalTree :: QueryExpr
_exprIupType :: (Maybe [(Text,TypeExtra)])
_annOtpe =
({-# LINE 168 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 21625 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOouterDownEnv =
({-# LINE 169 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 21631 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOtpe =
({-# LINE 170 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 21637 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedType =
({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}
liftM (map snd) _exprIupType
{-# LINE 21643 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOassignmentCastContext =
({-# LINE 830 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 21649 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateView _annIannotatedTree _nameIannotatedTree colNames_ _exprIannotatedTree
{-# LINE 21655 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateView _annIoriginalTree _nameIoriginalTree colNames_ _exprIoriginalTree
{-# LINE 21661 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 21667 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 21673 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21679 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21685 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21691 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21697 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21703 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21709 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21715 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21721 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21727 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _nameIannotatedTree,_nameIoriginalTree) =
name_ _nameOcat _nameOflags _nameOimCast _nameOtpe
( _exprIannotatedTree,_exprIoriginalTree,_exprIupType) =
expr_ _exprOassignmentCastContext _exprOcat _exprOexpectedType _exprOflags _exprOimCast _exprOouterDownEnv
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_AlterView :: T_Annotation ->
T_Name ->
MaybeNameComponentList ->
T_QueryExpr ->
T_Statement
_sem_Statement_AlterView ann_ name_ colNames_ expr_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_exprOexpectedType :: (Maybe [TypeExtra])
_exprOouterDownEnv :: (Maybe Environment)
_nameOtpe :: (Either [TypeError] TypeExtra)
_exprOassignmentCastContext :: Bool
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_nameOcat :: Catalog
_nameOflags :: TypeCheckFlags
_nameOimCast :: (Maybe TypeExtra)
_exprOcat :: Catalog
_exprOflags :: TypeCheckFlags
_exprOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_nameIannotatedTree :: Name
_nameIoriginalTree :: Name
_exprIannotatedTree :: QueryExpr
_exprIoriginalTree :: QueryExpr
_exprIupType :: (Maybe [(Text,TypeExtra)])
_annOtpe =
({-# LINE 122 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 21772 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedType =
({-# LINE 123 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 21778 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOouterDownEnv =
({-# LINE 124 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 21784 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOtpe =
({-# LINE 125 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 21790 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOassignmentCastContext =
({-# LINE 825 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 21796 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterView _annIannotatedTree _nameIannotatedTree colNames_ _exprIannotatedTree
{-# LINE 21802 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterView _annIoriginalTree _nameIoriginalTree colNames_ _exprIoriginalTree
{-# LINE 21808 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 21814 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 21820 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21826 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21832 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21838 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21844 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21850 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21856 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21862 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21868 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21874 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _nameIannotatedTree,_nameIoriginalTree) =
name_ _nameOcat _nameOflags _nameOimCast _nameOtpe
( _exprIannotatedTree,_exprIoriginalTree,_exprIupType) =
expr_ _exprOassignmentCastContext _exprOcat _exprOexpectedType _exprOflags _exprOimCast _exprOouterDownEnv
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_CreateType :: T_Annotation ->
T_Name ->
T_TypeAttributeDefList ->
T_Statement
_sem_Statement_CreateType ann_ name_ atts_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_nameOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_nameOcat :: Catalog
_nameOflags :: TypeCheckFlags
_nameOimCast :: (Maybe TypeExtra)
_attsOcat :: Catalog
_attsOflags :: TypeCheckFlags
_attsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_nameIannotatedTree :: Name
_nameIoriginalTree :: Name
_attsIannotatedTree :: TypeAttributeDefList
_attsIoriginalTree :: TypeAttributeDefList
_annOtpe =
({-# LINE 164 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 21914 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOtpe =
({-# LINE 165 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 21920 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateType _annIannotatedTree _nameIannotatedTree _attsIannotatedTree
{-# LINE 21926 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateType _annIoriginalTree _nameIoriginalTree _attsIoriginalTree
{-# LINE 21932 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 21938 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 21944 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21950 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21956 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21962 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21968 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21974 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21980 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_attsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 21986 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_attsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 21992 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_attsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 21998 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _nameIannotatedTree,_nameIoriginalTree) =
name_ _nameOcat _nameOflags _nameOimCast _nameOtpe
( _attsIannotatedTree,_attsIoriginalTree) =
atts_ _attsOcat _attsOflags _attsOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_CreateUser :: T_Annotation ->
T_Name ->
String ->
T_Statement
_sem_Statement_CreateUser ann_ name_ password_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_nameOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_nameOcat :: Catalog
_nameOflags :: TypeCheckFlags
_nameOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_nameIannotatedTree :: Name
_nameIoriginalTree :: Name
_annOtpe =
({-# LINE 166 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 22033 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOtpe =
({-# LINE 167 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 22039 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateUser _annIannotatedTree _nameIannotatedTree password_
{-# LINE 22045 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateUser _annIoriginalTree _nameIoriginalTree password_
{-# LINE 22051 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 22057 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 22063 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22069 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22075 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22081 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22087 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22093 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22099 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _nameIannotatedTree,_nameIoriginalTree) =
name_ _nameOcat _nameOflags _nameOimCast _nameOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_CreateLogin :: T_Annotation ->
T_Name ->
String ->
T_Statement
_sem_Statement_CreateLogin ann_ name_ password_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_nameOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_nameOcat :: Catalog
_nameOflags :: TypeCheckFlags
_nameOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_nameIannotatedTree :: Name
_nameIoriginalTree :: Name
_annOtpe =
({-# LINE 148 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 22132 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOtpe =
({-# LINE 149 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 22138 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateLogin _annIannotatedTree _nameIannotatedTree password_
{-# LINE 22144 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateLogin _annIoriginalTree _nameIoriginalTree password_
{-# LINE 22150 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 22156 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 22162 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22168 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22174 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22180 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22186 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22192 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22198 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _nameIannotatedTree,_nameIoriginalTree) =
name_ _nameOcat _nameOflags _nameOimCast _nameOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_AlterUser :: T_Annotation ->
T_Name ->
String ->
T_Statement
_sem_Statement_AlterUser ann_ name_ password_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_nameOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_nameOcat :: Catalog
_nameOflags :: TypeCheckFlags
_nameOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_nameIannotatedTree :: Name
_nameIoriginalTree :: Name
_annOtpe =
({-# LINE 120 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 22231 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOtpe =
({-# LINE 121 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 22237 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterUser _annIannotatedTree _nameIannotatedTree password_
{-# LINE 22243 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterUser _annIoriginalTree _nameIoriginalTree password_
{-# LINE 22249 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 22255 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 22261 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22267 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22273 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22279 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22285 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22291 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22297 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _nameIannotatedTree,_nameIoriginalTree) =
name_ _nameOcat _nameOflags _nameOimCast _nameOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_AlterLogin :: T_Annotation ->
T_Name ->
String ->
T_Statement
_sem_Statement_AlterLogin ann_ name_ password_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_nameOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_nameOcat :: Catalog
_nameOflags :: TypeCheckFlags
_nameOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_nameIannotatedTree :: Name
_nameIoriginalTree :: Name
_annOtpe =
({-# LINE 113 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 22330 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOtpe =
({-# LINE 114 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 22336 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterLogin _annIannotatedTree _nameIannotatedTree password_
{-# LINE 22342 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterLogin _annIoriginalTree _nameIoriginalTree password_
{-# LINE 22348 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 22354 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 22360 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22366 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22372 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22378 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22384 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22390 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22396 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _nameIannotatedTree,_nameIoriginalTree) =
name_ _nameOcat _nameOflags _nameOimCast _nameOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_CreateSchema :: T_Annotation ->
T_Name ->
(Maybe Name) ->
T_Statement
_sem_Statement_CreateSchema ann_ name_ owner_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_nameOcat :: Catalog
_nameOflags :: TypeCheckFlags
_nameOimCast :: (Maybe TypeExtra)
_nameOtpe :: (Either [TypeError] TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_nameIannotatedTree :: Name
_nameIoriginalTree :: Name
_annOtpe =
({-# LINE 150 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 22429 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateSchema _annIannotatedTree _nameIannotatedTree owner_
{-# LINE 22435 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateSchema _annIoriginalTree _nameIoriginalTree owner_
{-# LINE 22441 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 22447 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 22453 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22459 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22465 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22471 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22477 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22483 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22489 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOtpe =
({-# LINE 46 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
error "missing rule: Statement.CreateSchema.name.tpe"
{-# LINE 22495 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _nameIannotatedTree,_nameIoriginalTree) =
name_ _nameOcat _nameOflags _nameOimCast _nameOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_AlterSchema :: T_Annotation ->
T_Name ->
T_AlterSchemaOperation ->
T_Statement
_sem_Statement_AlterSchema ann_ name_ operation_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_nameOcat :: Catalog
_nameOflags :: TypeCheckFlags
_nameOimCast :: (Maybe TypeExtra)
_nameOtpe :: (Either [TypeError] TypeExtra)
_operationOcat :: Catalog
_operationOflags :: TypeCheckFlags
_operationOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_nameIannotatedTree :: Name
_nameIoriginalTree :: Name
_operationIannotatedTree :: AlterSchemaOperation
_operationIoriginalTree :: AlterSchemaOperation
_annOtpe =
({-# LINE 115 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 22533 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSchema _annIannotatedTree _nameIannotatedTree _operationIannotatedTree
{-# LINE 22539 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AlterSchema _annIoriginalTree _nameIoriginalTree _operationIoriginalTree
{-# LINE 22545 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 22551 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 22557 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22563 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22569 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22575 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22581 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22587 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22593 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOtpe =
({-# LINE 46 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
error "missing rule: Statement.AlterSchema.name.tpe"
{-# LINE 22599 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_operationOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22605 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_operationOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22611 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_operationOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22617 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _nameIannotatedTree,_nameIoriginalTree) =
name_ _nameOcat _nameOflags _nameOimCast _nameOtpe
( _operationIannotatedTree,_operationIoriginalTree) =
operation_ _operationOcat _operationOflags _operationOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_CreateFunction :: T_Annotation ->
T_Name ->
T_ParamDefList ->
T_TypeName ->
Replace ->
Language ->
T_FnBody ->
Volatility ->
T_Statement
_sem_Statement_CreateFunction ann_ name_ params_ rettype_ rep_ lang_ body_ vol_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_nameOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_nameOcat :: Catalog
_nameOflags :: TypeCheckFlags
_nameOimCast :: (Maybe TypeExtra)
_paramsOcat :: Catalog
_paramsOflags :: TypeCheckFlags
_paramsOimCast :: (Maybe TypeExtra)
_rettypeOcat :: Catalog
_rettypeOflags :: TypeCheckFlags
_rettypeOimCast :: (Maybe TypeExtra)
_bodyOcat :: Catalog
_bodyOflags :: TypeCheckFlags
_bodyOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_nameIannotatedTree :: Name
_nameIoriginalTree :: Name
_paramsIannotatedTree :: ParamDefList
_paramsIoriginalTree :: ParamDefList
_rettypeIannotatedTree :: TypeName
_rettypeInamedType :: (Maybe TypeExtra)
_rettypeIoriginalTree :: TypeName
_bodyIannotatedTree :: FnBody
_bodyIoriginalTree :: FnBody
_annOtpe =
({-# LINE 144 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 22673 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOtpe =
({-# LINE 145 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 22679 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateFunction _annIannotatedTree _nameIannotatedTree _paramsIannotatedTree _rettypeIannotatedTree rep_ lang_ _bodyIannotatedTree vol_
{-# LINE 22685 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateFunction _annIoriginalTree _nameIoriginalTree _paramsIoriginalTree _rettypeIoriginalTree rep_ lang_ _bodyIoriginalTree vol_
{-# LINE 22691 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 22697 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 22703 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22709 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22715 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22721 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22727 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22733 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22739 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_paramsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22745 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_paramsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22751 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_paramsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22757 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_rettypeOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22763 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_rettypeOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22769 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_rettypeOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22775 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_bodyOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22781 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_bodyOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22787 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_bodyOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22793 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _nameIannotatedTree,_nameIoriginalTree) =
name_ _nameOcat _nameOflags _nameOimCast _nameOtpe
( _paramsIannotatedTree,_paramsIoriginalTree) =
params_ _paramsOcat _paramsOflags _paramsOimCast
( _rettypeIannotatedTree,_rettypeInamedType,_rettypeIoriginalTree) =
rettype_ _rettypeOcat _rettypeOflags _rettypeOimCast
( _bodyIannotatedTree,_bodyIoriginalTree) =
body_ _bodyOcat _bodyOflags _bodyOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_CreateDomain :: T_Annotation ->
T_Name ->
T_TypeName ->
String ->
T_MaybeBoolExpr ->
T_Statement
_sem_Statement_CreateDomain ann_ name_ typ_ constraintName_ check_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_checkOdownEnv :: Environment
_nameOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_nameOcat :: Catalog
_nameOflags :: TypeCheckFlags
_nameOimCast :: (Maybe TypeExtra)
_typOcat :: Catalog
_typOflags :: TypeCheckFlags
_typOimCast :: (Maybe TypeExtra)
_checkOcat :: Catalog
_checkOflags :: TypeCheckFlags
_checkOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_nameIannotatedTree :: Name
_nameIoriginalTree :: Name
_typIannotatedTree :: TypeName
_typInamedType :: (Maybe TypeExtra)
_typIoriginalTree :: TypeName
_checkIannotatedTree :: MaybeBoolExpr
_checkIoriginalTree :: MaybeBoolExpr
_annOtpe =
({-# LINE 141 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 22846 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_checkOdownEnv =
({-# LINE 142 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 22852 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOtpe =
({-# LINE 143 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 22858 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateDomain _annIannotatedTree _nameIannotatedTree _typIannotatedTree constraintName_ _checkIannotatedTree
{-# LINE 22864 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateDomain _annIoriginalTree _nameIoriginalTree _typIoriginalTree constraintName_ _checkIoriginalTree
{-# LINE 22870 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 22876 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 22882 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22888 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22894 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22900 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22906 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22912 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22918 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22924 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22930 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22936 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_checkOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 22942 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_checkOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 22948 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_checkOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 22954 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _nameIannotatedTree,_nameIoriginalTree) =
name_ _nameOcat _nameOflags _nameOimCast _nameOtpe
( _typIannotatedTree,_typInamedType,_typIoriginalTree) =
typ_ _typOcat _typOflags _typOimCast
( _checkIannotatedTree,_checkIoriginalTree) =
check_ _checkOcat _checkOdownEnv _checkOflags _checkOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_CreateLanguage :: T_Annotation ->
String ->
T_Statement
_sem_Statement_CreateLanguage ann_ name_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 147 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 22984 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateLanguage _annIannotatedTree name_
{-# LINE 22990 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateLanguage _annIoriginalTree name_
{-# LINE 22996 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 23002 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 23008 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 23014 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 23020 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 23026 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_CreateTrigger :: T_Annotation ->
NameComponent ->
TriggerWhen ->
([TriggerEvent]) ->
T_Name ->
TriggerFire ->
T_Name ->
T_ScalarExprList ->
T_Statement
_sem_Statement_CreateTrigger ann_ name_ wh_ events_ tbl_ firing_ fnName_ fnArgs_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_fnArgsOdownEnv :: Environment
_fnArgsOexpectedCast :: Bool
_fnArgsOexpectedTypes :: ([TypeExtra])
_fnNameOtpe :: (Either [TypeError] TypeExtra)
_tblOtpe :: (Either [TypeError] TypeExtra)
_fnArgsOassignmentCastContext :: Bool
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_tblOcat :: Catalog
_tblOflags :: TypeCheckFlags
_tblOimCast :: (Maybe TypeExtra)
_fnNameOcat :: Catalog
_fnNameOflags :: TypeCheckFlags
_fnNameOimCast :: (Maybe TypeExtra)
_fnArgsOcat :: Catalog
_fnArgsOflags :: TypeCheckFlags
_fnArgsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_tblIannotatedTree :: Name
_tblIoriginalTree :: Name
_fnNameIannotatedTree :: Name
_fnNameIoriginalTree :: Name
_fnArgsIannotatedTree :: ScalarExprList
_fnArgsIoriginalTree :: ScalarExprList
_fnArgsIupTypes :: ([Maybe TypeExtra])
_annOtpe =
({-# LINE 158 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 23078 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnArgsOdownEnv =
({-# LINE 159 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 23084 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnArgsOexpectedCast =
({-# LINE 160 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 23090 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnArgsOexpectedTypes =
({-# LINE 161 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
[]
{-# LINE 23096 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnNameOtpe =
({-# LINE 162 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 23102 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tblOtpe =
({-# LINE 163 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 23108 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnArgsOassignmentCastContext =
({-# LINE 829 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 23114 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateTrigger _annIannotatedTree name_ wh_ events_ _tblIannotatedTree firing_ _fnNameIannotatedTree _fnArgsIannotatedTree
{-# LINE 23120 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateTrigger _annIoriginalTree name_ wh_ events_ _tblIoriginalTree firing_ _fnNameIoriginalTree _fnArgsIoriginalTree
{-# LINE 23126 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 23132 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 23138 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 23144 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 23150 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 23156 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tblOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 23162 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tblOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 23168 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tblOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 23174 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnNameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 23180 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnNameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 23186 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnNameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 23192 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnArgsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 23198 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnArgsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 23204 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnArgsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 23210 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _tblIannotatedTree,_tblIoriginalTree) =
tbl_ _tblOcat _tblOflags _tblOimCast _tblOtpe
( _fnNameIannotatedTree,_fnNameIoriginalTree) =
fnName_ _fnNameOcat _fnNameOflags _fnNameOimCast _fnNameOtpe
( _fnArgsIannotatedTree,_fnArgsIoriginalTree,_fnArgsIupTypes) =
fnArgs_ _fnArgsOassignmentCastContext _fnArgsOcat _fnArgsOdownEnv _fnArgsOexpectedCast _fnArgsOexpectedTypes _fnArgsOflags _fnArgsOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_DropFunction :: T_Annotation ->
IfExists ->
T_NameTypeNameListPairList ->
Cascade ->
T_Statement
_sem_Statement_DropFunction ann_ ifE_ sigs_ cascade_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_sigsOcat :: Catalog
_sigsOflags :: TypeCheckFlags
_sigsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_sigsIannotatedTree :: NameTypeNameListPairList
_sigsIoriginalTree :: NameTypeNameListPairList
_annOtpe =
({-# LINE 173 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 23247 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
DropFunction _annIannotatedTree ifE_ _sigsIannotatedTree cascade_
{-# LINE 23253 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
DropFunction _annIoriginalTree ifE_ _sigsIoriginalTree cascade_
{-# LINE 23259 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 23265 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 23271 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 23277 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 23283 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 23289 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_sigsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 23295 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_sigsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 23301 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_sigsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 23307 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _sigsIannotatedTree,_sigsIoriginalTree) =
sigs_ _sigsOcat _sigsOflags _sigsOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_DropSomething :: T_Annotation ->
DropType ->
IfExists ->
([Name]) ->
Cascade ->
T_Statement
_sem_Statement_DropSomething ann_ dropType_ ifE_ names_ cascade_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}
Left []
{-# LINE 23336 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
DropSomething _annIannotatedTree dropType_ ifE_ names_ cascade_
{-# LINE 23342 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
DropSomething _annIoriginalTree dropType_ ifE_ names_ cascade_
{-# LINE 23348 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 23354 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 23360 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 23366 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 23372 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 23378 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_DropTrigger :: T_Annotation ->
IfExists ->
NameComponent ->
T_Name ->
Cascade ->
T_Statement
_sem_Statement_DropTrigger ann_ ifE_ name_ tbl_ cascade_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _tblOtpe :: (Either [TypeError] TypeExtra)
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_tblOcat :: Catalog
_tblOflags :: TypeCheckFlags
_tblOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_tblIannotatedTree :: Name
_tblIoriginalTree :: Name
_tblOtpe =
({-# LINE 174 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 23411 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}
Left []
{-# LINE 23417 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
DropTrigger _annIannotatedTree ifE_ name_ _tblIannotatedTree cascade_
{-# LINE 23423 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
DropTrigger _annIoriginalTree ifE_ name_ _tblIoriginalTree cascade_
{-# LINE 23429 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 23435 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 23441 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 23447 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 23453 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 23459 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tblOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 23465 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tblOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 23471 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tblOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 23477 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _tblIannotatedTree,_tblIoriginalTree) =
tbl_ _tblOcat _tblOflags _tblOimCast _tblOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_CreateDatabase :: T_Annotation ->
T_Name ->
T_Statement
_sem_Statement_CreateDatabase ann_ nm_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_nmOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_nmOcat :: Catalog
_nmOflags :: TypeCheckFlags
_nmOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_nmIannotatedTree :: Name
_nmIoriginalTree :: Name
_annOtpe =
({-# LINE 139 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 23509 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nmOtpe =
({-# LINE 140 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 23515 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateDatabase _annIannotatedTree _nmIannotatedTree
{-# LINE 23521 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateDatabase _annIoriginalTree _nmIoriginalTree
{-# LINE 23527 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 23533 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 23539 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 23545 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 23551 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 23557 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nmOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 23563 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nmOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 23569 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_nmOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 23575 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _nmIannotatedTree,_nmIoriginalTree) =
nm_ _nmOcat _nmOflags _nmOimCast _nmOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_Set :: T_Annotation ->
String ->
([SetValue]) ->
T_Statement
_sem_Statement_Set ann_ name_ values_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 219 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 23602 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Set _annIannotatedTree name_ values_
{-# LINE 23608 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Set _annIoriginalTree name_ values_
{-# LINE 23614 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 23620 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 23626 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 23632 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 23638 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 23644 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_Notify :: T_Annotation ->
String ->
T_Statement
_sem_Statement_Notify ann_ name_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 197 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 23668 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Notify _annIannotatedTree name_
{-# LINE 23674 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Notify _annIoriginalTree name_
{-# LINE 23680 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 23686 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 23692 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 23698 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 23704 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 23710 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_Into :: T_Annotation ->
Bool ->
([Name]) ->
T_Statement ->
T_Statement
_sem_Statement_Into ann_ strict_ into_ stmt_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_stmtOcat :: Catalog
_stmtOflags :: TypeCheckFlags
_stmtOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_stmtIannotatedTree :: Statement
_stmtIoriginalTree :: Statement
_annOtpe =
({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}
Left []
{-# LINE 23741 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Into _annIannotatedTree strict_ into_ _stmtIannotatedTree
{-# LINE 23747 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Into _annIoriginalTree strict_ into_ _stmtIoriginalTree
{-# LINE 23753 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 23759 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 23765 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 23771 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 23777 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 23783 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_stmtOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 23789 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_stmtOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 23795 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_stmtOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 23801 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _stmtIannotatedTree,_stmtIoriginalTree) =
stmt_ _stmtOcat _stmtOflags _stmtOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_Assignment :: T_Annotation ->
T_Name ->
T_ScalarExpr ->
T_Statement
_sem_Statement_Assignment ann_ target_ value_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _valueOexpectedCast :: Bool
_valueOexpectedType :: (Maybe TypeExtra)
_valueOodbcFunction :: Bool
_annOtpe :: (Either [TypeError] TypeExtra)
_targetOtpe :: (Either [TypeError] TypeExtra)
_valueOdownEnv :: Environment
_valueOassignmentCastContext :: Bool
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_targetOcat :: Catalog
_targetOflags :: TypeCheckFlags
_targetOimCast :: (Maybe TypeExtra)
_valueOcat :: Catalog
_valueOflags :: TypeCheckFlags
_valueOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_targetIannotatedTree :: Name
_targetIoriginalTree :: Name
_valueIannotatedTree :: ScalarExpr
_valueIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_valueIoriginalTree :: ScalarExpr
_valueIupType :: (Maybe TypeExtra)
_valueOexpectedCast =
({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 23846 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOexpectedType =
({-# LINE 127 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 23852 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOodbcFunction =
({-# LINE 128 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 23858 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}
Left []
{-# LINE 23864 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_targetOtpe =
({-# LINE 26 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}
Left []
{-# LINE 23870 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOdownEnv =
({-# LINE 27 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}
E.emptyEnvironment
{-# LINE 23876 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOassignmentCastContext =
({-# LINE 826 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 23882 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Assignment _annIannotatedTree _targetIannotatedTree _valueIannotatedTree
{-# LINE 23888 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Assignment _annIoriginalTree _targetIoriginalTree _valueIoriginalTree
{-# LINE 23894 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 23900 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 23906 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 23912 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 23918 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 23924 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_targetOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 23930 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_targetOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 23936 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_targetOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 23942 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 23948 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 23954 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 23960 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _targetIannotatedTree,_targetIoriginalTree) =
target_ _targetOcat _targetOflags _targetOimCast _targetOtpe
( _valueIannotatedTree,_valueIcolExprs,_valueIoriginalTree,_valueIupType) =
value_ _valueOassignmentCastContext _valueOcat _valueOdownEnv _valueOexpectedCast _valueOexpectedType _valueOflags _valueOimCast _valueOodbcFunction
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_Return :: T_Annotation ->
T_MaybeScalarExpr ->
T_Statement
_sem_Statement_Return ann_ value_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_valueOdownEnv :: Environment
_valueOexpectedCast :: Bool
_valueOexpectedType :: (Maybe TypeExtra)
_valueOassignmentCastContext :: Bool
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_valueOcat :: Catalog
_valueOflags :: TypeCheckFlags
_valueOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_valueIannotatedTree :: MaybeScalarExpr
_valueIoriginalTree :: MaybeScalarExpr
_valueIupType :: (Maybe TypeExtra)
_annOtpe =
({-# LINE 208 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 23998 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOdownEnv =
({-# LINE 209 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 24004 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOexpectedCast =
({-# LINE 210 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 24010 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOexpectedType =
({-# LINE 211 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 24016 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOassignmentCastContext =
({-# LINE 840 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 24022 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Return _annIannotatedTree _valueIannotatedTree
{-# LINE 24028 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Return _annIoriginalTree _valueIoriginalTree
{-# LINE 24034 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 24040 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 24046 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 24052 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 24058 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 24064 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 24070 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 24076 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valueOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 24082 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _valueIannotatedTree,_valueIoriginalTree,_valueIupType) =
value_ _valueOassignmentCastContext _valueOcat _valueOdownEnv _valueOexpectedCast _valueOexpectedType _valueOflags _valueOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_ReturnNext :: T_Annotation ->
T_ScalarExpr ->
T_Statement
_sem_Statement_ReturnNext ann_ expr_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_exprOdownEnv :: Environment
_exprOexpectedCast :: Bool
_exprOexpectedType :: (Maybe TypeExtra)
_exprOodbcFunction :: Bool
_exprOassignmentCastContext :: Bool
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_exprOcat :: Catalog
_exprOflags :: TypeCheckFlags
_exprOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_exprIannotatedTree :: ScalarExpr
_exprIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_exprIoriginalTree :: ScalarExpr
_exprIupType :: (Maybe TypeExtra)
_annOtpe =
({-# LINE 212 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 24120 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOdownEnv =
({-# LINE 213 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 24126 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedCast =
({-# LINE 214 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 24132 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedType =
({-# LINE 215 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 24138 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOodbcFunction =
({-# LINE 216 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 24144 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOassignmentCastContext =
({-# LINE 841 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 24150 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ReturnNext _annIannotatedTree _exprIannotatedTree
{-# LINE 24156 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ReturnNext _annIoriginalTree _exprIoriginalTree
{-# LINE 24162 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 24168 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 24174 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 24180 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 24186 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 24192 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 24198 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 24204 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 24210 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _exprIannotatedTree,_exprIcolExprs,_exprIoriginalTree,_exprIupType) =
expr_ _exprOassignmentCastContext _exprOcat _exprOdownEnv _exprOexpectedCast _exprOexpectedType _exprOflags _exprOimCast _exprOodbcFunction
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_ReturnQuery :: T_Annotation ->
T_QueryExpr ->
T_Statement
_sem_Statement_ReturnQuery ann_ sel_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_selOouterDownEnv :: (Maybe Environment)
_selOexpectedType :: (Maybe [TypeExtra])
_selOassignmentCastContext :: Bool
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_selOcat :: Catalog
_selOflags :: TypeCheckFlags
_selOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_selIannotatedTree :: QueryExpr
_selIoriginalTree :: QueryExpr
_selIupType :: (Maybe [(Text,TypeExtra)])
_annOtpe =
({-# LINE 217 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 24245 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOouterDownEnv =
({-# LINE 218 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 24251 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOexpectedType =
({-# LINE 22 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}
liftM (map snd) _selIupType
{-# LINE 24257 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOassignmentCastContext =
({-# LINE 842 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 24263 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ReturnQuery _annIannotatedTree _selIannotatedTree
{-# LINE 24269 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ReturnQuery _annIoriginalTree _selIoriginalTree
{-# LINE 24275 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 24281 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 24287 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 24293 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 24299 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 24305 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 24311 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 24317 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 24323 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _selIannotatedTree,_selIoriginalTree,_selIupType) =
sel_ _selOassignmentCastContext _selOcat _selOexpectedType _selOflags _selOimCast _selOouterDownEnv
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_Raise :: T_Annotation ->
RaiseType ->
String ->
T_ScalarExprList ->
T_Statement
_sem_Statement_Raise ann_ level_ message_ args_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_argsOdownEnv :: Environment
_argsOexpectedCast :: Bool
_argsOexpectedTypes :: ([TypeExtra])
_argsOassignmentCastContext :: Bool
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_argsOcat :: Catalog
_argsOflags :: TypeCheckFlags
_argsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_argsIannotatedTree :: ScalarExprList
_argsIoriginalTree :: ScalarExprList
_argsIupTypes :: ([Maybe TypeExtra])
_annOtpe =
({-# LINE 204 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 24361 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOdownEnv =
({-# LINE 205 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 24367 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOexpectedCast =
({-# LINE 206 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 24373 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOexpectedTypes =
({-# LINE 207 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
[]
{-# LINE 24379 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOassignmentCastContext =
({-# LINE 839 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 24385 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Raise _annIannotatedTree level_ message_ _argsIannotatedTree
{-# LINE 24391 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Raise _annIoriginalTree level_ message_ _argsIoriginalTree
{-# LINE 24397 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 24403 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 24409 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 24415 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 24421 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 24427 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 24433 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 24439 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 24445 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _argsIannotatedTree,_argsIoriginalTree,_argsIupTypes) =
args_ _argsOassignmentCastContext _argsOcat _argsOdownEnv _argsOexpectedCast _argsOexpectedTypes _argsOflags _argsOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_NullStatement :: T_Annotation ->
T_Statement
_sem_Statement_NullStatement ann_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 198 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 24470 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
NullStatement _annIannotatedTree
{-# LINE 24476 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
NullStatement _annIoriginalTree
{-# LINE 24482 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 24488 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 24494 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 24500 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 24506 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 24512 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_Perform :: T_Annotation ->
T_ScalarExpr ->
T_Statement
_sem_Statement_Perform ann_ expr_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_exprOdownEnv :: Environment
_exprOexpectedCast :: Bool
_exprOexpectedType :: (Maybe TypeExtra)
_exprOodbcFunction :: Bool
_exprOassignmentCastContext :: Bool
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_exprOcat :: Catalog
_exprOflags :: TypeCheckFlags
_exprOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_exprIannotatedTree :: ScalarExpr
_exprIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_exprIoriginalTree :: ScalarExpr
_exprIupType :: (Maybe TypeExtra)
_annOtpe =
({-# LINE 199 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 24548 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOdownEnv =
({-# LINE 200 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 24554 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedCast =
({-# LINE 201 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 24560 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedType =
({-# LINE 202 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 24566 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOodbcFunction =
({-# LINE 203 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 24572 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOassignmentCastContext =
({-# LINE 837 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 24578 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Perform _annIannotatedTree _exprIannotatedTree
{-# LINE 24584 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Perform _annIoriginalTree _exprIoriginalTree
{-# LINE 24590 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 24596 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 24602 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 24608 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 24614 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 24620 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 24626 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 24632 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 24638 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _exprIannotatedTree,_exprIcolExprs,_exprIoriginalTree,_exprIupType) =
expr_ _exprOassignmentCastContext _exprOcat _exprOdownEnv _exprOexpectedCast _exprOexpectedType _exprOflags _exprOimCast _exprOodbcFunction
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_Execute :: T_Annotation ->
T_ScalarExpr ->
T_Statement
_sem_Statement_Execute ann_ expr_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_exprOdownEnv :: Environment
_exprOexpectedCast :: Bool
_exprOexpectedType :: (Maybe TypeExtra)
_exprOodbcFunction :: Bool
_exprOassignmentCastContext :: Bool
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_exprOcat :: Catalog
_exprOflags :: TypeCheckFlags
_exprOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_exprIannotatedTree :: ScalarExpr
_exprIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_exprIoriginalTree :: ScalarExpr
_exprIupType :: (Maybe TypeExtra)
_annOtpe =
({-# LINE 179 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 24676 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOdownEnv =
({-# LINE 180 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 24682 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedCast =
({-# LINE 181 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 24688 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedType =
({-# LINE 182 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 24694 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOodbcFunction =
({-# LINE 183 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 24700 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOassignmentCastContext =
({-# LINE 832 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 24706 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Execute _annIannotatedTree _exprIannotatedTree
{-# LINE 24712 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Execute _annIoriginalTree _exprIoriginalTree
{-# LINE 24718 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 24724 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 24730 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 24736 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 24742 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 24748 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 24754 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 24760 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 24766 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _exprIannotatedTree,_exprIcolExprs,_exprIoriginalTree,_exprIupType) =
expr_ _exprOassignmentCastContext _exprOcat _exprOdownEnv _exprOexpectedCast _exprOexpectedType _exprOflags _exprOimCast _exprOodbcFunction
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_ForQueryStatement :: T_Annotation ->
(Maybe String) ->
NameComponent ->
T_QueryExpr ->
T_StatementList ->
T_Statement
_sem_Statement_ForQueryStatement ann_ lb_ var_ sel_ sts_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_selOouterDownEnv :: (Maybe Environment)
_selOexpectedType :: (Maybe [TypeExtra])
_selOassignmentCastContext :: Bool
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_selOcat :: Catalog
_selOflags :: TypeCheckFlags
_selOimCast :: (Maybe TypeExtra)
_stsOcat :: Catalog
_stsOflags :: TypeCheckFlags
_stsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_selIannotatedTree :: QueryExpr
_selIoriginalTree :: QueryExpr
_selIupType :: (Maybe [(Text,TypeExtra)])
_stsIannotatedTree :: StatementList
_stsIoriginalTree :: StatementList
_annOtpe =
({-# LINE 194 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 24809 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOouterDownEnv =
({-# LINE 195 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 24815 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOexpectedType =
({-# LINE 22 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}
liftM (map snd) _selIupType
{-# LINE 24821 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOassignmentCastContext =
({-# LINE 835 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 24827 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ForQueryStatement _annIannotatedTree lb_ var_ _selIannotatedTree _stsIannotatedTree
{-# LINE 24833 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ForQueryStatement _annIoriginalTree lb_ var_ _selIoriginalTree _stsIoriginalTree
{-# LINE 24839 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 24845 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 24851 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 24857 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 24863 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 24869 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 24875 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 24881 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 24887 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_stsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 24893 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_stsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 24899 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_stsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 24905 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _selIannotatedTree,_selIoriginalTree,_selIupType) =
sel_ _selOassignmentCastContext _selOcat _selOexpectedType _selOflags _selOimCast _selOouterDownEnv
( _stsIannotatedTree,_stsIoriginalTree) =
sts_ _stsOcat _stsOflags _stsOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_ForIntegerStatement :: T_Annotation ->
(Maybe String) ->
NameComponent ->
T_ScalarExpr ->
T_ScalarExpr ->
T_StatementList ->
T_Statement
_sem_Statement_ForIntegerStatement ann_ lb_ var_ from_ to_ sts_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_fromOdownEnv :: Environment
_fromOexpectedCast :: Bool
_fromOexpectedType :: (Maybe TypeExtra)
_fromOodbcFunction :: Bool
_toOdownEnv :: Environment
_toOexpectedCast :: Bool
_toOexpectedType :: (Maybe TypeExtra)
_toOodbcFunction :: Bool
_fromOassignmentCastContext :: Bool
_toOassignmentCastContext :: Bool
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_fromOcat :: Catalog
_fromOflags :: TypeCheckFlags
_fromOimCast :: (Maybe TypeExtra)
_toOcat :: Catalog
_toOflags :: TypeCheckFlags
_toOimCast :: (Maybe TypeExtra)
_stsOcat :: Catalog
_stsOflags :: TypeCheckFlags
_stsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_fromIannotatedTree :: ScalarExpr
_fromIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_fromIoriginalTree :: ScalarExpr
_fromIupType :: (Maybe TypeExtra)
_toIannotatedTree :: ScalarExpr
_toIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_toIoriginalTree :: ScalarExpr
_toIupType :: (Maybe TypeExtra)
_stsIannotatedTree :: StatementList
_stsIoriginalTree :: StatementList
_annOtpe =
({-# LINE 185 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 24966 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fromOdownEnv =
({-# LINE 186 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 24972 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fromOexpectedCast =
({-# LINE 187 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 24978 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fromOexpectedType =
({-# LINE 188 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 24984 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fromOodbcFunction =
({-# LINE 189 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 24990 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_toOdownEnv =
({-# LINE 190 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 24996 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_toOexpectedCast =
({-# LINE 191 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 25002 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_toOexpectedType =
({-# LINE 192 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 25008 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_toOodbcFunction =
({-# LINE 193 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 25014 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fromOassignmentCastContext =
({-# LINE 833 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 25020 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_toOassignmentCastContext =
({-# LINE 834 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 25026 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ForIntegerStatement _annIannotatedTree lb_ var_ _fromIannotatedTree _toIannotatedTree _stsIannotatedTree
{-# LINE 25032 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ForIntegerStatement _annIoriginalTree lb_ var_ _fromIoriginalTree _toIoriginalTree _stsIoriginalTree
{-# LINE 25038 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 25044 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 25050 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25056 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25062 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25068 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fromOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25074 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fromOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25080 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fromOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25086 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_toOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25092 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_toOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25098 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_toOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25104 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_stsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25110 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_stsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25116 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_stsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25122 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _fromIannotatedTree,_fromIcolExprs,_fromIoriginalTree,_fromIupType) =
from_ _fromOassignmentCastContext _fromOcat _fromOdownEnv _fromOexpectedCast _fromOexpectedType _fromOflags _fromOimCast _fromOodbcFunction
( _toIannotatedTree,_toIcolExprs,_toIoriginalTree,_toIupType) =
to_ _toOassignmentCastContext _toOcat _toOdownEnv _toOexpectedCast _toOexpectedType _toOflags _toOimCast _toOodbcFunction
( _stsIannotatedTree,_stsIoriginalTree) =
sts_ _stsOcat _stsOflags _stsOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_LoopStatement :: T_Annotation ->
(Maybe String) ->
T_StatementList ->
T_Statement
_sem_Statement_LoopStatement ann_ lb_ sts_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_stsOcat :: Catalog
_stsOflags :: TypeCheckFlags
_stsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_stsIannotatedTree :: StatementList
_stsIoriginalTree :: StatementList
_annOtpe =
({-# LINE 196 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 25158 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
LoopStatement _annIannotatedTree lb_ _stsIannotatedTree
{-# LINE 25164 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
LoopStatement _annIoriginalTree lb_ _stsIoriginalTree
{-# LINE 25170 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 25176 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 25182 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25188 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25194 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25200 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_stsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25206 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_stsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25212 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_stsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25218 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _stsIannotatedTree,_stsIoriginalTree) =
sts_ _stsOcat _stsOflags _stsOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_WhileStatement :: T_Annotation ->
(Maybe String) ->
T_ScalarExpr ->
T_StatementList ->
T_Statement
_sem_Statement_WhileStatement ann_ lb_ expr_ sts_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_exprOdownEnv :: Environment
_exprOexpectedCast :: Bool
_exprOexpectedType :: (Maybe TypeExtra)
_exprOodbcFunction :: Bool
_exprOassignmentCastContext :: Bool
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_exprOcat :: Catalog
_exprOflags :: TypeCheckFlags
_exprOimCast :: (Maybe TypeExtra)
_stsOcat :: Catalog
_stsOflags :: TypeCheckFlags
_stsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_exprIannotatedTree :: ScalarExpr
_exprIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_exprIoriginalTree :: ScalarExpr
_exprIupType :: (Maybe TypeExtra)
_stsIannotatedTree :: StatementList
_stsIoriginalTree :: StatementList
_annOtpe =
({-# LINE 222 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 25263 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOdownEnv =
({-# LINE 223 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 25269 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedCast =
({-# LINE 224 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 25275 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOexpectedType =
({-# LINE 225 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 25281 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOodbcFunction =
({-# LINE 226 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 25287 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOassignmentCastContext =
({-# LINE 843 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 25293 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
WhileStatement _annIannotatedTree lb_ _exprIannotatedTree _stsIannotatedTree
{-# LINE 25299 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
WhileStatement _annIoriginalTree lb_ _exprIoriginalTree _stsIoriginalTree
{-# LINE 25305 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 25311 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 25317 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25323 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25329 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25335 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25341 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25347 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exprOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25353 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_stsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25359 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_stsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25365 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_stsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25371 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _exprIannotatedTree,_exprIcolExprs,_exprIoriginalTree,_exprIupType) =
expr_ _exprOassignmentCastContext _exprOcat _exprOdownEnv _exprOexpectedCast _exprOexpectedType _exprOflags _exprOimCast _exprOodbcFunction
( _stsIannotatedTree,_stsIoriginalTree) =
sts_ _stsOcat _stsOflags _stsOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_ContinueStatement :: T_Annotation ->
(Maybe String) ->
T_Statement
_sem_Statement_ContinueStatement ann_ lb_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 136 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 25399 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ContinueStatement _annIannotatedTree lb_
{-# LINE 25405 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ContinueStatement _annIoriginalTree lb_
{-# LINE 25411 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 25417 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 25423 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25429 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25435 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25441 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_ExitStatement :: T_Annotation ->
(Maybe String) ->
T_Statement
_sem_Statement_ExitStatement ann_ lb_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 184 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 25465 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ExitStatement _annIannotatedTree lb_
{-# LINE 25471 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ExitStatement _annIoriginalTree lb_
{-# LINE 25477 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 25483 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 25489 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25495 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25501 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25507 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_CaseStatementSimple :: T_Annotation ->
T_ScalarExpr ->
T_ScalarExprListStatementListTripleList ->
T_StatementList ->
T_Statement
_sem_Statement_CaseStatementSimple ann_ val_ cases_ els_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_valOdownEnv :: Environment
_valOexpectedCast :: Bool
_valOexpectedType :: (Maybe TypeExtra)
_valOodbcFunction :: Bool
_valOassignmentCastContext :: Bool
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_valOcat :: Catalog
_valOflags :: TypeCheckFlags
_valOimCast :: (Maybe TypeExtra)
_casesOcat :: Catalog
_casesOflags :: TypeCheckFlags
_casesOimCast :: (Maybe TypeExtra)
_elsOcat :: Catalog
_elsOflags :: TypeCheckFlags
_elsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_valIannotatedTree :: ScalarExpr
_valIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_valIoriginalTree :: ScalarExpr
_valIupType :: (Maybe TypeExtra)
_casesIannotatedTree :: ScalarExprListStatementListTripleList
_casesIoriginalTree :: ScalarExprListStatementListTripleList
_elsIannotatedTree :: StatementList
_elsIoriginalTree :: StatementList
_annOtpe =
({-# LINE 131 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 25555 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valOdownEnv =
({-# LINE 132 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 25561 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valOexpectedCast =
({-# LINE 133 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 25567 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valOexpectedType =
({-# LINE 134 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 25573 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valOodbcFunction =
({-# LINE 135 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 25579 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valOassignmentCastContext =
({-# LINE 827 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 25585 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CaseStatementSimple _annIannotatedTree _valIannotatedTree _casesIannotatedTree _elsIannotatedTree
{-# LINE 25591 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CaseStatementSimple _annIoriginalTree _valIoriginalTree _casesIoriginalTree _elsIoriginalTree
{-# LINE 25597 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 25603 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 25609 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25615 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25621 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25627 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25633 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25639 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_valOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25645 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_casesOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25651 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_casesOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25657 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_casesOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25663 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25669 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25675 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25681 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _valIannotatedTree,_valIcolExprs,_valIoriginalTree,_valIupType) =
val_ _valOassignmentCastContext _valOcat _valOdownEnv _valOexpectedCast _valOexpectedType _valOflags _valOimCast _valOodbcFunction
( _casesIannotatedTree,_casesIoriginalTree) =
cases_ _casesOcat _casesOflags _casesOimCast
( _elsIannotatedTree,_elsIoriginalTree) =
els_ _elsOcat _elsOflags _elsOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_CaseStatement :: T_Annotation ->
T_ScalarExprListStatementListTripleList ->
T_StatementList ->
T_Statement
_sem_Statement_CaseStatement ann_ cases_ els_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_casesOcat :: Catalog
_casesOflags :: TypeCheckFlags
_casesOimCast :: (Maybe TypeExtra)
_elsOcat :: Catalog
_elsOflags :: TypeCheckFlags
_elsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_casesIannotatedTree :: ScalarExprListStatementListTripleList
_casesIoriginalTree :: ScalarExprListStatementListTripleList
_elsIannotatedTree :: StatementList
_elsIoriginalTree :: StatementList
_annOtpe =
({-# LINE 130 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 25722 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CaseStatement _annIannotatedTree _casesIannotatedTree _elsIannotatedTree
{-# LINE 25728 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CaseStatement _annIoriginalTree _casesIoriginalTree _elsIoriginalTree
{-# LINE 25734 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 25740 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 25746 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25752 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25758 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25764 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_casesOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25770 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_casesOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25776 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_casesOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25782 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25788 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25794 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25800 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _casesIannotatedTree,_casesIoriginalTree) =
cases_ _casesOcat _casesOflags _casesOimCast
( _elsIannotatedTree,_elsIoriginalTree) =
els_ _elsOcat _elsOflags _elsOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_If :: T_Annotation ->
T_ScalarExprStatementListPairList ->
T_StatementList ->
T_Statement
_sem_Statement_If ann_ cases_ els_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_casesOcat :: Catalog
_casesOflags :: TypeCheckFlags
_casesOimCast :: (Maybe TypeExtra)
_elsOcat :: Catalog
_elsOflags :: TypeCheckFlags
_elsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_casesIannotatedTree :: ScalarExprStatementListPairList
_casesIoriginalTree :: ScalarExprStatementListPairList
_elsIannotatedTree :: StatementList
_elsIoriginalTree :: StatementList
_annOtpe =
({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}
Left []
{-# LINE 25839 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
If _annIannotatedTree _casesIannotatedTree _elsIannotatedTree
{-# LINE 25845 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
If _annIoriginalTree _casesIoriginalTree _elsIoriginalTree
{-# LINE 25851 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 25857 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 25863 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25869 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25875 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25881 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_casesOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25887 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_casesOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25893 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_casesOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25899 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25905 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25911 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_elsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25917 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _casesIannotatedTree,_casesIoriginalTree) =
cases_ _casesOcat _casesOflags _casesOimCast
( _elsIannotatedTree,_elsIoriginalTree) =
els_ _elsOcat _elsOflags _elsOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_Block :: T_Annotation ->
(Maybe String) ->
T_VarDefList ->
T_StatementList ->
T_Statement
_sem_Statement_Block ann_ lb_ vars_ sts_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_varsOcat :: Catalog
_varsOflags :: TypeCheckFlags
_varsOimCast :: (Maybe TypeExtra)
_stsOcat :: Catalog
_stsOflags :: TypeCheckFlags
_stsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_varsIannotatedTree :: VarDefList
_varsIoriginalTree :: VarDefList
_stsIannotatedTree :: StatementList
_stsIoriginalTree :: StatementList
_annOtpe =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 25957 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Block _annIannotatedTree lb_ _varsIannotatedTree _stsIannotatedTree
{-# LINE 25963 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Block _annIoriginalTree lb_ _varsIoriginalTree _stsIoriginalTree
{-# LINE 25969 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 25975 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 25981 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 25987 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 25993 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 25999 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_varsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 26005 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_varsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 26011 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_varsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 26017 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_stsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 26023 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_stsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 26029 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_stsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 26035 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _varsIannotatedTree,_varsIoriginalTree) =
vars_ _varsOcat _varsOflags _varsOimCast
( _stsIannotatedTree,_stsIoriginalTree) =
sts_ _stsOcat _stsOflags _stsOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_AntiStatement :: String ->
T_Statement
_sem_Statement_AntiStatement string_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AntiStatement string_
{-# LINE 26056 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
AntiStatement string_
{-# LINE 26062 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 26068 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 26074 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_DeclareStatement :: T_Annotation ->
([(String,TypeName,Maybe ScalarExpr)]) ->
T_Statement
_sem_Statement_DeclareStatement ann_ ds_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}
Left []
{-# LINE 26096 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
DeclareStatement _annIannotatedTree ds_
{-# LINE 26102 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
DeclareStatement _annIoriginalTree ds_
{-# LINE 26108 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 26114 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 26120 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 26126 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 26132 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 26138 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_ExecStatement :: T_Annotation ->
T_Name ->
T_ScalarExprList ->
T_Statement
_sem_Statement_ExecStatement ann_ spName_ args_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _argsOdownEnv :: Environment
_argsOexpectedCast :: Bool
_argsOexpectedTypes :: ([TypeExtra])
_spNameOtpe :: (Either [TypeError] TypeExtra)
_annOtpe :: (Either [TypeError] TypeExtra)
_argsOassignmentCastContext :: Bool
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_spNameOcat :: Catalog
_spNameOflags :: TypeCheckFlags
_spNameOimCast :: (Maybe TypeExtra)
_argsOcat :: Catalog
_argsOflags :: TypeCheckFlags
_argsOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_spNameIannotatedTree :: Name
_spNameIoriginalTree :: Name
_argsIannotatedTree :: ScalarExprList
_argsIoriginalTree :: ScalarExprList
_argsIupTypes :: ([Maybe TypeExtra])
_argsOdownEnv =
({-# LINE 175 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 26179 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOexpectedCast =
({-# LINE 176 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 26185 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOexpectedTypes =
({-# LINE 177 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
[]
{-# LINE 26191 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_spNameOtpe =
({-# LINE 178 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 26197 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}
Left []
{-# LINE 26203 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOassignmentCastContext =
({-# LINE 831 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 26209 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ExecStatement _annIannotatedTree _spNameIannotatedTree _argsIannotatedTree
{-# LINE 26215 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ExecStatement _annIoriginalTree _spNameIoriginalTree _argsIoriginalTree
{-# LINE 26221 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 26227 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 26233 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 26239 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 26245 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 26251 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_spNameOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 26257 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_spNameOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 26263 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_spNameOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 26269 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 26275 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 26281 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_argsOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 26287 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _spNameIannotatedTree,_spNameIoriginalTree) =
spName_ _spNameOcat _spNameOflags _spNameOimCast _spNameOtpe
( _argsIannotatedTree,_argsIoriginalTree,_argsIupTypes) =
args_ _argsOassignmentCastContext _argsOcat _argsOdownEnv _argsOexpectedCast _argsOexpectedTypes _argsOflags _argsOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_Statement_CreateIndexTSQL :: T_Annotation ->
NameComponent ->
T_Name ->
([NameComponent]) ->
T_Statement
_sem_Statement_CreateIndexTSQL ann_ nm_ obj_ cols_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _objOtpe :: (Either [TypeError] TypeExtra)
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: Statement
_lhsOoriginalTree :: Statement
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_objOcat :: Catalog
_objOflags :: TypeCheckFlags
_objOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_objIannotatedTree :: Name
_objIoriginalTree :: Name
_objOtpe =
({-# LINE 146 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 26323 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}
Left []
{-# LINE 26329 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateIndexTSQL _annIannotatedTree nm_ _objIannotatedTree cols_
{-# LINE 26335 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
CreateIndexTSQL _annIoriginalTree nm_ _objIoriginalTree cols_
{-# LINE 26341 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 26347 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 26353 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 26359 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 26365 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 26371 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_objOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 26377 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_objOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 26383 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_objOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 26389 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _objIannotatedTree,_objIoriginalTree) =
obj_ _objOcat _objOflags _objOimCast _objOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type StatementList = [Statement]
_sem_StatementList :: StatementList ->
T_StatementList
_sem_StatementList list =
(Prelude.foldr _sem_StatementList_Cons _sem_StatementList_Nil (Prelude.map _sem_Statement list))
type T_StatementList = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( StatementList,StatementList)
data Inh_StatementList = Inh_StatementList {_cat_Inh_StatementList :: Catalog,_flags_Inh_StatementList :: TypeCheckFlags,_imCast_Inh_StatementList :: (Maybe TypeExtra)}
data Syn_StatementList = Syn_StatementList {_annotatedTree_Syn_StatementList :: StatementList,_originalTree_Syn_StatementList :: StatementList}
_wrap_StatementList :: T_StatementList ->
Inh_StatementList ->
Syn_StatementList
_wrap_StatementList sem (Inh_StatementList _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_StatementList _lhsOannotatedTree _lhsOoriginalTree))
_sem_StatementList_Cons :: T_Statement ->
T_StatementList ->
T_StatementList
_sem_StatementList_Cons hd_ tl_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: StatementList
_lhsOoriginalTree :: StatementList
_hdOcat :: Catalog
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_tlOcat :: Catalog
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_hdIannotatedTree :: Statement
_hdIoriginalTree :: Statement
_tlIannotatedTree :: StatementList
_tlIoriginalTree :: StatementList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 26460 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 26466 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 26472 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 26478 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 26484 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 26490 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 26496 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 26502 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 26508 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 26514 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdIoriginalTree) =
hd_ _hdOcat _hdOflags _hdOimCast
( _tlIannotatedTree,_tlIoriginalTree) =
tl_ _tlOcat _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_StatementList_Nil :: T_StatementList
_sem_StatementList_Nil =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: StatementList
_lhsOoriginalTree :: StatementList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 26532 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 26538 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 26544 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 26550 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data TablePartitionDef = TablePartitionDef (Annotation) (NameComponent) (Integer) (TablePartitionDateTimeInterval)
deriving ( Data,Eq,Show,Typeable)
_sem_TablePartitionDef :: TablePartitionDef ->
T_TablePartitionDef
_sem_TablePartitionDef (TablePartitionDef _ann _colname _interval _timeframe) =
(_sem_TablePartitionDef_TablePartitionDef (_sem_Annotation _ann) _colname _interval _timeframe)
type T_TablePartitionDef = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( TablePartitionDef,TablePartitionDef)
data Inh_TablePartitionDef = Inh_TablePartitionDef {_cat_Inh_TablePartitionDef :: Catalog,_flags_Inh_TablePartitionDef :: TypeCheckFlags,_imCast_Inh_TablePartitionDef :: (Maybe TypeExtra)}
data Syn_TablePartitionDef = Syn_TablePartitionDef {_annotatedTree_Syn_TablePartitionDef :: TablePartitionDef,_originalTree_Syn_TablePartitionDef :: TablePartitionDef}
_wrap_TablePartitionDef :: T_TablePartitionDef ->
Inh_TablePartitionDef ->
Syn_TablePartitionDef
_wrap_TablePartitionDef sem (Inh_TablePartitionDef _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_TablePartitionDef _lhsOannotatedTree _lhsOoriginalTree))
_sem_TablePartitionDef_TablePartitionDef :: T_Annotation ->
NameComponent ->
Integer ->
TablePartitionDateTimeInterval ->
T_TablePartitionDef
_sem_TablePartitionDef_TablePartitionDef ann_ colname_ interval_ timeframe_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: TablePartitionDef
_lhsOoriginalTree :: TablePartitionDef
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 227 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 26614 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
TablePartitionDef _annIannotatedTree colname_ interval_ timeframe_
{-# LINE 26620 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
TablePartitionDef _annIoriginalTree colname_ interval_ timeframe_
{-# LINE 26626 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 26632 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 26638 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 26644 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 26650 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 26656 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data TableRef = Tref (Annotation) (Name)
| FunTref (Annotation) (ScalarExpr)
| SubTref (Annotation) (QueryExpr)
| JoinTref (Annotation) (TableRef) (Natural) (JoinType) ((Maybe JoinHint)) (TableRef) (OnExpr)
| TableAlias (Annotation) (NameComponent) (TableRef)
| FullAlias (Annotation) (NameComponent) (([NameComponent])) (TableRef)
| TableRefParens (Annotation) (TableRef)
| OdbcTableRef (Annotation) (TableRef)
deriving ( Data,Eq,Show,Typeable)
_sem_TableRef :: TableRef ->
T_TableRef
_sem_TableRef (Tref _ann _tbl) =
(_sem_TableRef_Tref (_sem_Annotation _ann) (_sem_Name _tbl))
_sem_TableRef (FunTref _ann _fn) =
(_sem_TableRef_FunTref (_sem_Annotation _ann) (_sem_ScalarExpr _fn))
_sem_TableRef (SubTref _ann _sel) =
(_sem_TableRef_SubTref (_sem_Annotation _ann) (_sem_QueryExpr _sel))
_sem_TableRef (JoinTref _ann _tref0 _nat _joinType _joinHint _tref1 _onExpr) =
(_sem_TableRef_JoinTref (_sem_Annotation _ann) (_sem_TableRef _tref0) _nat _joinType _joinHint (_sem_TableRef _tref1) (_sem_OnExpr _onExpr))
_sem_TableRef (TableAlias _ann _tb _tref) =
(_sem_TableRef_TableAlias (_sem_Annotation _ann) _tb (_sem_TableRef _tref))
_sem_TableRef (FullAlias _ann _tb _cols _tref) =
(_sem_TableRef_FullAlias (_sem_Annotation _ann) _tb _cols (_sem_TableRef _tref))
_sem_TableRef (TableRefParens _ann _tref) =
(_sem_TableRef_TableRefParens (_sem_Annotation _ann) (_sem_TableRef _tref))
_sem_TableRef (OdbcTableRef _ann _tref) =
(_sem_TableRef_OdbcTableRef (_sem_Annotation _ann) (_sem_TableRef _tref))
type T_TableRef = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( TableRef,TableRef,Environment)
data Inh_TableRef = Inh_TableRef {_cat_Inh_TableRef :: Catalog,_flags_Inh_TableRef :: TypeCheckFlags,_imCast_Inh_TableRef :: (Maybe TypeExtra)}
data Syn_TableRef = Syn_TableRef {_annotatedTree_Syn_TableRef :: TableRef,_originalTree_Syn_TableRef :: TableRef,_upEnv_Syn_TableRef :: Environment}
_wrap_TableRef :: T_TableRef ->
Inh_TableRef ->
Syn_TableRef
_wrap_TableRef sem (Inh_TableRef _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupEnv) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_TableRef _lhsOannotatedTree _lhsOoriginalTree _lhsOupEnv))
_sem_TableRef_Tref :: T_Annotation ->
T_Name ->
T_TableRef
_sem_TableRef_Tref ann_ tbl_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupEnv :: Environment
_eEnv :: (Either [TypeError] Environment)
_tblOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: TableRef
_lhsOoriginalTree :: TableRef
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_tblOcat :: Catalog
_tblOflags :: TypeCheckFlags
_tblOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_tblIannotatedTree :: Name
_tblIoriginalTree :: Name
_annOtpe =
({-# LINE 33 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
either Left (Right . mkTypeExtraNN . TrefType)
(_eEnv >>= E.envExpandStar Nothing)
{-# LINE 26813 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupEnv =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
either (const E.brokeEnvironment) id _eEnv
{-# LINE 26819 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_eEnv =
({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
E.envCreateTrefEnvironment _lhsIcat (nameComponents _tblIoriginalTree)
{-# LINE 26825 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tblOtpe =
({-# LINE 43 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
Left []
{-# LINE 26831 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 75 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
let mk (q,is) = FullAlias emptyAnnotation
(Nmc q)
(map Nmc is)
$ wrapIfJoin _annotatedTree
wrapIfJoin tr = case tr of
JoinTref {} -> TableRefParens emptyAnnotation tr
_ -> tr
in maybe _annotatedTree mk _newAlias
{-# LINE 26844 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newAlias =
({-# LINE 150 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
if tcfAddFullTablerefAliases _lhsIflags
then do
((_,n),cs,_) <- either (const Nothing) Just
$ catLookupTableAndAttrs _lhsIcat
(nameComponents _tblIoriginalTree)
return (T.unpack n, (map (T.unpack . fst) cs))
else Nothing
{-# LINE 26856 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Tref _annIannotatedTree _tblIannotatedTree
{-# LINE 26862 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Tref _annIoriginalTree _tblIoriginalTree
{-# LINE 26868 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 26874 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 26880 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 26886 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 26892 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tblOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 26898 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tblOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 26904 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tblOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 26910 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _tblIannotatedTree,_tblIoriginalTree) =
tbl_ _tblOcat _tblOflags _tblOimCast _tblOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupEnv)))
_sem_TableRef_FunTref :: T_Annotation ->
T_ScalarExpr ->
T_TableRef
_sem_TableRef_FunTref ann_ fn_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _fnOdownEnv :: Environment
_fnOexpectedCast :: Bool
_fnOexpectedType :: (Maybe TypeExtra)
_fnOodbcFunction :: Bool
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupEnv :: Environment
_eEnv :: (Either [TypeError] Environment)
_lhsOannotatedTree :: TableRef
_fnOassignmentCastContext :: Bool
_lhsOoriginalTree :: TableRef
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_fnOcat :: Catalog
_fnOflags :: TypeCheckFlags
_fnOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_fnIannotatedTree :: ScalarExpr
_fnIcolExprs :: ([(NameComponent,Maybe TypeExtra,ScalarExpr)])
_fnIoriginalTree :: ScalarExpr
_fnIupType :: (Maybe TypeExtra)
_fnOdownEnv =
({-# LINE 228 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
E.emptyEnvironment
{-# LINE 26950 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOexpectedCast =
({-# LINE 229 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 26956 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOexpectedType =
({-# LINE 230 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Nothing
{-# LINE 26962 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOodbcFunction =
({-# LINE 231 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
False
{-# LINE 26968 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 33 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
either Left (Right . mkTypeExtraNN . TrefType)
(_eEnv >>= E.envExpandStar Nothing)
{-# LINE 26975 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupEnv =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
either (const E.brokeEnvironment) id _eEnv
{-# LINE 26981 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_eEnv =
({-# LINE 71 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
Left []
{-# LINE 26987 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 75 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
let mk (q,is) = FullAlias emptyAnnotation
(Nmc q)
(map Nmc is)
$ wrapIfJoin _annotatedTree
wrapIfJoin tr = case tr of
JoinTref {} -> TableRefParens emptyAnnotation tr
_ -> tr
in maybe _annotatedTree mk _newAlias
{-# LINE 27000 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newAlias =
({-# LINE 135 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
if tcfAddFullTablerefAliases _lhsIflags
then do
env <- either (const Nothing) Just _eEnv
cs <- either (const Nothing) Just $ E.envExpandStar Nothing env
let qs = map (fst . fst) cs
if all (== head qs) qs
then return (T.unpack $ head qs, map (T.unpack . snd . fst) cs)
else
Nothing
else Nothing
{-# LINE 27015 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOassignmentCastContext =
({-# LINE 844 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 27021 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
FunTref _annIannotatedTree _fnIannotatedTree
{-# LINE 27027 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
FunTref _annIoriginalTree _fnIoriginalTree
{-# LINE 27033 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 27039 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 27045 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 27051 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 27057 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 27063 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 27069 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_fnOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 27075 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _fnIannotatedTree,_fnIcolExprs,_fnIoriginalTree,_fnIupType) =
fn_ _fnOassignmentCastContext _fnOcat _fnOdownEnv _fnOexpectedCast _fnOexpectedType _fnOflags _fnOimCast _fnOodbcFunction
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupEnv)))
_sem_TableRef_SubTref :: T_Annotation ->
T_QueryExpr ->
T_TableRef
_sem_TableRef_SubTref ann_ sel_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupEnv :: Environment
_eEnv :: (Either [TypeError] Environment)
_selOexpectedType :: (Maybe [TypeExtra])
_lhsOannotatedTree :: TableRef
_selOouterDownEnv :: (Maybe Environment)
_selOassignmentCastContext :: Bool
_lhsOoriginalTree :: TableRef
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_selOcat :: Catalog
_selOflags :: TypeCheckFlags
_selOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_selIannotatedTree :: QueryExpr
_selIoriginalTree :: QueryExpr
_selIupType :: (Maybe [(Text,TypeExtra)])
_annOtpe =
({-# LINE 33 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
either Left (Right . mkTypeExtraNN . TrefType)
(_eEnv >>= E.envExpandStar Nothing)
{-# LINE 27113 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupEnv =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
either (const E.brokeEnvironment) id _eEnv
{-# LINE 27119 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_eEnv =
({-# LINE 58 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
maybe (Left []) id
$ fmap E.envSelectListEnvironment _selIupType
{-# LINE 27126 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOexpectedType =
({-# LINE 60 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
liftM (map snd) _selIupType
{-# LINE 27132 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 75 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
let mk (q,is) = FullAlias emptyAnnotation
(Nmc q)
(map Nmc is)
$ wrapIfJoin _annotatedTree
wrapIfJoin tr = case tr of
JoinTref {} -> TableRefParens emptyAnnotation tr
_ -> tr
in maybe _annotatedTree mk _newAlias
{-# LINE 27145 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newAlias =
({-# LINE 135 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
if tcfAddFullTablerefAliases _lhsIflags
then do
env <- either (const Nothing) Just _eEnv
cs <- either (const Nothing) Just $ E.envExpandStar Nothing env
let qs = map (fst . fst) cs
if all (== head qs) qs
then return (T.unpack $ head qs, map (T.unpack . snd . fst) cs)
else
Nothing
else Nothing
{-# LINE 27160 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOouterDownEnv =
({-# LINE 93 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
Nothing
{-# LINE 27166 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOassignmentCastContext =
({-# LINE 845 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 27172 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SubTref _annIannotatedTree _selIannotatedTree
{-# LINE 27178 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SubTref _annIoriginalTree _selIoriginalTree
{-# LINE 27184 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 27190 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 27196 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 27202 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 27208 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 27214 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 27220 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_selOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 27226 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _selIannotatedTree,_selIoriginalTree,_selIupType) =
sel_ _selOassignmentCastContext _selOcat _selOexpectedType _selOflags _selOimCast _selOouterDownEnv
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupEnv)))
_sem_TableRef_JoinTref :: T_Annotation ->
T_TableRef ->
Natural ->
JoinType ->
(Maybe JoinHint) ->
T_TableRef ->
T_OnExpr ->
T_TableRef
_sem_TableRef_JoinTref ann_ tref0_ nat_ joinType_ joinHint_ tref1_ onExpr_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupEnv :: Environment
_eEnv :: (Either [TypeError] Environment)
_onExprOdownEnv :: Environment
_lhsOannotatedTree :: TableRef
_lhsOoriginalTree :: TableRef
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_tref0Ocat :: Catalog
_tref0Oflags :: TypeCheckFlags
_tref0OimCast :: (Maybe TypeExtra)
_tref1Ocat :: Catalog
_tref1Oflags :: TypeCheckFlags
_tref1OimCast :: (Maybe TypeExtra)
_onExprOcat :: Catalog
_onExprOflags :: TypeCheckFlags
_onExprOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_tref0IannotatedTree :: TableRef
_tref0IoriginalTree :: TableRef
_tref0IupEnv :: Environment
_tref1IannotatedTree :: TableRef
_tref1IoriginalTree :: TableRef
_tref1IupEnv :: Environment
_onExprIannotatedTree :: OnExpr
_onExprIoriginalTree :: OnExpr
_annOtpe =
({-# LINE 33 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
either Left (Right . mkTypeExtraNN . TrefType)
(_eEnv >>= E.envExpandStar Nothing)
{-# LINE 27278 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupEnv =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
either (const E.brokeEnvironment) id _eEnv
{-# LINE 27284 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_eEnv =
({-# LINE 46 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
E.createJoinTrefEnvironment _lhsIcat
_tref0IupEnv _tref1IupEnv (convertJoinType joinType_)
$ case (joinType_,_onExprIoriginalTree) of
(x,Nothing) | x /= Cross -> Nothing
(_,Just (JoinUsing _ nms)) -> Just nms
_ -> Just []
{-# LINE 27295 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_onExprOdownEnv =
({-# LINE 56 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
either (const E.brokeEnvironment) id _eEnv
{-# LINE 27301 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 75 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
let mk (q,is) = FullAlias emptyAnnotation
(Nmc q)
(map Nmc is)
$ wrapIfJoin _annotatedTree
wrapIfJoin tr = case tr of
JoinTref {} -> TableRefParens emptyAnnotation tr
_ -> tr
in maybe _annotatedTree mk _newAlias
{-# LINE 27314 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newAlias =
({-# LINE 135 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
if tcfAddFullTablerefAliases _lhsIflags
then do
env <- either (const Nothing) Just _eEnv
cs <- either (const Nothing) Just $ E.envExpandStar Nothing env
let qs = map (fst . fst) cs
if all (== head qs) qs
then return (T.unpack $ head qs, map (T.unpack . snd . fst) cs)
else
Nothing
else Nothing
{-# LINE 27329 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
JoinTref _annIannotatedTree _tref0IannotatedTree nat_ joinType_ joinHint_ _tref1IannotatedTree _onExprIannotatedTree
{-# LINE 27335 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
JoinTref _annIoriginalTree _tref0IoriginalTree nat_ joinType_ joinHint_ _tref1IoriginalTree _onExprIoriginalTree
{-# LINE 27341 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 27347 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 27353 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 27359 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 27365 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tref0Ocat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 27371 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tref0Oflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 27377 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tref0OimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 27383 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tref1Ocat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 27389 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tref1Oflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 27395 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tref1OimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 27401 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_onExprOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 27407 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_onExprOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 27413 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_onExprOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 27419 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _tref0IannotatedTree,_tref0IoriginalTree,_tref0IupEnv) =
tref0_ _tref0Ocat _tref0Oflags _tref0OimCast
( _tref1IannotatedTree,_tref1IoriginalTree,_tref1IupEnv) =
tref1_ _tref1Ocat _tref1Oflags _tref1OimCast
( _onExprIannotatedTree,_onExprIoriginalTree) =
onExpr_ _onExprOcat _onExprOdownEnv _onExprOflags _onExprOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupEnv)))
_sem_TableRef_TableAlias :: T_Annotation ->
NameComponent ->
T_TableRef ->
T_TableRef
_sem_TableRef_TableAlias ann_ tb_ tref_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupEnv :: Environment
_eEnv :: (Either [TypeError] Environment)
_lhsOannotatedTree :: TableRef
_lhsOoriginalTree :: TableRef
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_trefOcat :: Catalog
_trefOflags :: TypeCheckFlags
_trefOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_trefIannotatedTree :: TableRef
_trefIoriginalTree :: TableRef
_trefIupEnv :: Environment
_annOtpe =
({-# LINE 33 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
either Left (Right . mkTypeExtraNN . TrefType)
(_eEnv >>= E.envExpandStar Nothing)
{-# LINE 27459 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupEnv =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
either (const E.brokeEnvironment) id _eEnv
{-# LINE 27465 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_eEnv =
({-# LINE 68 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
Right $ E.createTrefAliasedEnvironment
(ncStrT tb_) Nothing _trefIupEnv
{-# LINE 27472 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 124 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
case _trefIannotatedTree of
FullAlias _ _ c tr -> FullAlias emptyAnnotation tb_ c tr
TableAlias _ _ tr -> TableAlias emptyAnnotation tb_ tr
_ -> _annotatedTree
{-# LINE 27481 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
TableAlias _annIannotatedTree tb_ _trefIannotatedTree
{-# LINE 27487 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
TableAlias _annIoriginalTree tb_ _trefIoriginalTree
{-# LINE 27493 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 27499 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 27505 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 27511 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 27517 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_trefOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 27523 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_trefOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 27529 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_trefOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 27535 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _trefIannotatedTree,_trefIoriginalTree,_trefIupEnv) =
tref_ _trefOcat _trefOflags _trefOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupEnv)))
_sem_TableRef_FullAlias :: T_Annotation ->
NameComponent ->
([NameComponent]) ->
T_TableRef ->
T_TableRef
_sem_TableRef_FullAlias ann_ tb_ cols_ tref_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupEnv :: Environment
_eEnv :: (Either [TypeError] Environment)
_lhsOannotatedTree :: TableRef
_lhsOoriginalTree :: TableRef
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_trefOcat :: Catalog
_trefOflags :: TypeCheckFlags
_trefOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_trefIannotatedTree :: TableRef
_trefIoriginalTree :: TableRef
_trefIupEnv :: Environment
_annOtpe =
({-# LINE 33 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
either Left (Right . mkTypeExtraNN . TrefType)
(_eEnv >>= E.envExpandStar Nothing)
{-# LINE 27572 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupEnv =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
either (const E.brokeEnvironment) id _eEnv
{-# LINE 27578 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_eEnv =
({-# LINE 65 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
Right $ E.createTrefAliasedEnvironment
(ncStrT tb_) (Just $ map ncStrT cols_) _trefIupEnv
{-# LINE 27585 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 103 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
case _trefIannotatedTree of
FullAlias _ t _ tr -> FullAlias emptyAnnotation
(if tb_ == Nmc "" then t else tb_) cols_ tr
TableAlias _ _ tr -> FullAlias emptyAnnotation tb_ cols_ tr
_ -> _annotatedTree
{-# LINE 27595 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
FullAlias _annIannotatedTree tb_ cols_ _trefIannotatedTree
{-# LINE 27601 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
FullAlias _annIoriginalTree tb_ cols_ _trefIoriginalTree
{-# LINE 27607 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 27613 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 27619 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 27625 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 27631 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_trefOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 27637 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_trefOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 27643 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_trefOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 27649 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _trefIannotatedTree,_trefIoriginalTree,_trefIupEnv) =
tref_ _trefOcat _trefOflags _trefOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupEnv)))
_sem_TableRef_TableRefParens :: T_Annotation ->
T_TableRef ->
T_TableRef
_sem_TableRef_TableRefParens ann_ tref_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupEnv :: Environment
_eEnv :: (Either [TypeError] Environment)
_lhsOannotatedTree :: TableRef
_lhsOoriginalTree :: TableRef
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_trefOcat :: Catalog
_trefOflags :: TypeCheckFlags
_trefOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_trefIannotatedTree :: TableRef
_trefIoriginalTree :: TableRef
_trefIupEnv :: Environment
_annOtpe =
({-# LINE 33 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
either Left (Right . mkTypeExtraNN . TrefType)
(_eEnv >>= E.envExpandStar Nothing)
{-# LINE 27684 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupEnv =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
either (const E.brokeEnvironment) id _eEnv
{-# LINE 27690 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_eEnv =
({-# LINE 63 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
Right $ _trefIupEnv
{-# LINE 27696 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 75 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
let mk (q,is) = FullAlias emptyAnnotation
(Nmc q)
(map Nmc is)
$ wrapIfJoin _annotatedTree
wrapIfJoin tr = case tr of
JoinTref {} -> TableRefParens emptyAnnotation tr
_ -> tr
in maybe _annotatedTree mk _newAlias
{-# LINE 27709 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newAlias =
({-# LINE 135 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
if tcfAddFullTablerefAliases _lhsIflags
then do
env <- either (const Nothing) Just _eEnv
cs <- either (const Nothing) Just $ E.envExpandStar Nothing env
let qs = map (fst . fst) cs
if all (== head qs) qs
then return (T.unpack $ head qs, map (T.unpack . snd . fst) cs)
else
Nothing
else Nothing
{-# LINE 27724 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
TableRefParens _annIannotatedTree _trefIannotatedTree
{-# LINE 27730 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
TableRefParens _annIoriginalTree _trefIoriginalTree
{-# LINE 27736 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 27742 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 27748 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 27754 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 27760 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_trefOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 27766 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_trefOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 27772 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_trefOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 27778 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _trefIannotatedTree,_trefIoriginalTree,_trefIupEnv) =
tref_ _trefOcat _trefOflags _trefOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupEnv)))
_sem_TableRef_OdbcTableRef :: T_Annotation ->
T_TableRef ->
T_TableRef
_sem_TableRef_OdbcTableRef ann_ tref_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOupEnv :: Environment
_eEnv :: (Either [TypeError] Environment)
_lhsOannotatedTree :: TableRef
_lhsOoriginalTree :: TableRef
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_trefOcat :: Catalog
_trefOflags :: TypeCheckFlags
_trefOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_trefIannotatedTree :: TableRef
_trefIoriginalTree :: TableRef
_trefIupEnv :: Environment
_annOtpe =
({-# LINE 33 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
either Left (Right . mkTypeExtraNN . TrefType)
(_eEnv >>= E.envExpandStar Nothing)
{-# LINE 27813 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupEnv =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
either (const E.brokeEnvironment) id _eEnv
{-# LINE 27819 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_eEnv =
({-# LINE 63 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
Right $ _trefIupEnv
{-# LINE 27825 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 75 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
let mk (q,is) = FullAlias emptyAnnotation
(Nmc q)
(map Nmc is)
$ wrapIfJoin _annotatedTree
wrapIfJoin tr = case tr of
JoinTref {} -> TableRefParens emptyAnnotation tr
_ -> tr
in maybe _annotatedTree mk _newAlias
{-# LINE 27838 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_newAlias =
({-# LINE 135 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
if tcfAddFullTablerefAliases _lhsIflags
then do
env <- either (const Nothing) Just _eEnv
cs <- either (const Nothing) Just $ E.envExpandStar Nothing env
let qs = map (fst . fst) cs
if all (== head qs) qs
then return (T.unpack $ head qs, map (T.unpack . snd . fst) cs)
else
Nothing
else Nothing
{-# LINE 27853 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
OdbcTableRef _annIannotatedTree _trefIannotatedTree
{-# LINE 27859 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
OdbcTableRef _annIoriginalTree _trefIoriginalTree
{-# LINE 27865 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 27871 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 27877 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 27883 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 27889 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_trefOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 27895 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_trefOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 27901 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_trefOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 27907 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _trefIannotatedTree,_trefIoriginalTree,_trefIupEnv) =
tref_ _trefOcat _trefOflags _trefOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupEnv)))
type TableRefList = [TableRef]
_sem_TableRefList :: TableRefList ->
T_TableRefList
_sem_TableRefList list =
(Prelude.foldr _sem_TableRefList_Cons _sem_TableRefList_Nil (Prelude.map _sem_TableRef list))
type T_TableRefList = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( TableRefList,TableRefList,Environment)
data Inh_TableRefList = Inh_TableRefList {_cat_Inh_TableRefList :: Catalog,_flags_Inh_TableRefList :: TypeCheckFlags,_imCast_Inh_TableRefList :: (Maybe TypeExtra)}
data Syn_TableRefList = Syn_TableRefList {_annotatedTree_Syn_TableRefList :: TableRefList,_originalTree_Syn_TableRefList :: TableRefList,_upEnv_Syn_TableRefList :: Environment}
_wrap_TableRefList :: T_TableRefList ->
Inh_TableRefList ->
Syn_TableRefList
_wrap_TableRefList sem (Inh_TableRefList _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupEnv) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_TableRefList _lhsOannotatedTree _lhsOoriginalTree _lhsOupEnv))
_sem_TableRefList_Cons :: T_TableRef ->
T_TableRefList ->
T_TableRefList
_sem_TableRefList_Cons hd_ tl_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOupEnv :: Environment
_lhsOannotatedTree :: TableRefList
_lhsOoriginalTree :: TableRefList
_hdOcat :: Catalog
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_tlOcat :: Catalog
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_hdIannotatedTree :: TableRef
_hdIoriginalTree :: TableRef
_hdIupEnv :: Environment
_tlIannotatedTree :: TableRefList
_tlIoriginalTree :: TableRefList
_tlIupEnv :: Environment
_lhsOupEnv =
({-# LINE 20 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
if E.isEmptyEnv _tlIupEnv
then _hdIupEnv
else
either (error . show) id $
E.createJoinTrefEnvironment _lhsIcat _hdIupEnv _tlIupEnv E.Inner $ Just []
{-# LINE 27986 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 27992 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 27998 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 28004 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 28010 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 28016 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 28022 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 28028 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 28034 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 28040 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 28046 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdIoriginalTree,_hdIupEnv) =
hd_ _hdOcat _hdOflags _hdOimCast
( _tlIannotatedTree,_tlIoriginalTree,_tlIupEnv) =
tl_ _tlOcat _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupEnv)))
_sem_TableRefList_Nil :: T_TableRefList
_sem_TableRefList_Nil =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOupEnv :: Environment
_lhsOannotatedTree :: TableRefList
_lhsOoriginalTree :: TableRefList
_lhsOupEnv =
({-# LINE 18 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}
E.emptyEnvironment
{-# LINE 28065 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 28071 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 28077 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 28083 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 28089 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupEnv)))
data TypeAttributeDef = TypeAttDef (Annotation) (NameComponent) (TypeName)
deriving ( Data,Eq,Show,Typeable)
_sem_TypeAttributeDef :: TypeAttributeDef ->
T_TypeAttributeDef
_sem_TypeAttributeDef (TypeAttDef _ann _name _typ) =
(_sem_TypeAttributeDef_TypeAttDef (_sem_Annotation _ann) _name (_sem_TypeName _typ))
type T_TypeAttributeDef = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( TypeAttributeDef,TypeAttributeDef)
data Inh_TypeAttributeDef = Inh_TypeAttributeDef {_cat_Inh_TypeAttributeDef :: Catalog,_flags_Inh_TypeAttributeDef :: TypeCheckFlags,_imCast_Inh_TypeAttributeDef :: (Maybe TypeExtra)}
data Syn_TypeAttributeDef = Syn_TypeAttributeDef {_annotatedTree_Syn_TypeAttributeDef :: TypeAttributeDef,_originalTree_Syn_TypeAttributeDef :: TypeAttributeDef}
_wrap_TypeAttributeDef :: T_TypeAttributeDef ->
Inh_TypeAttributeDef ->
Syn_TypeAttributeDef
_wrap_TypeAttributeDef sem (Inh_TypeAttributeDef _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_TypeAttributeDef _lhsOannotatedTree _lhsOoriginalTree))
_sem_TypeAttributeDef_TypeAttDef :: T_Annotation ->
NameComponent ->
T_TypeName ->
T_TypeAttributeDef
_sem_TypeAttributeDef_TypeAttDef ann_ name_ typ_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: TypeAttributeDef
_lhsOoriginalTree :: TypeAttributeDef
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_typOcat :: Catalog
_typOflags :: TypeCheckFlags
_typOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_typIannotatedTree :: TypeName
_typInamedType :: (Maybe TypeExtra)
_typIoriginalTree :: TypeName
_annOtpe =
({-# LINE 232 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 28157 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
TypeAttDef _annIannotatedTree name_ _typIannotatedTree
{-# LINE 28163 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
TypeAttDef _annIoriginalTree name_ _typIoriginalTree
{-# LINE 28169 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 28175 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 28181 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 28187 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 28193 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 28199 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 28205 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 28211 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 28217 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _typIannotatedTree,_typInamedType,_typIoriginalTree) =
typ_ _typOcat _typOflags _typOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type TypeAttributeDefList = [TypeAttributeDef]
_sem_TypeAttributeDefList :: TypeAttributeDefList ->
T_TypeAttributeDefList
_sem_TypeAttributeDefList list =
(Prelude.foldr _sem_TypeAttributeDefList_Cons _sem_TypeAttributeDefList_Nil (Prelude.map _sem_TypeAttributeDef list))
type T_TypeAttributeDefList = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( TypeAttributeDefList,TypeAttributeDefList)
data Inh_TypeAttributeDefList = Inh_TypeAttributeDefList {_cat_Inh_TypeAttributeDefList :: Catalog,_flags_Inh_TypeAttributeDefList :: TypeCheckFlags,_imCast_Inh_TypeAttributeDefList :: (Maybe TypeExtra)}
data Syn_TypeAttributeDefList = Syn_TypeAttributeDefList {_annotatedTree_Syn_TypeAttributeDefList :: TypeAttributeDefList,_originalTree_Syn_TypeAttributeDefList :: TypeAttributeDefList}
_wrap_TypeAttributeDefList :: T_TypeAttributeDefList ->
Inh_TypeAttributeDefList ->
Syn_TypeAttributeDefList
_wrap_TypeAttributeDefList sem (Inh_TypeAttributeDefList _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_TypeAttributeDefList _lhsOannotatedTree _lhsOoriginalTree))
_sem_TypeAttributeDefList_Cons :: T_TypeAttributeDef ->
T_TypeAttributeDefList ->
T_TypeAttributeDefList
_sem_TypeAttributeDefList_Cons hd_ tl_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: TypeAttributeDefList
_lhsOoriginalTree :: TypeAttributeDefList
_hdOcat :: Catalog
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_tlOcat :: Catalog
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_hdIannotatedTree :: TypeAttributeDef
_hdIoriginalTree :: TypeAttributeDef
_tlIannotatedTree :: TypeAttributeDefList
_tlIoriginalTree :: TypeAttributeDefList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 28288 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 28294 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 28300 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 28306 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 28312 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 28318 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 28324 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 28330 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 28336 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 28342 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdIoriginalTree) =
hd_ _hdOcat _hdOflags _hdOimCast
( _tlIannotatedTree,_tlIoriginalTree) =
tl_ _tlOcat _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_TypeAttributeDefList_Nil :: T_TypeAttributeDefList
_sem_TypeAttributeDefList_Nil =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: TypeAttributeDefList
_lhsOoriginalTree :: TypeAttributeDefList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 28360 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 28366 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 28372 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 28378 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data TypeName = SimpleTypeName (Annotation) (Name)
| PrecTypeName (Annotation) (Name) (Integer)
| Prec2TypeName (Annotation) (Name) (Integer) (Integer)
| ArrayTypeName (Annotation) (TypeName)
| SetOfTypeName (Annotation) (TypeName)
deriving ( Data,Eq,Show,Typeable)
_sem_TypeName :: TypeName ->
T_TypeName
_sem_TypeName (SimpleTypeName _ann _tn) =
(_sem_TypeName_SimpleTypeName (_sem_Annotation _ann) (_sem_Name _tn))
_sem_TypeName (PrecTypeName _ann _tn _prec) =
(_sem_TypeName_PrecTypeName (_sem_Annotation _ann) (_sem_Name _tn) _prec)
_sem_TypeName (Prec2TypeName _ann _tn _prec _prec1) =
(_sem_TypeName_Prec2TypeName (_sem_Annotation _ann) (_sem_Name _tn) _prec _prec1)
_sem_TypeName (ArrayTypeName _ann _typ) =
(_sem_TypeName_ArrayTypeName (_sem_Annotation _ann) (_sem_TypeName _typ))
_sem_TypeName (SetOfTypeName _ann _typ) =
(_sem_TypeName_SetOfTypeName (_sem_Annotation _ann) (_sem_TypeName _typ))
type T_TypeName = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( TypeName,(Maybe TypeExtra),TypeName)
data Inh_TypeName = Inh_TypeName {_cat_Inh_TypeName :: Catalog,_flags_Inh_TypeName :: TypeCheckFlags,_imCast_Inh_TypeName :: (Maybe TypeExtra)}
data Syn_TypeName = Syn_TypeName {_annotatedTree_Syn_TypeName :: TypeName,_namedType_Syn_TypeName :: (Maybe TypeExtra),_originalTree_Syn_TypeName :: TypeName}
_wrap_TypeName :: T_TypeName ->
Inh_TypeName ->
Syn_TypeName
_wrap_TypeName sem (Inh_TypeName _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOnamedType,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_TypeName _lhsOannotatedTree _lhsOnamedType _lhsOoriginalTree))
_sem_TypeName_SimpleTypeName :: T_Annotation ->
T_Name ->
T_TypeName
_sem_TypeName_SimpleTypeName ann_ tn_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOnamedType :: (Maybe TypeExtra)
_annOtpe :: (Either [TypeError] TypeExtra)
_tnOtpe :: (Either [TypeError] TypeExtra)
_canType :: ([NameComponent] -> [NameComponent])
_tpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: TypeName
_lhsOoriginalTree :: TypeName
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_tnOcat :: Catalog
_tnOflags :: TypeCheckFlags
_tnOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_tnIannotatedTree :: Name
_tnIoriginalTree :: Name
_lhsOnamedType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 28497 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
either Left (const $ Left []) _tpe
{-# LINE 28503 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tnOtpe =
({-# LINE 39 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
Left []
{-# LINE 28509 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_canType =
({-# LINE 51 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
\x -> case x of
[Nmc nc] -> [Nmc $ T.unpack $ canonicalizeTypeName (tcfDialect _lhsIflags) $ T.pack nc]
_ -> x
{-# LINE 28517 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 63 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
mkTypeExtraNN `liftM` catLookupType _lhsIcat (_canType $ nameComponents _tnIoriginalTree)
{-# LINE 28523 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SimpleTypeName _annIannotatedTree _tnIannotatedTree
{-# LINE 28529 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SimpleTypeName _annIoriginalTree _tnIoriginalTree
{-# LINE 28535 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 28541 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 28547 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 28553 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 28559 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 28565 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tnOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 28571 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tnOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 28577 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tnOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 28583 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _tnIannotatedTree,_tnIoriginalTree) =
tn_ _tnOcat _tnOflags _tnOimCast _tnOtpe
in ( _lhsOannotatedTree,_lhsOnamedType,_lhsOoriginalTree)))
_sem_TypeName_PrecTypeName :: T_Annotation ->
T_Name ->
Integer ->
T_TypeName
_sem_TypeName_PrecTypeName ann_ tn_ prec_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOnamedType :: (Maybe TypeExtra)
_annOtpe :: (Either [TypeError] TypeExtra)
_tnOtpe :: (Either [TypeError] TypeExtra)
_canType :: ([NameComponent] -> [NameComponent])
_tpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: TypeName
_lhsOoriginalTree :: TypeName
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_tnOcat :: Catalog
_tnOflags :: TypeCheckFlags
_tnOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_tnIannotatedTree :: Name
_tnIoriginalTree :: Name
_lhsOnamedType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 28619 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
either Left (const $ Left []) _tpe
{-# LINE 28625 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tnOtpe =
({-# LINE 39 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
Left []
{-# LINE 28631 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_canType =
({-# LINE 51 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
\x -> case x of
[Nmc nc] -> [Nmc $ T.unpack $ canonicalizeTypeName (tcfDialect _lhsIflags) $ T.pack nc]
_ -> x
{-# LINE 28639 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 77 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
((\t -> t{tePrecision = Just $ fromIntegral prec_}) . mkTypeExtraNN)
`liftM` catLookupType _lhsIcat (nameComponents _tnIoriginalTree)
{-# LINE 28646 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
PrecTypeName _annIannotatedTree _tnIannotatedTree prec_
{-# LINE 28652 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
PrecTypeName _annIoriginalTree _tnIoriginalTree prec_
{-# LINE 28658 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 28664 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 28670 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 28676 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 28682 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 28688 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tnOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 28694 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tnOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 28700 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tnOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 28706 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _tnIannotatedTree,_tnIoriginalTree) =
tn_ _tnOcat _tnOflags _tnOimCast _tnOtpe
in ( _lhsOannotatedTree,_lhsOnamedType,_lhsOoriginalTree)))
_sem_TypeName_Prec2TypeName :: T_Annotation ->
T_Name ->
Integer ->
Integer ->
T_TypeName
_sem_TypeName_Prec2TypeName ann_ tn_ prec_ prec1_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOnamedType :: (Maybe TypeExtra)
_annOtpe :: (Either [TypeError] TypeExtra)
_tnOtpe :: (Either [TypeError] TypeExtra)
_canType :: ([NameComponent] -> [NameComponent])
_tpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: TypeName
_lhsOoriginalTree :: TypeName
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_tnOcat :: Catalog
_tnOflags :: TypeCheckFlags
_tnOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_tnIannotatedTree :: Name
_tnIoriginalTree :: Name
_lhsOnamedType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 28743 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
either Left (const $ Left []) _tpe
{-# LINE 28749 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tnOtpe =
({-# LINE 39 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
Left []
{-# LINE 28755 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_canType =
({-# LINE 51 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
\x -> case x of
[Nmc nc] -> [Nmc $ T.unpack $ canonicalizeTypeName (tcfDialect _lhsIflags) $ T.pack nc]
_ -> x
{-# LINE 28763 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 80 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
((\t -> t{tePrecision = Just $ fromIntegral prec_,
teScale = Just $ fromIntegral prec1_})
. mkTypeExtraNN)
`liftM` catLookupType _lhsIcat (nameComponents _tnIoriginalTree)
{-# LINE 28772 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Prec2TypeName _annIannotatedTree _tnIannotatedTree prec_ prec1_
{-# LINE 28778 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
Prec2TypeName _annIoriginalTree _tnIoriginalTree prec_ prec1_
{-# LINE 28784 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 28790 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 28796 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 28802 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 28808 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 28814 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tnOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 28820 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tnOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 28826 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tnOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 28832 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _tnIannotatedTree,_tnIoriginalTree) =
tn_ _tnOcat _tnOflags _tnOimCast _tnOtpe
in ( _lhsOannotatedTree,_lhsOnamedType,_lhsOoriginalTree)))
_sem_TypeName_ArrayTypeName :: T_Annotation ->
T_TypeName ->
T_TypeName
_sem_TypeName_ArrayTypeName ann_ typ_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOnamedType :: (Maybe TypeExtra)
_annOtpe :: (Either [TypeError] TypeExtra)
_canType :: ([NameComponent] -> [NameComponent])
_tpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: TypeName
_lhsOoriginalTree :: TypeName
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_typOcat :: Catalog
_typOflags :: TypeCheckFlags
_typOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_typIannotatedTree :: TypeName
_typInamedType :: (Maybe TypeExtra)
_typIoriginalTree :: TypeName
_lhsOnamedType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 28867 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
either Left (const $ Left []) _tpe
{-# LINE 28873 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_canType =
({-# LINE 51 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
\x -> case x of
[Nmc nc] -> [Nmc $ T.unpack $ canonicalizeTypeName (tcfDialect _lhsIflags) $ T.pack nc]
_ -> x
{-# LINE 28881 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 71 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
maybe (Left []) Right _typInamedType
>>= Right . (\t -> t{teType = ArrayType $ teType t})
{-# LINE 28888 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ArrayTypeName _annIannotatedTree _typIannotatedTree
{-# LINE 28894 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ArrayTypeName _annIoriginalTree _typIoriginalTree
{-# LINE 28900 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 28906 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 28912 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 28918 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 28924 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 28930 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 28936 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 28942 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 28948 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _typIannotatedTree,_typInamedType,_typIoriginalTree) =
typ_ _typOcat _typOflags _typOimCast
in ( _lhsOannotatedTree,_lhsOnamedType,_lhsOoriginalTree)))
_sem_TypeName_SetOfTypeName :: T_Annotation ->
T_TypeName ->
T_TypeName
_sem_TypeName_SetOfTypeName ann_ typ_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOnamedType :: (Maybe TypeExtra)
_annOtpe :: (Either [TypeError] TypeExtra)
_canType :: ([NameComponent] -> [NameComponent])
_tpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: TypeName
_lhsOoriginalTree :: TypeName
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_typOcat :: Catalog
_typOflags :: TypeCheckFlags
_typOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_typIannotatedTree :: TypeName
_typInamedType :: (Maybe TypeExtra)
_typIoriginalTree :: TypeName
_lhsOnamedType =
({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
either (const Nothing) Just _tpe
{-# LINE 28983 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
either Left (const $ Left []) _tpe
{-# LINE 28989 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_canType =
({-# LINE 51 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
\x -> case x of
[Nmc nc] -> [Nmc $ T.unpack $ canonicalizeTypeName (tcfDialect _lhsIflags) $ T.pack nc]
_ -> x
{-# LINE 28997 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 74 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}
maybe (Left []) Right _typInamedType
>>= Right . (\t -> t{teType = Pseudo $ SetOfType $ teType t})
{-# LINE 29004 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SetOfTypeName _annIannotatedTree _typIannotatedTree
{-# LINE 29010 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
SetOfTypeName _annIoriginalTree _typIoriginalTree
{-# LINE 29016 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 29022 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 29028 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 29034 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 29040 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 29046 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 29052 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 29058 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 29064 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _typIannotatedTree,_typInamedType,_typIoriginalTree) =
typ_ _typOcat _typOflags _typOimCast
in ( _lhsOannotatedTree,_lhsOnamedType,_lhsOoriginalTree)))
type TypeNameList = [TypeName]
_sem_TypeNameList :: TypeNameList ->
T_TypeNameList
_sem_TypeNameList list =
(Prelude.foldr _sem_TypeNameList_Cons _sem_TypeNameList_Nil (Prelude.map _sem_TypeName list))
type T_TypeNameList = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( TypeNameList,TypeNameList)
data Inh_TypeNameList = Inh_TypeNameList {_cat_Inh_TypeNameList :: Catalog,_flags_Inh_TypeNameList :: TypeCheckFlags,_imCast_Inh_TypeNameList :: (Maybe TypeExtra)}
data Syn_TypeNameList = Syn_TypeNameList {_annotatedTree_Syn_TypeNameList :: TypeNameList,_originalTree_Syn_TypeNameList :: TypeNameList}
_wrap_TypeNameList :: T_TypeNameList ->
Inh_TypeNameList ->
Syn_TypeNameList
_wrap_TypeNameList sem (Inh_TypeNameList _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_TypeNameList _lhsOannotatedTree _lhsOoriginalTree))
_sem_TypeNameList_Cons :: T_TypeName ->
T_TypeNameList ->
T_TypeNameList
_sem_TypeNameList_Cons hd_ tl_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: TypeNameList
_lhsOoriginalTree :: TypeNameList
_hdOcat :: Catalog
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_tlOcat :: Catalog
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_hdIannotatedTree :: TypeName
_hdInamedType :: (Maybe TypeExtra)
_hdIoriginalTree :: TypeName
_tlIannotatedTree :: TypeNameList
_tlIoriginalTree :: TypeNameList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 29136 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 29142 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 29148 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 29154 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 29160 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 29166 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 29172 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 29178 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 29184 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 29190 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdInamedType,_hdIoriginalTree) =
hd_ _hdOcat _hdOflags _hdOimCast
( _tlIannotatedTree,_tlIoriginalTree) =
tl_ _tlOcat _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_TypeNameList_Nil :: T_TypeNameList
_sem_TypeNameList_Nil =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: TypeNameList
_lhsOoriginalTree :: TypeNameList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 29208 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 29214 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 29220 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 29226 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data VarDef = VarDef (Annotation) (NameComponent) (TypeName) ((Maybe ScalarExpr))
| ParamAlias (Annotation) (NameComponent) (Integer)
| VarAlias (Annotation) (NameComponent) (Name)
deriving ( Data,Eq,Show,Typeable)
_sem_VarDef :: VarDef ->
T_VarDef
_sem_VarDef (VarDef _ann _name _typ _value) =
(_sem_VarDef_VarDef (_sem_Annotation _ann) _name (_sem_TypeName _typ) _value)
_sem_VarDef (ParamAlias _ann _name _i) =
(_sem_VarDef_ParamAlias (_sem_Annotation _ann) _name _i)
_sem_VarDef (VarAlias _ann _name _aliased) =
(_sem_VarDef_VarAlias (_sem_Annotation _ann) _name (_sem_Name _aliased))
type T_VarDef = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( VarDef,VarDef)
data Inh_VarDef = Inh_VarDef {_cat_Inh_VarDef :: Catalog,_flags_Inh_VarDef :: TypeCheckFlags,_imCast_Inh_VarDef :: (Maybe TypeExtra)}
data Syn_VarDef = Syn_VarDef {_annotatedTree_Syn_VarDef :: VarDef,_originalTree_Syn_VarDef :: VarDef}
_wrap_VarDef :: T_VarDef ->
Inh_VarDef ->
Syn_VarDef
_wrap_VarDef sem (Inh_VarDef _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_VarDef _lhsOannotatedTree _lhsOoriginalTree))
_sem_VarDef_VarDef :: T_Annotation ->
NameComponent ->
T_TypeName ->
(Maybe ScalarExpr) ->
T_VarDef
_sem_VarDef_VarDef ann_ name_ typ_ value_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: VarDef
_lhsOoriginalTree :: VarDef
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_typOcat :: Catalog
_typOflags :: TypeCheckFlags
_typOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_typIannotatedTree :: TypeName
_typInamedType :: (Maybe TypeExtra)
_typIoriginalTree :: TypeName
_annOtpe =
({-# LINE 236 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 29316 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
VarDef _annIannotatedTree name_ _typIannotatedTree value_
{-# LINE 29322 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
VarDef _annIoriginalTree name_ _typIoriginalTree value_
{-# LINE 29328 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 29334 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 29340 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 29346 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 29352 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 29358 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 29364 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 29370 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_typOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 29376 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _typIannotatedTree,_typInamedType,_typIoriginalTree) =
typ_ _typOcat _typOflags _typOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_VarDef_ParamAlias :: T_Annotation ->
NameComponent ->
Integer ->
T_VarDef
_sem_VarDef_ParamAlias ann_ name_ i_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: VarDef
_lhsOoriginalTree :: VarDef
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_annOtpe =
({-# LINE 233 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 29403 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ParamAlias _annIannotatedTree name_ i_
{-# LINE 29409 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
ParamAlias _annIoriginalTree name_ i_
{-# LINE 29415 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 29421 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 29427 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 29433 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 29439 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 29445 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_VarDef_VarAlias :: T_Annotation ->
NameComponent ->
T_Name ->
T_VarDef
_sem_VarDef_VarAlias ann_ name_ aliased_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _aliasedOtpe :: (Either [TypeError] TypeExtra)
_annOtpe :: (Either [TypeError] TypeExtra)
_lhsOannotatedTree :: VarDef
_lhsOoriginalTree :: VarDef
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_aliasedOcat :: Catalog
_aliasedOflags :: TypeCheckFlags
_aliasedOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_aliasedIannotatedTree :: Name
_aliasedIoriginalTree :: Name
_aliasedOtpe =
({-# LINE 234 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 29476 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 235 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}
Left []
{-# LINE 29482 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
VarAlias _annIannotatedTree name_ _aliasedIannotatedTree
{-# LINE 29488 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
VarAlias _annIoriginalTree name_ _aliasedIoriginalTree
{-# LINE 29494 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 29500 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 29506 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 29512 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 29518 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 29524 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_aliasedOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 29530 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_aliasedOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 29536 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_aliasedOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 29542 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _aliasedIannotatedTree,_aliasedIoriginalTree) =
aliased_ _aliasedOcat _aliasedOflags _aliasedOimCast _aliasedOtpe
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
type VarDefList = [VarDef]
_sem_VarDefList :: VarDefList ->
T_VarDefList
_sem_VarDefList list =
(Prelude.foldr _sem_VarDefList_Cons _sem_VarDefList_Nil (Prelude.map _sem_VarDef list))
type T_VarDefList = Catalog ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( VarDefList,VarDefList)
data Inh_VarDefList = Inh_VarDefList {_cat_Inh_VarDefList :: Catalog,_flags_Inh_VarDefList :: TypeCheckFlags,_imCast_Inh_VarDefList :: (Maybe TypeExtra)}
data Syn_VarDefList = Syn_VarDefList {_annotatedTree_Syn_VarDefList :: VarDefList,_originalTree_Syn_VarDefList :: VarDefList}
_wrap_VarDefList :: T_VarDefList ->
Inh_VarDefList ->
Syn_VarDefList
_wrap_VarDefList sem (Inh_VarDefList _lhsIcat _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOoriginalTree) = sem _lhsIcat _lhsIflags _lhsIimCast
in (Syn_VarDefList _lhsOannotatedTree _lhsOoriginalTree))
_sem_VarDefList_Cons :: T_VarDef ->
T_VarDefList ->
T_VarDefList
_sem_VarDefList_Cons hd_ tl_ =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: VarDefList
_lhsOoriginalTree :: VarDefList
_hdOcat :: Catalog
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_tlOcat :: Catalog
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_hdIannotatedTree :: VarDef
_hdIoriginalTree :: VarDef
_tlIannotatedTree :: VarDefList
_tlIoriginalTree :: VarDefList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 29613 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 29619 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 29625 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 29631 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 29637 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 29643 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 29649 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 29655 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 29661 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 29667 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdIoriginalTree) =
hd_ _hdOcat _hdOflags _hdOimCast
( _tlIannotatedTree,_tlIoriginalTree) =
tl_ _tlOcat _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
_sem_VarDefList_Nil :: T_VarDefList
_sem_VarDefList_Nil =
(\ _lhsIcat
_lhsIflags
_lhsIimCast ->
(let _lhsOannotatedTree :: VarDefList
_lhsOoriginalTree :: VarDefList
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 29685 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 29691 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 29697 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 29703 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOoriginalTree)))
data WithQuery = WithQuery (Annotation) (NameComponent) ((Maybe [NameComponent])) (QueryExpr)
deriving ( Data,Eq,Show,Typeable)
_sem_WithQuery :: WithQuery ->
T_WithQuery
_sem_WithQuery (WithQuery _ann _name _colAliases _ex) =
(_sem_WithQuery_WithQuery (_sem_Annotation _ann) _name _colAliases (_sem_QueryExpr _ex))
type T_WithQuery = Catalog ->
(Either [TypeError] Catalog) ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( WithQuery,(Maybe [NameComponent]),Text,WithQuery,(Maybe [(Text,TypeExtra)]))
data Inh_WithQuery = Inh_WithQuery {_cat_Inh_WithQuery :: Catalog,_catExtIncomp_Inh_WithQuery :: (Either [TypeError] Catalog),_flags_Inh_WithQuery :: TypeCheckFlags,_imCast_Inh_WithQuery :: (Maybe TypeExtra)}
data Syn_WithQuery = Syn_WithQuery {_annotatedTree_Syn_WithQuery :: WithQuery,_colAliases_Syn_WithQuery :: (Maybe [NameComponent]),_name_Syn_WithQuery :: Text,_originalTree_Syn_WithQuery :: WithQuery,_upType_Syn_WithQuery :: (Maybe [(Text,TypeExtra)])}
_wrap_WithQuery :: T_WithQuery ->
Inh_WithQuery ->
Syn_WithQuery
_wrap_WithQuery sem (Inh_WithQuery _lhsIcat _lhsIcatExtIncomp _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOcolAliases,_lhsOname,_lhsOoriginalTree,_lhsOupType) = sem _lhsIcat _lhsIcatExtIncomp _lhsIflags _lhsIimCast
in (Syn_WithQuery _lhsOannotatedTree _lhsOcolAliases _lhsOname _lhsOoriginalTree _lhsOupType))
_sem_WithQuery_WithQuery :: T_Annotation ->
NameComponent ->
(Maybe [NameComponent]) ->
T_QueryExpr ->
T_WithQuery
_sem_WithQuery_WithQuery ann_ name_ colAliases_ ex_ =
(\ _lhsIcat
_lhsIcatExtIncomp
_lhsIflags
_lhsIimCast ->
(let _lhsOname :: Text
_lhsOannotatedTree :: WithQuery
_lhsOcolAliases :: (Maybe [NameComponent])
_tpee :: (Either [TypeError] [(Text,TypeExtra)])
_tpe :: (Either [TypeError] TypeExtra)
_lhsOupType :: (Maybe [(Text,TypeExtra)])
_exOouterDownEnv :: (Maybe Environment)
_annOtpe :: (Either [TypeError] TypeExtra)
_exOexpectedType :: (Maybe [TypeExtra])
_exOassignmentCastContext :: Bool
_lhsOoriginalTree :: WithQuery
_annOcat :: Catalog
_annOflags :: TypeCheckFlags
_annOimCast :: (Maybe TypeExtra)
_exOcat :: Catalog
_exOflags :: TypeCheckFlags
_exOimCast :: (Maybe TypeExtra)
_annIannotatedTree :: Annotation
_annIoriginalTree :: Annotation
_exIannotatedTree :: QueryExpr
_exIoriginalTree :: QueryExpr
_exIupType :: (Maybe [(Text,TypeExtra)])
_lhsOname =
({-# LINE 56 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
ncStrT name_
{-# LINE 29789 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 57 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
WithQuery _annIannotatedTree name_ colAliases_ _exIannotatedTree
{-# LINE 29795 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOcolAliases =
({-# LINE 58 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
colAliases_
{-# LINE 29801 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpee =
({-# LINE 62 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
maybe (Left []) Right _exIupType
{-# LINE 29807 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tpe =
({-# LINE 64 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
liftM (mkTypeExtra . CompositeType) _tpee
{-# LINE 29813 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOupType =
({-# LINE 66 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
either (const Nothing) Just _tpee
{-# LINE 29819 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOouterDownEnv =
({-# LINE 95 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
Nothing
{-# LINE 29825 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOtpe =
({-# LINE 101 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
Left []
{-# LINE 29831 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOexpectedType =
({-# LINE 102 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
liftM (map snd) _exIupType
{-# LINE 29837 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOassignmentCastContext =
({-# LINE 846 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}
False
{-# LINE 29843 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
WithQuery _annIannotatedTree name_ colAliases_ _exIannotatedTree
{-# LINE 29849 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
WithQuery _annIoriginalTree name_ colAliases_ _exIoriginalTree
{-# LINE 29855 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 29861 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 29867 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 29873 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 29879 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 29885 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 29891 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_exOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 29897 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _annIannotatedTree,_annIoriginalTree) =
ann_ _annOcat _annOflags _annOimCast _annOtpe
( _exIannotatedTree,_exIoriginalTree,_exIupType) =
ex_ _exOassignmentCastContext _exOcat _exOexpectedType _exOflags _exOimCast _exOouterDownEnv
in ( _lhsOannotatedTree,_lhsOcolAliases,_lhsOname,_lhsOoriginalTree,_lhsOupType)))
type WithQueryList = [WithQuery]
_sem_WithQueryList :: WithQueryList ->
T_WithQueryList
_sem_WithQueryList list =
(Prelude.foldr _sem_WithQueryList_Cons _sem_WithQueryList_Nil (Prelude.map _sem_WithQuery list))
type T_WithQueryList = Catalog ->
(Either [TypeError] Catalog) ->
TypeCheckFlags ->
(Maybe TypeExtra) ->
( WithQueryList,(Either [TypeError] Catalog),WithQueryList)
data Inh_WithQueryList = Inh_WithQueryList {_cat_Inh_WithQueryList :: Catalog,_catExtIncomp_Inh_WithQueryList :: (Either [TypeError] Catalog),_flags_Inh_WithQueryList :: TypeCheckFlags,_imCast_Inh_WithQueryList :: (Maybe TypeExtra)}
data Syn_WithQueryList = Syn_WithQueryList {_annotatedTree_Syn_WithQueryList :: WithQueryList,_catExtComp_Syn_WithQueryList :: (Either [TypeError] Catalog),_originalTree_Syn_WithQueryList :: WithQueryList}
_wrap_WithQueryList :: T_WithQueryList ->
Inh_WithQueryList ->
Syn_WithQueryList
_wrap_WithQueryList sem (Inh_WithQueryList _lhsIcat _lhsIcatExtIncomp _lhsIflags _lhsIimCast) =
(let ( _lhsOannotatedTree,_lhsOcatExtComp,_lhsOoriginalTree) = sem _lhsIcat _lhsIcatExtIncomp _lhsIflags _lhsIimCast
in (Syn_WithQueryList _lhsOannotatedTree _lhsOcatExtComp _lhsOoriginalTree))
_sem_WithQueryList_Cons :: T_WithQuery ->
T_WithQueryList ->
T_WithQueryList
_sem_WithQueryList_Cons hd_ tl_ =
(\ _lhsIcat
_lhsIcatExtIncomp
_lhsIflags
_lhsIimCast ->
(let _tlOcatExtIncomp :: (Either [TypeError] Catalog)
_hdOcat :: Catalog
_lhsOannotatedTree :: WithQueryList
_lhsOoriginalTree :: WithQueryList
_lhsOcatExtComp :: (Either [TypeError] Catalog)
_hdOcatExtIncomp :: (Either [TypeError] Catalog)
_hdOflags :: TypeCheckFlags
_hdOimCast :: (Maybe TypeExtra)
_tlOcat :: Catalog
_tlOflags :: TypeCheckFlags
_tlOimCast :: (Maybe TypeExtra)
_hdIannotatedTree :: WithQuery
_hdIcolAliases :: (Maybe [NameComponent])
_hdIname :: Text
_hdIoriginalTree :: WithQuery
_hdIupType :: (Maybe [(Text,TypeExtra)])
_tlIannotatedTree :: WithQueryList
_tlIcatExtComp :: (Either [TypeError] Catalog)
_tlIoriginalTree :: WithQueryList
_tlOcatExtIncomp =
({-# LINE 34 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
do
let getWithEx (WithQuery _ _ _ ex) = ex
upType' <- maybe (Left . anErrs . ann . getWithEx $ _hdIannotatedTree) Right
_hdIupType
colTyPairs <- mapM (secondM typeToCatName) upType'
colTyPairs' <- case _hdIcolAliases of
Just alsNms -> do
unless (length alsNms == length colTyPairs) $
Left [BadCatalogUpdate "number of aliases differs from number of expressions in the select"]
return $ zip (map ncStrT alsNms) $ map snd colTyPairs
Nothing -> return colTyPairs
updateCatalog [CatCreateTable ("public", _hdIname ) colTyPairs'] =<< _lhsIcatExtIncomp
{-# LINE 29990 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcat =
({-# LINE 47 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
case _lhsIcatExtIncomp of
Right catExtIncomp -> catExtIncomp
Left _ -> _lhsIcat
{-# LINE 29998 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIannotatedTree _tlIannotatedTree
{-# LINE 30004 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
(:) _hdIoriginalTree _tlIoriginalTree
{-# LINE 30010 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 30016 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 30022 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOcatExtComp =
({-# LINE 29 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_tlIcatExtComp
{-# LINE 30028 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOcatExtIncomp =
({-# LINE 24 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIcatExtIncomp
{-# LINE 30034 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 30040 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_hdOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 30046 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOcat =
({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIcat
{-# LINE 30052 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOflags =
({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIflags
{-# LINE 30058 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_tlOimCast =
({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_lhsIimCast
{-# LINE 30064 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
( _hdIannotatedTree,_hdIcolAliases,_hdIname,_hdIoriginalTree,_hdIupType) =
hd_ _hdOcat _hdOcatExtIncomp _hdOflags _hdOimCast
( _tlIannotatedTree,_tlIcatExtComp,_tlIoriginalTree) =
tl_ _tlOcat _tlOcatExtIncomp _tlOflags _tlOimCast
in ( _lhsOannotatedTree,_lhsOcatExtComp,_lhsOoriginalTree)))
_sem_WithQueryList_Nil :: T_WithQueryList
_sem_WithQueryList_Nil =
(\ _lhsIcat
_lhsIcatExtIncomp
_lhsIflags
_lhsIimCast ->
(let _lhsOcatExtComp :: (Either [TypeError] Catalog)
_lhsOannotatedTree :: WithQueryList
_lhsOoriginalTree :: WithQueryList
_lhsOcatExtComp =
({-# LINE 52 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}
_lhsIcatExtIncomp
{-# LINE 30084 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_annotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 30090 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_originalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
[]
{-# LINE 30096 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOannotatedTree =
({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_annotatedTree
{-# LINE 30102 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
_lhsOoriginalTree =
({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}
_originalTree
{-# LINE 30108 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}
)
in ( _lhsOannotatedTree,_lhsOcatExtComp,_lhsOoriginalTree)))