hssqlppp 0.6.1 → 0.6.2
raw patch · 12 files changed
+30381/−30075 lines, 12 filesdep ~containersdep ~haskell-src-extsdep ~pretty-showPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: containers, haskell-src-exts, pretty-show, tasty, tasty-hunit
API changes (from Hackage documentation)
+ Database.HsSqlPpp.Syntax: DefaultConstraint :: Annotation -> String -> ScalarExpr -> RowConstraint
+ Database.HsSqlPpp.Syntax: TableOptionKeywords :: [String] -> TableOption
+ Database.HsSqlPpp.Syntax: TableOptionNameVal :: [String] -> [Name] -> TableOption
+ Database.HsSqlPpp.Syntax: TableOptionNumberVal :: [String] -> String -> TableOption
+ Database.HsSqlPpp.Syntax: TableOptionStringVal :: [String] -> String -> TableOption
+ Database.HsSqlPpp.Syntax: data TableOption
- Database.HsSqlPpp.Annotation: Annotation :: (Maybe SourcePosition) -> (Maybe TypeExtra) -> ([TypeError]) -> (Maybe TypeExtra) -> ([CatalogUpdate]) -> Annotation
+ Database.HsSqlPpp.Annotation: Annotation :: Maybe SourcePosition -> Maybe TypeExtra -> [TypeError] -> Maybe TypeExtra -> [CatalogUpdate] -> Annotation
- Database.HsSqlPpp.Annotation: [anCatUpd] :: Annotation -> ([CatalogUpdate])
+ Database.HsSqlPpp.Annotation: [anCatUpd] :: Annotation -> [CatalogUpdate]
- Database.HsSqlPpp.Annotation: [anErrs] :: Annotation -> ([TypeError])
+ Database.HsSqlPpp.Annotation: [anErrs] :: Annotation -> [TypeError]
- Database.HsSqlPpp.Annotation: [anImplicitCast] :: Annotation -> (Maybe TypeExtra)
+ Database.HsSqlPpp.Annotation: [anImplicitCast] :: Annotation -> Maybe TypeExtra
- Database.HsSqlPpp.Annotation: [anSrc] :: Annotation -> (Maybe SourcePosition)
+ Database.HsSqlPpp.Annotation: [anSrc] :: Annotation -> Maybe SourcePosition
- Database.HsSqlPpp.Annotation: [anType] :: Annotation -> (Maybe TypeExtra)
+ Database.HsSqlPpp.Annotation: [anType] :: Annotation -> Maybe TypeExtra
- Database.HsSqlPpp.Lex: Identifier :: (Maybe (String, String)) -> String -> Token
+ Database.HsSqlPpp.Lex: Identifier :: Maybe (String, String) -> String -> Token
- Database.HsSqlPpp.Syntax: AddColumn :: (Annotation) -> (AttributeDef) -> AlterTableAction
+ Database.HsSqlPpp.Syntax: AddColumn :: Annotation -> AttributeDef -> AlterTableAction
- Database.HsSqlPpp.Syntax: AddConstraint :: (Annotation) -> (Constraint) -> AlterTableAction
+ Database.HsSqlPpp.Syntax: AddConstraint :: Annotation -> Constraint -> AlterTableAction
- Database.HsSqlPpp.Syntax: AggregateApp :: (Annotation) -> (Distinct) -> (ScalarExpr) -> (ScalarExprDirectionPairList) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: AggregateApp :: Annotation -> Distinct -> ScalarExpr -> ScalarExprDirectionPairList -> ScalarExpr
- Database.HsSqlPpp.Syntax: AlterColumn :: (Annotation) -> (NameComponent) -> (AlterColumnAction) -> AlterTableAction
+ Database.HsSqlPpp.Syntax: AlterColumn :: Annotation -> NameComponent -> AlterColumnAction -> AlterTableAction
- Database.HsSqlPpp.Syntax: AlterDatabase :: (Annotation) -> (Name) -> (AlterDatabaseOperation) -> Statement
+ Database.HsSqlPpp.Syntax: AlterDatabase :: Annotation -> Name -> AlterDatabaseOperation -> Statement
- Database.HsSqlPpp.Syntax: AlterLogin :: (Annotation) -> (Name) -> (String) -> Statement
+ Database.HsSqlPpp.Syntax: AlterLogin :: Annotation -> Name -> String -> Statement
- Database.HsSqlPpp.Syntax: AlterSchema :: (Annotation) -> (NameComponent) -> (AlterSchemaOperation) -> Statement
+ Database.HsSqlPpp.Syntax: AlterSchema :: Annotation -> Name -> AlterSchemaOperation -> Statement
- Database.HsSqlPpp.Syntax: AlterSchemaName :: (Annotation) -> (NameComponent) -> AlterSchemaOperation
+ Database.HsSqlPpp.Syntax: AlterSchemaName :: Annotation -> Name -> AlterSchemaOperation
- Database.HsSqlPpp.Syntax: AlterSchemaOwner :: (Annotation) -> (Name) -> AlterSchemaOperation
+ Database.HsSqlPpp.Syntax: AlterSchemaOwner :: Annotation -> Name -> AlterSchemaOperation
- Database.HsSqlPpp.Syntax: AlterSequence :: (Annotation) -> (Name) -> (AlterSequenceOperation) -> Statement
+ Database.HsSqlPpp.Syntax: AlterSequence :: Annotation -> Name -> AlterSequenceOperation -> Statement
- Database.HsSqlPpp.Syntax: AlterSequenceActions :: (Annotation) -> (AlterSequenceActionList) -> AlterSequenceOperation
+ Database.HsSqlPpp.Syntax: AlterSequenceActions :: Annotation -> AlterSequenceActionList -> AlterSequenceOperation
- Database.HsSqlPpp.Syntax: AlterSequenceCache :: (Annotation) -> (Integer) -> AlterSequenceAction
+ Database.HsSqlPpp.Syntax: AlterSequenceCache :: Annotation -> Integer -> AlterSequenceAction
- Database.HsSqlPpp.Syntax: AlterSequenceIncrement :: (Annotation) -> (Integer) -> AlterSequenceAction
+ Database.HsSqlPpp.Syntax: AlterSequenceIncrement :: Annotation -> Integer -> AlterSequenceAction
- Database.HsSqlPpp.Syntax: AlterSequenceMax :: (Annotation) -> ((Maybe Integer)) -> AlterSequenceAction
+ Database.HsSqlPpp.Syntax: AlterSequenceMax :: Annotation -> Maybe Integer -> AlterSequenceAction
- Database.HsSqlPpp.Syntax: AlterSequenceMin :: (Annotation) -> ((Maybe Integer)) -> AlterSequenceAction
+ Database.HsSqlPpp.Syntax: AlterSequenceMin :: Annotation -> Maybe Integer -> AlterSequenceAction
- Database.HsSqlPpp.Syntax: AlterSequenceOwned :: (Annotation) -> (Name) -> AlterSequenceOperation
+ Database.HsSqlPpp.Syntax: AlterSequenceOwned :: Annotation -> Name -> AlterSequenceOperation
- Database.HsSqlPpp.Syntax: AlterSequenceRename :: (Annotation) -> (Name) -> AlterSequenceOperation
+ Database.HsSqlPpp.Syntax: AlterSequenceRename :: Annotation -> Name -> AlterSequenceOperation
- Database.HsSqlPpp.Syntax: AlterSequenceRestart :: (Annotation) -> ((Maybe Integer)) -> AlterSequenceAction
+ Database.HsSqlPpp.Syntax: AlterSequenceRestart :: Annotation -> Maybe Integer -> AlterSequenceAction
- Database.HsSqlPpp.Syntax: AlterSequenceStart :: (Annotation) -> (Integer) -> AlterSequenceAction
+ Database.HsSqlPpp.Syntax: AlterSequenceStart :: Annotation -> Integer -> AlterSequenceAction
- Database.HsSqlPpp.Syntax: AlterTable :: (Annotation) -> (Name) -> (AlterTableOperation) -> Statement
+ Database.HsSqlPpp.Syntax: AlterTable :: Annotation -> Name -> AlterTableOperation -> Statement
- Database.HsSqlPpp.Syntax: AlterTableActions :: (Annotation) -> (AlterTableActionList) -> AlterTableOperation
+ Database.HsSqlPpp.Syntax: AlterTableActions :: Annotation -> AlterTableActionList -> AlterTableOperation
- Database.HsSqlPpp.Syntax: AlterUser :: (Annotation) -> (Name) -> (String) -> Statement
+ Database.HsSqlPpp.Syntax: AlterUser :: Annotation -> Name -> String -> Statement
- Database.HsSqlPpp.Syntax: AlterView :: (Annotation) -> (Name) -> (MaybeNameComponentList) -> (QueryExpr) -> Statement
+ Database.HsSqlPpp.Syntax: AlterView :: Annotation -> Name -> MaybeNameComponentList -> QueryExpr -> Statement
- Database.HsSqlPpp.Syntax: AntiName :: (String) -> Name
+ Database.HsSqlPpp.Syntax: AntiName :: String -> Name
- Database.HsSqlPpp.Syntax: AntiScalarExpr :: (String) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: AntiScalarExpr :: String -> ScalarExpr
- Database.HsSqlPpp.Syntax: AntiStatement :: (String) -> Statement
+ Database.HsSqlPpp.Syntax: AntiStatement :: String -> Statement
- Database.HsSqlPpp.Syntax: App :: (Annotation) -> (Name) -> (ScalarExprList) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: App :: Annotation -> Name -> ScalarExprList -> ScalarExpr
- Database.HsSqlPpp.Syntax: ArrayTypeName :: (Annotation) -> (TypeName) -> TypeName
+ Database.HsSqlPpp.Syntax: ArrayTypeName :: Annotation -> TypeName -> TypeName
- Database.HsSqlPpp.Syntax: Assignment :: (Annotation) -> (Name) -> (ScalarExpr) -> Statement
+ Database.HsSqlPpp.Syntax: Assignment :: Annotation -> Name -> ScalarExpr -> Statement
- Database.HsSqlPpp.Syntax: AttributeDef :: (Annotation) -> (NameComponent) -> (TypeName) -> (MaybeScalarExpr) -> (RowConstraintList) -> AttributeDef
+ Database.HsSqlPpp.Syntax: AttributeDef :: Annotation -> NameComponent -> TypeName -> RowConstraintList -> [TableOption] -> AttributeDef
- Database.HsSqlPpp.Syntax: BinaryOp :: (Annotation) -> (Name) -> (ScalarExpr) -> (ScalarExpr) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: BinaryOp :: Annotation -> Name -> ScalarExpr -> ScalarExpr -> ScalarExpr
- Database.HsSqlPpp.Syntax: Block :: (Annotation) -> ((Maybe String)) -> (VarDefList) -> (StatementList) -> Statement
+ Database.HsSqlPpp.Syntax: Block :: Annotation -> Maybe String -> VarDefList -> StatementList -> Statement
- Database.HsSqlPpp.Syntax: BooleanLit :: (Annotation) -> (Bool) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: BooleanLit :: Annotation -> Bool -> ScalarExpr
- Database.HsSqlPpp.Syntax: Case :: (Annotation) -> (CaseScalarExprListScalarExprPairList) -> (MaybeScalarExpr) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: Case :: Annotation -> CaseScalarExprListScalarExprPairList -> MaybeScalarExpr -> ScalarExpr
- Database.HsSqlPpp.Syntax: CaseSimple :: (Annotation) -> (ScalarExpr) -> (CaseScalarExprListScalarExprPairList) -> (MaybeScalarExpr) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: CaseSimple :: Annotation -> ScalarExpr -> CaseScalarExprListScalarExprPairList -> MaybeScalarExpr -> ScalarExpr
- Database.HsSqlPpp.Syntax: CaseStatement :: (Annotation) -> (ScalarExprListStatementListTripleList) -> (StatementList) -> Statement
+ Database.HsSqlPpp.Syntax: CaseStatement :: Annotation -> ScalarExprListStatementListTripleList -> StatementList -> Statement
- Database.HsSqlPpp.Syntax: CaseStatementSimple :: (Annotation) -> (ScalarExpr) -> (ScalarExprListStatementListTripleList) -> (StatementList) -> Statement
+ Database.HsSqlPpp.Syntax: CaseStatementSimple :: Annotation -> ScalarExpr -> ScalarExprListStatementListTripleList -> StatementList -> Statement
- Database.HsSqlPpp.Syntax: Cast :: (Annotation) -> (ScalarExpr) -> (TypeName) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: Cast :: Annotation -> ScalarExpr -> TypeName -> ScalarExpr
- Database.HsSqlPpp.Syntax: CheckConstraint :: (Annotation) -> (String) -> (ScalarExpr) -> Constraint
+ Database.HsSqlPpp.Syntax: CheckConstraint :: Annotation -> String -> ScalarExpr -> Constraint
- Database.HsSqlPpp.Syntax: CombineQueryExpr :: (Annotation) -> (CombineType) -> (QueryExpr) -> (QueryExpr) -> QueryExpr
+ Database.HsSqlPpp.Syntax: CombineQueryExpr :: Annotation -> CombineType -> QueryExpr -> QueryExpr -> QueryExpr
- Database.HsSqlPpp.Syntax: ContinueStatement :: (Annotation) -> ((Maybe String)) -> Statement
+ Database.HsSqlPpp.Syntax: ContinueStatement :: Annotation -> Maybe String -> Statement
- Database.HsSqlPpp.Syntax: CopyData :: (Annotation) -> (String) -> Statement
+ Database.HsSqlPpp.Syntax: CopyData :: Annotation -> String -> Statement
- Database.HsSqlPpp.Syntax: CopyFrom :: (Annotation) -> (Name) -> (([NameComponent])) -> (CopyFromSource) -> (([CopyFromOption])) -> Statement
+ Database.HsSqlPpp.Syntax: CopyFrom :: Annotation -> Name -> [NameComponent] -> CopyFromSource -> [CopyFromOption] -> Statement
- Database.HsSqlPpp.Syntax: CopyTo :: (Annotation) -> (CopyToSource) -> (String) -> (([CopyToOption])) -> Statement
+ Database.HsSqlPpp.Syntax: CopyTo :: Annotation -> CopyToSource -> String -> [CopyToOption] -> Statement
- Database.HsSqlPpp.Syntax: CreateDatabase :: (Annotation) -> (Name) -> Statement
+ Database.HsSqlPpp.Syntax: CreateDatabase :: Annotation -> Name -> Statement
- Database.HsSqlPpp.Syntax: CreateDomain :: (Annotation) -> (Name) -> (TypeName) -> (String) -> (MaybeBoolExpr) -> Statement
+ Database.HsSqlPpp.Syntax: CreateDomain :: Annotation -> Name -> TypeName -> String -> MaybeBoolExpr -> Statement
- Database.HsSqlPpp.Syntax: CreateFunction :: (Annotation) -> (Name) -> (ParamDefList) -> (TypeName) -> (Replace) -> (Language) -> (FnBody) -> (Volatility) -> Statement
+ Database.HsSqlPpp.Syntax: CreateFunction :: Annotation -> Name -> ParamDefList -> TypeName -> Replace -> Language -> FnBody -> Volatility -> Statement
- Database.HsSqlPpp.Syntax: CreateIndexTSQL :: (Annotation) -> (NameComponent) -> (Name) -> (([NameComponent])) -> Statement
+ Database.HsSqlPpp.Syntax: CreateIndexTSQL :: Annotation -> NameComponent -> Name -> [NameComponent] -> Statement
- Database.HsSqlPpp.Syntax: CreateLanguage :: (Annotation) -> (String) -> Statement
+ Database.HsSqlPpp.Syntax: CreateLanguage :: Annotation -> String -> Statement
- Database.HsSqlPpp.Syntax: CreateLogin :: (Annotation) -> (Name) -> (String) -> Statement
+ Database.HsSqlPpp.Syntax: CreateLogin :: Annotation -> Name -> String -> Statement
- Database.HsSqlPpp.Syntax: CreateSchema :: (Annotation) -> (NameComponent) -> ((Maybe Name)) -> Statement
+ Database.HsSqlPpp.Syntax: CreateSchema :: Annotation -> Name -> Maybe Name -> Statement
- Database.HsSqlPpp.Syntax: CreateSequence :: (Annotation) -> (Name) -> (Integer) -> ((Maybe Integer)) -> ((Maybe Integer)) -> (Integer) -> (Integer) -> Statement
+ Database.HsSqlPpp.Syntax: CreateSequence :: Annotation -> Name -> Integer -> Maybe Integer -> Maybe Integer -> Integer -> Integer -> Statement
- Database.HsSqlPpp.Syntax: CreateTable :: (Annotation) -> (Name) -> (AttributeDefList) -> (ConstraintList) -> (MaybeTablePartitionDef) -> (Replace) -> Statement
+ Database.HsSqlPpp.Syntax: CreateTable :: Annotation -> Name -> AttributeDefList -> ConstraintList -> MaybeTablePartitionDef -> Replace -> [TableOption] -> Statement
- Database.HsSqlPpp.Syntax: CreateTableAs :: (Annotation) -> (Name) -> (Replace) -> (QueryExpr) -> Statement
+ Database.HsSqlPpp.Syntax: CreateTableAs :: Annotation -> Name -> Replace -> QueryExpr -> Statement
- Database.HsSqlPpp.Syntax: CreateTrigger :: (Annotation) -> (NameComponent) -> (TriggerWhen) -> (([TriggerEvent])) -> (Name) -> (TriggerFire) -> (Name) -> (ScalarExprList) -> Statement
+ Database.HsSqlPpp.Syntax: CreateTrigger :: Annotation -> NameComponent -> TriggerWhen -> [TriggerEvent] -> Name -> TriggerFire -> Name -> ScalarExprList -> Statement
- Database.HsSqlPpp.Syntax: CreateType :: (Annotation) -> (Name) -> (TypeAttributeDefList) -> Statement
+ Database.HsSqlPpp.Syntax: CreateType :: Annotation -> Name -> TypeAttributeDefList -> Statement
- Database.HsSqlPpp.Syntax: CreateUser :: (Annotation) -> (Name) -> (String) -> Statement
+ Database.HsSqlPpp.Syntax: CreateUser :: Annotation -> Name -> String -> Statement
- Database.HsSqlPpp.Syntax: CreateView :: (Annotation) -> (Name) -> (MaybeNameComponentList) -> (QueryExpr) -> Statement
+ Database.HsSqlPpp.Syntax: CreateView :: Annotation -> Name -> MaybeNameComponentList -> QueryExpr -> Statement
- Database.HsSqlPpp.Syntax: DeclareStatement :: (Annotation) -> (([(String, TypeName, Maybe ScalarExpr)])) -> Statement
+ Database.HsSqlPpp.Syntax: DeclareStatement :: Annotation -> [(String, TypeName, Maybe ScalarExpr)] -> Statement
- Database.HsSqlPpp.Syntax: Delete :: (Annotation) -> (Name) -> (TableRefList) -> (MaybeBoolExpr) -> (MaybeSelectList) -> Statement
+ Database.HsSqlPpp.Syntax: Delete :: Annotation -> Name -> TableRefList -> MaybeBoolExpr -> MaybeSelectList -> Statement
- Database.HsSqlPpp.Syntax: DropColumn :: (Annotation) -> (NameComponent) -> AlterTableAction
+ Database.HsSqlPpp.Syntax: DropColumn :: Annotation -> NameComponent -> AlterTableAction
- Database.HsSqlPpp.Syntax: DropDefault :: (Annotation) -> AlterColumnAction
+ Database.HsSqlPpp.Syntax: DropDefault :: Annotation -> AlterColumnAction
- Database.HsSqlPpp.Syntax: DropFunction :: (Annotation) -> (IfExists) -> (NameTypeNameListPairList) -> (Cascade) -> Statement
+ Database.HsSqlPpp.Syntax: DropFunction :: Annotation -> IfExists -> NameTypeNameListPairList -> Cascade -> Statement
- Database.HsSqlPpp.Syntax: DropNotNull :: (Annotation) -> AlterColumnAction
+ Database.HsSqlPpp.Syntax: DropNotNull :: Annotation -> AlterColumnAction
- Database.HsSqlPpp.Syntax: DropSomething :: (Annotation) -> (DropType) -> (IfExists) -> (([Name])) -> (Cascade) -> Statement
+ Database.HsSqlPpp.Syntax: DropSomething :: Annotation -> DropType -> IfExists -> [Name] -> Cascade -> Statement
- Database.HsSqlPpp.Syntax: DropTrigger :: (Annotation) -> (IfExists) -> (NameComponent) -> (Name) -> (Cascade) -> Statement
+ Database.HsSqlPpp.Syntax: DropTrigger :: Annotation -> IfExists -> NameComponent -> Name -> Cascade -> Statement
- Database.HsSqlPpp.Syntax: ExecStatement :: (Annotation) -> (Name) -> (ScalarExprList) -> Statement
+ Database.HsSqlPpp.Syntax: ExecStatement :: Annotation -> Name -> ScalarExprList -> Statement
- Database.HsSqlPpp.Syntax: Execute :: (Annotation) -> (ScalarExpr) -> Statement
+ Database.HsSqlPpp.Syntax: Execute :: Annotation -> ScalarExpr -> Statement
- Database.HsSqlPpp.Syntax: Exists :: (Annotation) -> (QueryExpr) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: Exists :: Annotation -> QueryExpr -> ScalarExpr
- Database.HsSqlPpp.Syntax: ExitStatement :: (Annotation) -> ((Maybe String)) -> Statement
+ Database.HsSqlPpp.Syntax: ExitStatement :: Annotation -> Maybe String -> Statement
- Database.HsSqlPpp.Syntax: Extract :: (Annotation) -> (ExtractField) -> (ScalarExpr) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: Extract :: Annotation -> ExtractField -> ScalarExpr -> ScalarExpr
- Database.HsSqlPpp.Syntax: ForIntegerStatement :: (Annotation) -> ((Maybe String)) -> (NameComponent) -> (ScalarExpr) -> (ScalarExpr) -> (StatementList) -> Statement
+ Database.HsSqlPpp.Syntax: ForIntegerStatement :: Annotation -> Maybe String -> NameComponent -> ScalarExpr -> ScalarExpr -> StatementList -> Statement
- Database.HsSqlPpp.Syntax: ForQueryStatement :: (Annotation) -> ((Maybe String)) -> (NameComponent) -> (QueryExpr) -> (StatementList) -> Statement
+ Database.HsSqlPpp.Syntax: ForQueryStatement :: Annotation -> Maybe String -> NameComponent -> QueryExpr -> StatementList -> Statement
- Database.HsSqlPpp.Syntax: FullAlias :: (Annotation) -> (NameComponent) -> (([NameComponent])) -> (TableRef) -> TableRef
+ Database.HsSqlPpp.Syntax: FullAlias :: Annotation -> NameComponent -> [NameComponent] -> TableRef -> TableRef
- Database.HsSqlPpp.Syntax: FunTref :: (Annotation) -> (ScalarExpr) -> TableRef
+ Database.HsSqlPpp.Syntax: FunTref :: Annotation -> ScalarExpr -> TableRef
- Database.HsSqlPpp.Syntax: Identifier :: (Annotation) -> (Name) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: Identifier :: Annotation -> Name -> ScalarExpr
- Database.HsSqlPpp.Syntax: IdentityConstraint :: (Annotation) -> (String) -> (((Maybe (Integer, Integer)))) -> RowConstraint
+ Database.HsSqlPpp.Syntax: IdentityConstraint :: Annotation -> String -> Maybe (Integer, Integer) -> RowConstraint
- Database.HsSqlPpp.Syntax: If :: (Annotation) -> (ScalarExprStatementListPairList) -> (StatementList) -> Statement
+ Database.HsSqlPpp.Syntax: If :: Annotation -> ScalarExprStatementListPairList -> StatementList -> Statement
- Database.HsSqlPpp.Syntax: ImplicitCast :: (Annotation) -> (ScalarExpr) -> (TypeExtra) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: ImplicitCast :: Annotation -> ScalarExpr -> TypeExtra -> ScalarExpr
- Database.HsSqlPpp.Syntax: InList :: (Annotation) -> (ScalarExprList) -> InList
+ Database.HsSqlPpp.Syntax: InList :: Annotation -> ScalarExprList -> InList
- Database.HsSqlPpp.Syntax: InPredicate :: (Annotation) -> (ScalarExpr) -> (Bool) -> (InList) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: InPredicate :: Annotation -> ScalarExpr -> Bool -> InList -> ScalarExpr
- Database.HsSqlPpp.Syntax: InQueryExpr :: (Annotation) -> (QueryExpr) -> InList
+ Database.HsSqlPpp.Syntax: InQueryExpr :: Annotation -> QueryExpr -> InList
- Database.HsSqlPpp.Syntax: Insert :: (Annotation) -> (Name) -> (([NameComponent])) -> (QueryExpr) -> (MaybeSelectList) -> Statement
+ Database.HsSqlPpp.Syntax: Insert :: Annotation -> Name -> [NameComponent] -> QueryExpr -> MaybeSelectList -> Statement
- Database.HsSqlPpp.Syntax: Interval :: (Annotation) -> (String) -> (IntervalField) -> ((Maybe Int)) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: Interval :: Annotation -> String -> IntervalField -> Maybe Int -> ScalarExpr
- Database.HsSqlPpp.Syntax: Into :: (Annotation) -> (Bool) -> (([Name])) -> (Statement) -> Statement
+ Database.HsSqlPpp.Syntax: Into :: Annotation -> Bool -> [Name] -> Statement -> Statement
- Database.HsSqlPpp.Syntax: JoinOn :: (Annotation) -> (ScalarExpr) -> JoinExpr
+ Database.HsSqlPpp.Syntax: JoinOn :: Annotation -> ScalarExpr -> JoinExpr
- Database.HsSqlPpp.Syntax: JoinTref :: (Annotation) -> (TableRef) -> (Natural) -> (JoinType) -> ((Maybe JoinHint)) -> (TableRef) -> (OnExpr) -> TableRef
+ Database.HsSqlPpp.Syntax: JoinTref :: Annotation -> TableRef -> Natural -> JoinType -> Maybe JoinHint -> TableRef -> OnExpr -> TableRef
- Database.HsSqlPpp.Syntax: JoinUsing :: (Annotation) -> (([NameComponent])) -> JoinExpr
+ Database.HsSqlPpp.Syntax: JoinUsing :: Annotation -> [NameComponent] -> JoinExpr
- Database.HsSqlPpp.Syntax: LiftApp :: (Annotation) -> (Name) -> (LiftFlavour) -> (ScalarExprList) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: LiftApp :: Annotation -> Name -> LiftFlavour -> ScalarExprList -> ScalarExpr
- Database.HsSqlPpp.Syntax: LoopStatement :: (Annotation) -> ((Maybe String)) -> (StatementList) -> Statement
+ Database.HsSqlPpp.Syntax: LoopStatement :: Annotation -> Maybe String -> StatementList -> Statement
- Database.HsSqlPpp.Syntax: MultiSetClause :: (Annotation) -> (([NameComponent])) -> (ScalarExpr) -> SetClause
+ Database.HsSqlPpp.Syntax: MultiSetClause :: Annotation -> [NameComponent] -> ScalarExpr -> SetClause
- Database.HsSqlPpp.Syntax: Name :: (Annotation) -> (([NameComponent])) -> Name
+ Database.HsSqlPpp.Syntax: Name :: Annotation -> [NameComponent] -> Name
- Database.HsSqlPpp.Syntax: NotNullConstraint :: (Annotation) -> (String) -> RowConstraint
+ Database.HsSqlPpp.Syntax: NotNullConstraint :: Annotation -> String -> RowConstraint
- Database.HsSqlPpp.Syntax: Notify :: (Annotation) -> (String) -> Statement
+ Database.HsSqlPpp.Syntax: Notify :: Annotation -> String -> Statement
- Database.HsSqlPpp.Syntax: NullConstraint :: (Annotation) -> (String) -> RowConstraint
+ Database.HsSqlPpp.Syntax: NullConstraint :: Annotation -> String -> RowConstraint
- Database.HsSqlPpp.Syntax: NullLit :: (Annotation) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: NullLit :: Annotation -> ScalarExpr
- Database.HsSqlPpp.Syntax: NullStatement :: (Annotation) -> Statement
+ Database.HsSqlPpp.Syntax: NullStatement :: Annotation -> Statement
- Database.HsSqlPpp.Syntax: NumberLit :: (Annotation) -> (String) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: NumberLit :: Annotation -> String -> ScalarExpr
- Database.HsSqlPpp.Syntax: OdbcFunc :: (Annotation) -> (ScalarExpr) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: OdbcFunc :: Annotation -> ScalarExpr -> ScalarExpr
- Database.HsSqlPpp.Syntax: OdbcLiteral :: (Annotation) -> (OdbcLiteralType) -> (String) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: OdbcLiteral :: Annotation -> OdbcLiteralType -> String -> ScalarExpr
- Database.HsSqlPpp.Syntax: OdbcTableRef :: (Annotation) -> (TableRef) -> TableRef
+ Database.HsSqlPpp.Syntax: OdbcTableRef :: Annotation -> TableRef -> TableRef
- Database.HsSqlPpp.Syntax: ParamAlias :: (Annotation) -> (NameComponent) -> (Integer) -> VarDef
+ Database.HsSqlPpp.Syntax: ParamAlias :: Annotation -> NameComponent -> Integer -> VarDef
- Database.HsSqlPpp.Syntax: ParamDef :: (Annotation) -> (NameComponent) -> (TypeName) -> ParamDef
+ Database.HsSqlPpp.Syntax: ParamDef :: Annotation -> NameComponent -> TypeName -> ParamDef
- Database.HsSqlPpp.Syntax: ParamDefTp :: (Annotation) -> (TypeName) -> ParamDef
+ Database.HsSqlPpp.Syntax: ParamDefTp :: Annotation -> TypeName -> ParamDef
- Database.HsSqlPpp.Syntax: Parens :: (Annotation) -> (ScalarExpr) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: Parens :: Annotation -> ScalarExpr -> ScalarExpr
- Database.HsSqlPpp.Syntax: Perform :: (Annotation) -> (ScalarExpr) -> Statement
+ Database.HsSqlPpp.Syntax: Perform :: Annotation -> ScalarExpr -> Statement
- Database.HsSqlPpp.Syntax: Placeholder :: (Annotation) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: Placeholder :: Annotation -> ScalarExpr
- Database.HsSqlPpp.Syntax: PlpgsqlFnBody :: (Annotation) -> (Statement) -> FnBody
+ Database.HsSqlPpp.Syntax: PlpgsqlFnBody :: Annotation -> Statement -> FnBody
- Database.HsSqlPpp.Syntax: PositionalArg :: (Annotation) -> (Integer) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: PositionalArg :: Annotation -> Integer -> ScalarExpr
- Database.HsSqlPpp.Syntax: PostfixOp :: (Annotation) -> (Name) -> (ScalarExpr) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: PostfixOp :: Annotation -> Name -> ScalarExpr -> ScalarExpr
- Database.HsSqlPpp.Syntax: Prec2TypeName :: (Annotation) -> (Name) -> (Integer) -> (Integer) -> TypeName
+ Database.HsSqlPpp.Syntax: Prec2TypeName :: Annotation -> Name -> Integer -> Integer -> TypeName
- Database.HsSqlPpp.Syntax: PrecTypeName :: (Annotation) -> (Name) -> (Integer) -> TypeName
+ Database.HsSqlPpp.Syntax: PrecTypeName :: Annotation -> Name -> Integer -> TypeName
- Database.HsSqlPpp.Syntax: PrefixOp :: (Annotation) -> (Name) -> (ScalarExpr) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: PrefixOp :: Annotation -> Name -> ScalarExpr -> ScalarExpr
- Database.HsSqlPpp.Syntax: PrimaryKeyConstraint :: (Annotation) -> (String) -> (([NameComponent])) -> Constraint
+ Database.HsSqlPpp.Syntax: PrimaryKeyConstraint :: Annotation -> String -> [NameComponent] -> Constraint
- Database.HsSqlPpp.Syntax: QStar :: (Annotation) -> (NameComponent) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: QStar :: Annotation -> NameComponent -> ScalarExpr
- Database.HsSqlPpp.Syntax: QueryStatement :: (Annotation) -> (QueryExpr) -> Statement
+ Database.HsSqlPpp.Syntax: QueryStatement :: Annotation -> QueryExpr -> Statement
- Database.HsSqlPpp.Syntax: Raise :: (Annotation) -> (RaiseType) -> (String) -> (ScalarExprList) -> Statement
+ Database.HsSqlPpp.Syntax: Raise :: Annotation -> RaiseType -> String -> ScalarExprList -> Statement
- Database.HsSqlPpp.Syntax: ReferenceConstraint :: (Annotation) -> (String) -> (([NameComponent])) -> (Name) -> (([NameComponent])) -> (Cascade) -> (Cascade) -> Constraint
+ Database.HsSqlPpp.Syntax: ReferenceConstraint :: Annotation -> String -> [NameComponent] -> Name -> [NameComponent] -> Cascade -> Cascade -> Constraint
- Database.HsSqlPpp.Syntax: RenameColumn :: (Annotation) -> (NameComponent) -> (NameComponent) -> AlterTableOperation
+ Database.HsSqlPpp.Syntax: RenameColumn :: Annotation -> NameComponent -> NameComponent -> AlterTableOperation
- Database.HsSqlPpp.Syntax: RenameDatabase :: (Annotation) -> (Name) -> AlterDatabaseOperation
+ Database.HsSqlPpp.Syntax: RenameDatabase :: Annotation -> Name -> AlterDatabaseOperation
- Database.HsSqlPpp.Syntax: RenameTable :: (Annotation) -> (Name) -> AlterTableOperation
+ Database.HsSqlPpp.Syntax: RenameTable :: Annotation -> Name -> AlterTableOperation
- Database.HsSqlPpp.Syntax: Return :: (Annotation) -> (MaybeScalarExpr) -> Statement
+ Database.HsSqlPpp.Syntax: Return :: Annotation -> MaybeScalarExpr -> Statement
- Database.HsSqlPpp.Syntax: ReturnNext :: (Annotation) -> (ScalarExpr) -> Statement
+ Database.HsSqlPpp.Syntax: ReturnNext :: Annotation -> ScalarExpr -> Statement
- Database.HsSqlPpp.Syntax: ReturnQuery :: (Annotation) -> (QueryExpr) -> Statement
+ Database.HsSqlPpp.Syntax: ReturnQuery :: Annotation -> QueryExpr -> Statement
- Database.HsSqlPpp.Syntax: RowCheckConstraint :: (Annotation) -> (String) -> (ScalarExpr) -> RowConstraint
+ Database.HsSqlPpp.Syntax: RowCheckConstraint :: Annotation -> String -> ScalarExpr -> RowConstraint
- Database.HsSqlPpp.Syntax: RowPrimaryKeyConstraint :: (Annotation) -> (String) -> RowConstraint
+ Database.HsSqlPpp.Syntax: RowPrimaryKeyConstraint :: Annotation -> String -> RowConstraint
- Database.HsSqlPpp.Syntax: RowReferenceConstraint :: (Annotation) -> (String) -> (Name) -> ((Maybe NameComponent)) -> (Cascade) -> (Cascade) -> RowConstraint
+ Database.HsSqlPpp.Syntax: RowReferenceConstraint :: Annotation -> String -> Name -> Maybe NameComponent -> Cascade -> Cascade -> RowConstraint
- Database.HsSqlPpp.Syntax: RowUniqueConstraint :: (Annotation) -> (String) -> RowConstraint
+ Database.HsSqlPpp.Syntax: RowUniqueConstraint :: Annotation -> String -> RowConstraint
- Database.HsSqlPpp.Syntax: ScalarSubQuery :: (Annotation) -> (QueryExpr) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: ScalarSubQuery :: Annotation -> QueryExpr -> ScalarExpr
- Database.HsSqlPpp.Syntax: SelExp :: (Annotation) -> (ScalarExpr) -> SelectItem
+ Database.HsSqlPpp.Syntax: SelExp :: Annotation -> ScalarExpr -> SelectItem
- Database.HsSqlPpp.Syntax: Select :: (Annotation) -> (Distinct) -> (SelectList) -> (TableRefList) -> (MaybeBoolExpr) -> (ScalarExprList) -> (MaybeBoolExpr) -> (ScalarExprDirectionPairList) -> (MaybeScalarExpr) -> (MaybeScalarExpr) -> ([QueryHint]) -> QueryExpr
+ Database.HsSqlPpp.Syntax: Select :: Annotation -> Distinct -> SelectList -> TableRefList -> MaybeBoolExpr -> ScalarExprList -> MaybeBoolExpr -> ScalarExprDirectionPairList -> MaybeScalarExpr -> MaybeScalarExpr -> [QueryHint] -> QueryExpr
- Database.HsSqlPpp.Syntax: SelectItem :: (Annotation) -> (ScalarExpr) -> (NameComponent) -> SelectItem
+ Database.HsSqlPpp.Syntax: SelectItem :: Annotation -> ScalarExpr -> NameComponent -> SelectItem
- Database.HsSqlPpp.Syntax: SelectList :: (Annotation) -> (SelectItemList) -> SelectList
+ Database.HsSqlPpp.Syntax: SelectList :: Annotation -> SelectItemList -> SelectList
- Database.HsSqlPpp.Syntax: Set :: (Annotation) -> (String) -> (([SetValue])) -> Statement
+ Database.HsSqlPpp.Syntax: Set :: Annotation -> String -> [SetValue] -> Statement
- Database.HsSqlPpp.Syntax: SetClause :: (Annotation) -> (NameComponent) -> (ScalarExpr) -> SetClause
+ Database.HsSqlPpp.Syntax: SetClause :: Annotation -> NameComponent -> ScalarExpr -> SetClause
- Database.HsSqlPpp.Syntax: SetDataType :: (Annotation) -> (TypeName) -> AlterColumnAction
+ Database.HsSqlPpp.Syntax: SetDataType :: Annotation -> TypeName -> AlterColumnAction
- Database.HsSqlPpp.Syntax: SetDefault :: (Annotation) -> (ScalarExpr) -> AlterColumnAction
+ Database.HsSqlPpp.Syntax: SetDefault :: Annotation -> ScalarExpr -> AlterColumnAction
- Database.HsSqlPpp.Syntax: SetNotNull :: (Annotation) -> AlterColumnAction
+ Database.HsSqlPpp.Syntax: SetNotNull :: Annotation -> AlterColumnAction
- Database.HsSqlPpp.Syntax: SetOfTypeName :: (Annotation) -> (TypeName) -> TypeName
+ Database.HsSqlPpp.Syntax: SetOfTypeName :: Annotation -> TypeName -> TypeName
- Database.HsSqlPpp.Syntax: SimpleTypeName :: (Annotation) -> (Name) -> TypeName
+ Database.HsSqlPpp.Syntax: SimpleTypeName :: Annotation -> Name -> TypeName
- Database.HsSqlPpp.Syntax: SpecialOp :: (Annotation) -> (Name) -> (ScalarExprList) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: SpecialOp :: Annotation -> Name -> ScalarExprList -> ScalarExpr
- Database.HsSqlPpp.Syntax: SqlFnBody :: (Annotation) -> (StatementList) -> FnBody
+ Database.HsSqlPpp.Syntax: SqlFnBody :: Annotation -> StatementList -> FnBody
- Database.HsSqlPpp.Syntax: Star :: (Annotation) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: Star :: Annotation -> ScalarExpr
- Database.HsSqlPpp.Syntax: StringLit :: (Annotation) -> (String) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: StringLit :: Annotation -> String -> ScalarExpr
- Database.HsSqlPpp.Syntax: SubTref :: (Annotation) -> (QueryExpr) -> TableRef
+ Database.HsSqlPpp.Syntax: SubTref :: Annotation -> QueryExpr -> TableRef
- Database.HsSqlPpp.Syntax: TableAlias :: (Annotation) -> (NameComponent) -> (TableRef) -> TableRef
+ Database.HsSqlPpp.Syntax: TableAlias :: Annotation -> NameComponent -> TableRef -> TableRef
- Database.HsSqlPpp.Syntax: TablePartitionDef :: (Annotation) -> (NameComponent) -> (Integer) -> (TablePartitionDateTimeInterval) -> TablePartitionDef
+ Database.HsSqlPpp.Syntax: TablePartitionDef :: Annotation -> NameComponent -> Integer -> TablePartitionDateTimeInterval -> TablePartitionDef
- Database.HsSqlPpp.Syntax: TableRefParens :: (Annotation) -> (TableRef) -> TableRef
+ Database.HsSqlPpp.Syntax: TableRefParens :: Annotation -> TableRef -> TableRef
- Database.HsSqlPpp.Syntax: Tref :: (Annotation) -> (Name) -> TableRef
+ Database.HsSqlPpp.Syntax: Tref :: Annotation -> Name -> TableRef
- Database.HsSqlPpp.Syntax: Truncate :: (Annotation) -> (([Name])) -> (RestartIdentity) -> (Cascade) -> Statement
+ Database.HsSqlPpp.Syntax: Truncate :: Annotation -> [Name] -> RestartIdentity -> Cascade -> Statement
- Database.HsSqlPpp.Syntax: TypeAttDef :: (Annotation) -> (NameComponent) -> (TypeName) -> TypeAttributeDef
+ Database.HsSqlPpp.Syntax: TypeAttDef :: Annotation -> NameComponent -> TypeName -> TypeAttributeDef
- Database.HsSqlPpp.Syntax: TypedStringLit :: (Annotation) -> (TypeName) -> (String) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: TypedStringLit :: Annotation -> TypeName -> String -> ScalarExpr
- Database.HsSqlPpp.Syntax: UniqueConstraint :: (Annotation) -> (String) -> (([NameComponent])) -> Constraint
+ Database.HsSqlPpp.Syntax: UniqueConstraint :: Annotation -> String -> [NameComponent] -> Constraint
- Database.HsSqlPpp.Syntax: Update :: (Annotation) -> (Name) -> (SetClauseList) -> (TableRefList) -> (MaybeBoolExpr) -> (MaybeSelectList) -> Statement
+ Database.HsSqlPpp.Syntax: Update :: Annotation -> Name -> SetClauseList -> TableRefList -> MaybeBoolExpr -> MaybeSelectList -> Statement
- Database.HsSqlPpp.Syntax: Values :: (Annotation) -> (ScalarExprListList) -> QueryExpr
+ Database.HsSqlPpp.Syntax: Values :: Annotation -> ScalarExprListList -> QueryExpr
- Database.HsSqlPpp.Syntax: VarAlias :: (Annotation) -> (NameComponent) -> (Name) -> VarDef
+ Database.HsSqlPpp.Syntax: VarAlias :: Annotation -> NameComponent -> Name -> VarDef
- Database.HsSqlPpp.Syntax: VarDef :: (Annotation) -> (NameComponent) -> (TypeName) -> ((Maybe ScalarExpr)) -> VarDef
+ Database.HsSqlPpp.Syntax: VarDef :: Annotation -> NameComponent -> TypeName -> Maybe ScalarExpr -> VarDef
- Database.HsSqlPpp.Syntax: WhileStatement :: (Annotation) -> ((Maybe String)) -> (ScalarExpr) -> (StatementList) -> Statement
+ Database.HsSqlPpp.Syntax: WhileStatement :: Annotation -> Maybe String -> ScalarExpr -> StatementList -> Statement
- Database.HsSqlPpp.Syntax: WindowApp :: (Annotation) -> (ScalarExpr) -> (ScalarExprList) -> (ScalarExprDirectionPairList) -> ((Maybe FrameClause)) -> ScalarExpr
+ Database.HsSqlPpp.Syntax: WindowApp :: Annotation -> ScalarExpr -> ScalarExprList -> ScalarExprDirectionPairList -> Maybe FrameClause -> ScalarExpr
- Database.HsSqlPpp.Syntax: WithQuery :: (Annotation) -> (NameComponent) -> ((Maybe [NameComponent])) -> (QueryExpr) -> WithQuery
+ Database.HsSqlPpp.Syntax: WithQuery :: Annotation -> NameComponent -> Maybe [NameComponent] -> QueryExpr -> WithQuery
- Database.HsSqlPpp.Syntax: WithQueryExpr :: (Annotation) -> (WithQueryList) -> (QueryExpr) -> QueryExpr
+ Database.HsSqlPpp.Syntax: WithQueryExpr :: Annotation -> WithQueryList -> QueryExpr -> QueryExpr
- Database.HsSqlPpp.Syntax: [ann] :: QueryExpr -> (Annotation)
+ Database.HsSqlPpp.Syntax: [ann] :: QueryExpr -> Annotation
- Database.HsSqlPpp.Syntax: [cqQe0] :: QueryExpr -> (QueryExpr)
+ Database.HsSqlPpp.Syntax: [cqQe0] :: QueryExpr -> QueryExpr
- Database.HsSqlPpp.Syntax: [cqQe1] :: QueryExpr -> (QueryExpr)
+ Database.HsSqlPpp.Syntax: [cqQe1] :: QueryExpr -> QueryExpr
- Database.HsSqlPpp.Syntax: [cqType] :: QueryExpr -> (CombineType)
+ Database.HsSqlPpp.Syntax: [cqType] :: QueryExpr -> CombineType
- Database.HsSqlPpp.Syntax: [qeValues] :: QueryExpr -> (ScalarExprListList)
+ Database.HsSqlPpp.Syntax: [qeValues] :: QueryExpr -> ScalarExprListList
- Database.HsSqlPpp.Syntax: [selDistinct] :: QueryExpr -> (Distinct)
+ Database.HsSqlPpp.Syntax: [selDistinct] :: QueryExpr -> Distinct
- Database.HsSqlPpp.Syntax: [selGroupBy] :: QueryExpr -> (ScalarExprList)
+ Database.HsSqlPpp.Syntax: [selGroupBy] :: QueryExpr -> ScalarExprList
- Database.HsSqlPpp.Syntax: [selHaving] :: QueryExpr -> (MaybeBoolExpr)
+ Database.HsSqlPpp.Syntax: [selHaving] :: QueryExpr -> MaybeBoolExpr
- Database.HsSqlPpp.Syntax: [selLimit] :: QueryExpr -> (MaybeScalarExpr)
+ Database.HsSqlPpp.Syntax: [selLimit] :: QueryExpr -> MaybeScalarExpr
- Database.HsSqlPpp.Syntax: [selOffset] :: QueryExpr -> (MaybeScalarExpr)
+ Database.HsSqlPpp.Syntax: [selOffset] :: QueryExpr -> MaybeScalarExpr
- Database.HsSqlPpp.Syntax: [selOption] :: QueryExpr -> ([QueryHint])
+ Database.HsSqlPpp.Syntax: [selOption] :: QueryExpr -> [QueryHint]
- Database.HsSqlPpp.Syntax: [selOrderBy] :: QueryExpr -> (ScalarExprDirectionPairList)
+ Database.HsSqlPpp.Syntax: [selOrderBy] :: QueryExpr -> ScalarExprDirectionPairList
- Database.HsSqlPpp.Syntax: [selSelectList] :: QueryExpr -> (SelectList)
+ Database.HsSqlPpp.Syntax: [selSelectList] :: QueryExpr -> SelectList
- Database.HsSqlPpp.Syntax: [selTref] :: QueryExpr -> (TableRefList)
+ Database.HsSqlPpp.Syntax: [selTref] :: QueryExpr -> TableRefList
- Database.HsSqlPpp.Syntax: [selWhere] :: QueryExpr -> (MaybeBoolExpr)
+ Database.HsSqlPpp.Syntax: [selWhere] :: QueryExpr -> MaybeBoolExpr
- Database.HsSqlPpp.Syntax: [withQe] :: QueryExpr -> (QueryExpr)
+ Database.HsSqlPpp.Syntax: [withQe] :: QueryExpr -> QueryExpr
- Database.HsSqlPpp.Syntax: [withs] :: QueryExpr -> (WithQueryList)
+ Database.HsSqlPpp.Syntax: [withs] :: QueryExpr -> WithQueryList
- Database.HsSqlPpp.Types: Record :: (Maybe Type) -> PseudoType
+ Database.HsSqlPpp.Types: Record :: Maybe Type -> PseudoType
Files
- hssqlppp.cabal +8/−8
- src/Database/HsSqlPpp/Dialects/Ansi.lhs +1/−1
- src/Database/HsSqlPpp/Internals/AstInternal.hs +30147/−29952
- src/Database/HsSqlPpp/Internals/Catalog/CatalogInternal.lhs +1/−0
- src/Database/HsSqlPpp/Internals/ParseInternal.lhs +26/−6
- src/Database/HsSqlPpp/Internals/PrettyInternal.lhs +28/−8
- src/Database/HsSqlPpp/Syntax.lhs +2/−1
- tests/Database/HsSqlPpp/Tests/Parsing/CreateTable.lhs +134/−91
- tests/Database/HsSqlPpp/Tests/Parsing/ParserTests.lhs +1/−1
- tests/Database/HsSqlPpp/Tests/Parsing/Schemas.lhs +5/−5
- tests/Database/HsSqlPpp/Tests/Parsing/SqlServer.lhs +1/−1
- tests/Database/HsSqlPpp/Tests/Parsing/Utils.lhs +27/−1
hssqlppp.cabal view
@@ -1,5 +1,5 @@ Name: hssqlppp-Version: 0.6.1+Version: 0.6.2 Synopsis: SQL parser and type checker License: BSD3 License-file: LICENSE@@ -32,7 +32,7 @@ Library Build-Depends: base >= 4 && < 5,- containers >= 0.3.0.0 && < 0.6,+ containers >= 0.3.0.0 && < 0.7, mtl >= 2.0.1.0 && < 2.3, parsec >= 3.1.2 && < 3.2, pretty >= 1.0 && < 1.2,@@ -40,7 +40,7 @@ text >= 0.11.1.13 && < 1.3, uniplate >= 1.6 && < 1.7, transformers >= 0.3 && < 0.6,- pretty-show >= 1.6 && < 1.7+ pretty-show >= 1.6 && < 1.10 hs-source-dirs: src Exposed-modules: Database.HsSqlPpp.Annotation@@ -90,19 +90,19 @@ main-is: Tests.lhs hs-source-dirs: src,tests Build-Depends: base >= 4 && < 5,- containers >= 0.3.0.0 && < 0.6,- haskell-src-exts >= 1.13 && < 1.20,+ containers >= 0.3.0.0 && < 0.7,+ haskell-src-exts >= 1.13 && < 1.22, mtl >= 2.1 && < 2.3, parsec >= 3.1 && < 3.2, pretty >= 1.0 && < 1.2, syb >= 0.1.0.2 && < 0.8, template-haskell,- tasty >= 0.10 && < 0.12,- tasty-hunit >= 0.9 && < 0.10,+ tasty >= 0.10 && < 1.3,+ tasty-hunit >= 0.9 && < 0.11, text >= 0.11.1.13 && < 1.3, uniplate >= 1.6 && < 1.7, transformers >= 0.3 && < 0.6,- pretty-show >= 1.6 && < 1.7+ pretty-show >= 1.6 && < 1.10 -- rough start: -- find src-extra/tests -iname '*hs' | sed -e "s@src-extra/tests/@@" | sed -e "s@/@.@g" |sed -e "s/.lhs//" |sed -e "s/.hs//"
src/Database/HsSqlPpp/Dialects/Ansi.lhs view
@@ -47,7 +47,7 @@ > ansiCatalog :: Catalog > ansiCatalog = > (\l -> case l of-> Left x -> error $ show x+> Left x -> error $ show x -- todo: what is the best way to handle this? > Right e -> e) $ > flip updateCatalog emptyCatalog ( > -- todo: duplicated list of text types
src/Database/HsSqlPpp/Internals/AstInternal.hs view
@@ -1,29957 +1,30152 @@ {-# LANGUAGE TupleSections,ScopedTypeVariables,DeriveDataTypeable,OverloadedStrings #-}--- UUAGC 0.9.52.1 (hssqlppp/src/Database/HsSqlPpp/Internals/AstInterna)-module Database.HsSqlPpp.Internals.AstInternal(- --from the ag files:- --ast nodes- Statement (..)- ,QueryExpr (..)- ,WithQueryList- ,WithQuery(..)- ,FnBody (..)- ,SetClause (..)- ,SetClauseList- ,TableRef (..)- ,JoinExpr (..)- ,JoinType (..)- ,JoinHint (..)- ,SelectList (..)- ,SelectItem (..)- ,CopyFromSource (..)- ,CopyToSource(..)- ,CopyToOption(..)- ,CopyFromOption(..)- ,TablePartitionDef(..)- ,TablePartitionDateTimeInterval(..)- ,AttributeDef (..)- ,RowConstraint (..)- ,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- --,SetClauseList- ,CaseScalarExprListScalarExprPairList- ,MaybeScalarExpr- ,TableRefList- ,ScalarExprListList- ,SelectItemList- ,OnExpr- ,RowConstraintList- ,VarDefList- ,ScalarExprStatementListPair- ,CaseScalarExprListScalarExprPair- ,ScalarExprDirectionPair- ,ScalarExprDirectionPairList- ,MaybeBoolExpr- ,MaybeSelectList- ,SetValue(..)- ,AlterTableActionList- ,NameComponentList- ,MaybeNameComponentList- -- typechecking- ,typeCheckStatements- --,typeCheckParameterizedStatement- ,typeCheckScalarExpr- --,typeCheckScalarExprEnv- ,typeCheckQueryExpr- ,TypeCheckFlags(..)- ,addExplicitCasts- ,addImplicitCasts- -- annotation- ,Annotation(..)- --,TypeExtra(..)- ,SourcePosition- ,ParameterizedStatementType- ,getAnnotation- ,updateAnnotation- ,emptyAnnotation- ,makeSelect- --,canonicalizeTypeNames-) where----import Data.Maybe---import Data.Either---import Data.List---import Control.Applicative-import Data.Data---import Data.Char---import Control.Monad.State---import Control.Arrow--import Data.Generics-import Data.Generics.Uniplate.Data---import Debug.Trace---import Text.Show.Pretty-----import Database.HsSqlPpp.Internals.TypesInternal----import Database.HsSqlPpp.Internals.TypeChecking.TypeConversion---import Database.HsSqlPpp.Internals.TypeChecking.Environment hiding (JoinType(..))----import Database.HsSqlPpp.Internals.Catalog.CatalogInternal (NameComponent(..),ncStr)----import Database.HsSqlPpp.Utils.Utils---import Database.HsSqlPpp.Internals.Dialect---import Data.Text (Text)-import qualified Data.Text as T---import qualified Data.Text.Lazy as LT---- very bad, we use types in the syntax outside of the already exception--- in the annotation (which can be removed when the annotation type--- becomes a type parameters--- can replace the use of type extra with (typename,int,int) triple--- to fix this---import Database.HsSqlPpp.Internals.TypesInternal (TypeExtra)----{-# 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---- todo: find a better way to do this, this information should come--- via the dialect or catalog in the attributes-import Database.HsSqlPpp.Dialects.OdbcCatalog--import Control.Monad-import Data.List-import Data.Maybe-import Data.Char-import Text.Read-import Control.Applicative-{-# LINE 181 "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 188 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}-{-# LINE 62 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}---- todo: replace the other nmcString function with this one--- which uses either instead of error-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 197 "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 206 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}--{-# LINE 212 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}----- | thet name to choose for a column in a select list which doesn't--- have an explicit name - these are postgresql's rules-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 221 "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 230 "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 236 "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--- this function appeared because nullability does not always influence the type to cast to-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 261 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}--{-# LINE 512 "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 271 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}--{-# LINE 795 "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- -- assuming number literals are always positive- Just n | n < (2 ^ (31 :: Integer)) -> ansiTypeNameToDialect d "int"- | n < (2 ^ (63 :: Integer)) -> ansiTypeNameToDialect d "bigint"- _ -> ansiTypeNameToDialect d "numeric"-{-# LINE 281 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}--{-# LINE 26 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}----- | some options when typechecking-data TypeCheckFlags =- TypeCheckFlags- { -- | add qualifiers to unqualified ids where possible- tcfAddQualifiers :: Bool- -- | add full aliases to every tableref and subselect- ,tcfAddFullTablerefAliases :: Bool- -- | add explicit aliases to all select items- ,tcfAddSelectItemAliases :: Bool- -- | expand stars in select lists to explicit list columns- ,tcfExpandStars :: Bool- ,tcfDialect :: Dialect}- deriving (Show,Eq)---- | Typechecks the ast, and returns the updated catalog (which--- includes changes from any ddl statements in the ast).-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- {-,_lib_Inh_Root = emptyBindings- ,_idenv_Inh_Root = emptyIDEnv "tcs"-}}- tl = _annotatedTree_Syn_Root ta- cat1 = cat --_producedCat_Syn_Root ta- in case tl of- Root r -> (cat1,fixTree (tcfDialect f) r)--- | Typecheck a query expr-typeCheckQueryExpr :: TypeCheckFlags -> Catalog -> QueryExpr -> QueryExpr-typeCheckQueryExpr f cat qe =- let (_,[QueryStatement _ qe']) = typeCheckStatements f cat [QueryStatement emptyAnnotation qe]- in qe'---- | Not working yet. Typechecks a statement possibly containing ?--- placeholders. These are annotated with the 'inferred type', and the--- stType annotation on the return value can be used to get this info--- easily. Returns Left if the statement is not a query,insert,update or delete--- statement-{-typeCheckParameterizedStatement :: TypeCheckFlags -> Catalog -> Statement -> Either String Statement-typeCheckParameterizedStatement f cat st =- case st of- QueryStatement _ _ -> tc- Insert _ _ _ _ _ -> tc- Update _ _ _ _ _ _ -> tc- Delete _ _ _ _ _ -> tc- _ -> Left "requires select, update, insert or delete statement"- where- tc = let tl = typeCheckStatements f cat [st]- in case tl of- (_,[st1]) -> Right st1- _ -> error "impossible happened in typeCheckPS!"--}-{---- | type check a scalar expr-typeCheckScalarExpr :: TypeCheckFlags -> Catalog -> ScalarExpr -> ScalarExpr-typeCheckScalarExpr f cat 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 = E.emptyEnvironment- {-,_lib_Inh_ScalarExprRoot = emptyBindings- ,_idenv_Inh_ScalarExprRoot = emptyIDEnv "t-cse"-}}))- in case rt of- ScalarExprRoot e -> fixTree e -}--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 365 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}--{-# LINE 158 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}----- | run on a typechecked tree. Finds all the places where an implicit--- cast has been used in the typechecking and inserts an explicit cast-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- -- addCast isn't very smart, so remove any unneeded casts- -- that it has inserted. Only do this when have two- -- nested casts which cast to the same type, so this- -- shouldn't cause problems with sane sql- 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)--- | variation of the above, which uses ImplicitCast ctor-addImplicitCasts :: Data a => Catalog -> a -> a-addImplicitCasts cat = transformBi removeDoubleCasts . transformBi addCast- where- addCast:: ScalarExpr -> ScalarExpr- addCast e = fromMaybe e $ do- te <- anImplicitCast ann'- -- ImplicitCastToDo: why anImplicitCast is not Nothing above Star- _ <- nameOfType $ teType te -- in order to preserve the old logic- -- guard $ isCastable e $ 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- -- For each implicit cast, if there is a sequence of implicit casts right under it,- -- that remained after bottom-up application of the algorithm being described:- -- 1. Check if there is a type in the sequence (of argument types of implicit casts),- -- which is implicitly castable to the target type of the current implicit cast,- -- according to the current catalog.- -- 2. If there is such a type, replace a sequence of casts that starts at this type with- -- a single cast, and shorten the list of casts to be further investigated (snd of- -- output type of this function).- -- 2.1. Analyze the list bottom-up, so that the longest possible sequence of casts is- -- replaced.- -- 3. If there is no such a type, just add the current cast to the list.- -- Reset the list on a node other than ImplicitCast.- 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,[]) -- cut here (should not happen in practice)- 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])--- a hack to support precision cast from string literals-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---- hack for various fixups-fixTree :: Data a => Dialect -> a -> a-fixTree = fixMssqlDates--{----disgusting hack to fix up datediff,datepart, convert and other-functions which accept a fixed list of keywords for one or more of the-arguments for sql server: set the type for the first argument to type-in if it is in the acceptable list.--This is really bad. What happens is that the normal typechecker will-check the keyword as an identifier and (usually!) put in unknown-identifier error. Then, when the function is typechecked, it will-ignore the type for this argument. After we've finished, the type-error is replaced with int type here.--The proper fix:--I think a good way to look at these is to consider them fixed enums-which can only accept a literal (and not an enum valued-expression). We set a flag/enum thing in the typecheck environment of-the identifier, so that it can check the identifier fits one of the-valid functions in the identifier itself. Then, there doesn't need to-be a fix here, and typechecking the function should work without a-hack here too. The typechecking of the function itself still needs-some special casing (e.g. for the convert function in odbc (and-similar in regular sql server syntax), the result type depends on the-value of the 'enum'. This can be implemented in a similar way to the-literal ints being passed to the function type checker.--This will be fixed with the rewrite of the findcallmatch/matchapp/a-million different fns for precision and nullability/tcApplike mess.---}--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"]- -- todo: use canonical tsql name for typeInt- nai ai = ai {anType = (mkTypeExtraNN . ScalarType) <$> ansiTypeNameToDialect d "int"- ,anErrs = []}----- temp utility function--{-canonicalizeType :: Dialect -> Type -> Type-canonicalizeType d (ScalarType t) = ScalarType $ canonicalizeTypeName d t-canonicalizeType _ t = t-}--{-# LINE 521 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}--{-# LINE 20 "hssqlppp/src/Database/HsSqlPpp/Internals/Annotation.ag" #-}---- | Represents a source file position, usually set by the parser.-type SourcePosition = (FilePath,Int,Int)---- | Statement type is used for getting type information for a--- parameterized statement. The first part is the args that the--- parameterized statement needs, and the second is the names and types--- of the output columns. No way to signal that a statement returns--- exactly one row at the moment-type ParameterizedStatementType = ([T.Type],[(String,T.Type)])--{-# LINE 535 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}--{-# LINE 52 "hssqlppp/src/Database/HsSqlPpp/Internals/Annotation.ag" #-}-----some simple wrappers around uniplate for internal use. I'm not sure---which of these are actually used---- | An annotation value with no information.-emptyAnnotation :: Annotation-emptyAnnotation = Annotation Nothing Nothing [] Nothing []---- | get the annotation for the root element of the tree passed-getAnnotation :: Data a => a -> Annotation-getAnnotation = head . childrenBi----don't know how to do this one with uniplate---- | Update the first annotation in a tree using the function supplied-updateAnnotation :: Data a => (Annotation -> Annotation) -> a -> a-updateAnnotation f = gmapT (mkT f)--{-# LINE 557 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}--{-# LINE 518 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.ag" #-}--nameComponents :: Name -> [NameComponent]-nameComponents (Name _ is) = is--- todo: don't use error-nameComponents (AntiName _) = error "tried to get namecomponents of antiname"-{-# LINE 565 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}--{-# LINE 538 "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)---- maybe should improve this, since you can have at least union--- distinct and union all just like select distinct and select all--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)---- todo: this needs fixing, it is currently based on limited frame options-data FrameClause = FrameUnboundedPreceding- | FrameUnboundedFull- | FrameRowsUnboundedPreceding- deriving (Show,Eq,Typeable,Data)---data OdbcLiteralType = OLDate- | OLTime- | OLTimestamp- deriving (Show,Eq,Typeable,Data)-{-# LINE 638 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}--{-# LINE 692 "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 648 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}--{-# LINE 710 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.ag" #-}---- | 'default' valued select, use for creating select values------ > makeSelect :: QueryExpr--- > makeSelect = Select--- > {ann = emptyAnnotation--- > ,selDistinct = All--- > ,selSelectList = (SelectList emptyAnnotation [])--- > ,selTref = []--- > ,selWhere = Nothing--- > ,selGroupBy = []--- > ,selHaving = Nothing--- > ,selOrderBy = []--- > ,selLimit = Nothing--- > ,selOffset = Nothing--- > ,selOption = []}------ On its own, it isn't valid syntax: to use it you have to replace--- the select list at minimum------ use something like this------ > s = makeSelect {selSelectList = sl [se $ i "a"]--- > ,selTref = [tref "t"]}--- > where--- > a = emptyAnnotation--- > sl = SelectList a--- > se = SelExp a--- > i = Identifier a--- > tref t = Tref a (Name a [Nmc t])--makeSelect :: QueryExpr-makeSelect = Select- {ann = emptyAnnotation- ,selDistinct = All- ,selSelectList = (SelectList emptyAnnotation [])- ,selTref = []- ,selWhere = Nothing- ,selGroupBy = []- ,selHaving = Nothing- ,selOrderBy = []- ,selLimit = Nothing- ,selOffset = Nothing- ,selOption = []}-{-# LINE 695 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}--{-# LINE 1019 "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 724 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}--{-# LINE 1110 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.ag" #-}--data TablePartitionDateTimeInterval = Year | Month | Day | Hour | Minute | Second | Millisecond- deriving (Show,Eq,Typeable,Data)-{-# LINE 730 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}--{-# LINE 1173 "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 770 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}--{-# LINE 1216 "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)---- todo: fix the fn body to support to support other languages--- just as as string for now--- probably change Language to be a string also--data Language = Sql | Plpgsql- deriving (Show,Eq,Typeable,Data)-{-# LINE 786 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}--{-# LINE 1255 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.ag" #-}--data RaiseType = RNotice | RException | RError- deriving (Show,Eq,Typeable,Data)--{-# LINE 793 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}--{-# LINE 1269 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.ag" #-}--data QueryHint = QueryHintPartitionGroup | QueryHintColumnarHostGroup- deriving (Show,Eq,Typeable,Data)--{-# LINE 800 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}--{-# LINE 1375 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.ag" #-}---- TODO: move this somewhere better--- | run canonicalizeTypeName on all the TypeName nodes in an ast-{-canonicalizeTypeNames :: Data a => Dialect -> a -> a-canonicalizeTypeNames d =- (transformBi $ \x ->- case x of- ScalarType s -> ScalarType $ canonicalizeTypeName d s- x' -> x')- . (transformBi $ \x ->- case x of- SimpleTypeName a tn -> SimpleTypeName a (c tn)- PrecTypeName a tn i -> PrecTypeName a (c tn) i- Prec2TypeName a tn i i1 -> Prec2TypeName a (c tn) i i1- x' -> x')- where- c (Name a [Nmc nc]) = Name a [Nmc $ T.unpack $ canonicalizeTypeName d $ T.pack nc]- c z = z-}--{-# LINE 822 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}--- AlterColumnAction --------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : AlterColumnAction - originalTree : AlterColumnAction - alternatives:- alternative SetDataType:- child ann : Annotation - child typ : TypeName - visit 0:- local annotatedTree : _- local originalTree : _- alternative SetNotNull:- child ann : Annotation - visit 0:- local annotatedTree : _- local originalTree : _- alternative DropNotNull:- child ann : Annotation - visit 0:- local annotatedTree : _- local originalTree : _- alternative SetDefault:- child ann : Annotation - child def : ScalarExpr - visit 0:- local annotatedTree : _- local originalTree : _- alternative DropDefault:- child ann : Annotation - visit 0:- local annotatedTree : _- local originalTree : _--}-data AlterColumnAction = SetDataType (Annotation) (TypeName)- | SetNotNull (Annotation)- | DropNotNull (Annotation)- | SetDefault (Annotation) (ScalarExpr)- | DropDefault (Annotation)- deriving ( Data,Eq,Show,Typeable)--- cata-_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))--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 24, column 37)- _annOtpe =- ({-# LINE 24 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 919 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SetDataType _annIannotatedTree _typIannotatedTree- {-# LINE 925 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SetDataType _annIoriginalTree _typIoriginalTree- {-# LINE 931 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 937 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 943 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 949 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 955 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 961 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 967 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 973 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 979 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 29, column 36)- _annOtpe =- ({-# LINE 29 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 1004 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SetNotNull _annIannotatedTree- {-# LINE 1010 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SetNotNull _annIoriginalTree- {-# LINE 1016 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 1022 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 1028 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 1034 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 1040 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 1046 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 23, column 37)- _annOtpe =- ({-# LINE 23 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 1069 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- DropNotNull _annIannotatedTree- {-# LINE 1075 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- DropNotNull _annIoriginalTree- {-# LINE 1081 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 1087 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 1093 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 1099 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 1105 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 1111 "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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 25, column 36)- _annOtpe =- ({-# LINE 25 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 1147 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 26, column 36)- _defOdownEnv =- ({-# LINE 26 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 1153 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 27, column 36)- _defOexpectedCast =- ({-# LINE 27 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 1159 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 28, column 36)- _defOexpectedType =- ({-# LINE 28 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 1165 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 131, column 18)- _defOodbcFunction =- ({-# LINE 131 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 1171 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 806, column 36)- _defOassignmentCastContext =- ({-# LINE 806 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 1177 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SetDefault _annIannotatedTree _defIannotatedTree- {-# LINE 1183 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SetDefault _annIoriginalTree _defIoriginalTree- {-# LINE 1189 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 1195 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 1201 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 1207 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 1213 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 1219 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _defOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 1225 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _defOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 1231 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _defOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 1237 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 22, column 37)- _annOtpe =- ({-# LINE 22 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 1262 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- DropDefault _annIannotatedTree- {-# LINE 1268 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- DropDefault _annIoriginalTree- {-# LINE 1274 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 1280 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 1286 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 1292 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 1298 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 1304 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _annIannotatedTree,_annIoriginalTree) =- ann_ _annOcat _annOflags _annOimCast _annOtpe- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- AlterDatabaseOperation ---------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : AlterDatabaseOperation - originalTree : AlterDatabaseOperation - alternatives:- alternative RenameDatabase:- child ann : Annotation - child newName : Name - visit 0:- local annotatedTree : _- local originalTree : _--}-data AlterDatabaseOperation = RenameDatabase (Annotation) (Name)- deriving ( Data,Eq,Show,Typeable)--- cata-_sem_AlterDatabaseOperation :: AlterDatabaseOperation ->- T_AlterDatabaseOperation-_sem_AlterDatabaseOperation (RenameDatabase _ann _newName) =- (_sem_AlterDatabaseOperation_RenameDatabase (_sem_Annotation _ann) (_sem_Name _newName))--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 30, column 45)- _annOtpe =- ({-# LINE 30 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 1372 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 31, column 45)- _newNameOtpe =- ({-# LINE 31 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 1378 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- RenameDatabase _annIannotatedTree _newNameIannotatedTree- {-# LINE 1384 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- RenameDatabase _annIoriginalTree _newNameIoriginalTree- {-# LINE 1390 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 1396 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 1402 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 1408 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 1414 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 1420 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _newNameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 1426 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _newNameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 1432 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _newNameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 1438 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _annIannotatedTree,_annIoriginalTree) =- ann_ _annOcat _annOflags _annOimCast _annOtpe- ( _newNameIannotatedTree,_newNameIoriginalTree) =- newName_ _newNameOcat _newNameOflags _newNameOimCast _newNameOtpe- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- AlterSchemaOperation -----------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : AlterSchemaOperation - originalTree : AlterSchemaOperation - alternatives:- alternative AlterSchemaName:- child ann : Annotation - child newName : {NameComponent}- visit 0:- local annotatedTree : _- local originalTree : _- alternative AlterSchemaOwner:- child ann : Annotation - child newName : Name - visit 0:- local annotatedTree : _- local originalTree : _--}-data AlterSchemaOperation = AlterSchemaName (Annotation) (NameComponent)- | AlterSchemaOwner (Annotation) (Name)- deriving ( Data,Eq,Show,Typeable)--- cata-_sem_AlterSchemaOperation :: AlterSchemaOperation ->- T_AlterSchemaOperation-_sem_AlterSchemaOperation (AlterSchemaName _ann _newName) =- (_sem_AlterSchemaOperation_AlterSchemaName (_sem_Annotation _ann) _newName)-_sem_AlterSchemaOperation (AlterSchemaOwner _ann _newName) =- (_sem_AlterSchemaOperation_AlterSchemaOwner (_sem_Annotation _ann) (_sem_Name _newName))--- semantic domain-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 ->- NameComponent ->- 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)- _annIannotatedTree :: Annotation- _annIoriginalTree :: Annotation- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 32, column 44)- _annOtpe =- ({-# LINE 32 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 1511 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSchemaName _annIannotatedTree newName_- {-# LINE 1517 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSchemaName _annIoriginalTree newName_- {-# LINE 1523 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 1529 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 1535 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 1541 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 1547 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 1553 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _annIannotatedTree,_annIoriginalTree) =- ann_ _annOcat _annOflags _annOimCast _annOtpe- 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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 33, column 45)- _annOtpe =- ({-# LINE 33 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 1583 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 34, column 45)- _newNameOtpe =- ({-# LINE 34 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 1589 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSchemaOwner _annIannotatedTree _newNameIannotatedTree- {-# LINE 1595 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSchemaOwner _annIoriginalTree _newNameIoriginalTree- {-# LINE 1601 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 1607 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 1613 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 1619 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 1625 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 1631 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _newNameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 1637 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _newNameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 1643 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _newNameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 1649 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _annIannotatedTree,_annIoriginalTree) =- ann_ _annOcat _annOflags _annOimCast _annOtpe- ( _newNameIannotatedTree,_newNameIoriginalTree) =- newName_ _newNameOcat _newNameOflags _newNameOimCast _newNameOtpe- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- AlterSequenceAction ------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : AlterSequenceAction - originalTree : AlterSequenceAction - alternatives:- alternative AlterSequenceIncrement:- child ann : Annotation - child incr : {Integer}- visit 0:- local annotatedTree : _- local originalTree : _- alternative AlterSequenceMin:- child ann : Annotation - child min : {Maybe Integer}- visit 0:- local annotatedTree : _- local originalTree : _- alternative AlterSequenceMax:- child ann : Annotation - child max : {Maybe Integer}- visit 0:- local annotatedTree : _- local originalTree : _- alternative AlterSequenceStart:- child ann : Annotation - child start : {Integer}- visit 0:- local annotatedTree : _- local originalTree : _- alternative AlterSequenceRestart:- child ann : Annotation - child restart : {Maybe Integer}- visit 0:- local annotatedTree : _- local originalTree : _- alternative AlterSequenceCache:- child ann : Annotation - child cache : {Integer}- visit 0:- local annotatedTree : _- local originalTree : _--}-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)--- cata-_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)--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 35, column 50)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 1758 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSequenceIncrement _annIannotatedTree incr_- {-# LINE 1764 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSequenceIncrement _annIoriginalTree incr_- {-# LINE 1770 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 1776 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 1782 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 1788 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 1794 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 1800 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 36, column 44)- _annOtpe =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 1824 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSequenceMin _annIannotatedTree min_- {-# LINE 1830 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSequenceMin _annIoriginalTree min_- {-# LINE 1836 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 1842 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 1848 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 1854 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 1860 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 1866 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 37, column 44)- _annOtpe =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 1890 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSequenceMax _annIannotatedTree max_- {-# LINE 1896 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSequenceMax _annIoriginalTree max_- {-# LINE 1902 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 1908 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 1914 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 1920 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 1926 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 1932 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 38, column 46)- _annOtpe =- ({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 1956 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSequenceStart _annIannotatedTree start_- {-# LINE 1962 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSequenceStart _annIoriginalTree start_- {-# LINE 1968 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 1974 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 1980 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 1986 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 1992 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 1998 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 39, column 48)- _annOtpe =- ({-# LINE 39 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 2022 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSequenceRestart _annIannotatedTree restart_- {-# LINE 2028 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSequenceRestart _annIoriginalTree restart_- {-# LINE 2034 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 2040 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 2046 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 2052 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 2058 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 2064 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 40, column 46)- _annOtpe =- ({-# LINE 40 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 2088 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSequenceCache _annIannotatedTree cache_- {-# LINE 2094 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSequenceCache _annIoriginalTree cache_- {-# LINE 2100 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 2106 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 2112 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 2118 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 2124 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 2130 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _annIannotatedTree,_annIoriginalTree) =- ann_ _annOcat _annOflags _annOimCast _annOtpe- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- AlterSequenceActionList --------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : AlterSequenceActionList - originalTree : AlterSequenceActionList - alternatives:- alternative Cons:- child hd : AlterSequenceAction - child tl : AlterSequenceActionList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type AlterSequenceActionList = [AlterSequenceAction]--- cata-_sem_AlterSequenceActionList :: AlterSequenceActionList ->- T_AlterSequenceActionList-_sem_AlterSequenceActionList list =- (Prelude.foldr _sem_AlterSequenceActionList_Cons _sem_AlterSequenceActionList_Nil (Prelude.map _sem_AlterSequenceAction list))--- semantic domain-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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 2199 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 2205 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 2211 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 2217 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 2223 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 2229 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 2235 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 2241 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 2247 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 2253 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 2271 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 2277 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 2283 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 2289 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- AlterSequenceOperation ---------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : AlterSequenceOperation - originalTree : AlterSequenceOperation - alternatives:- alternative AlterSequenceOwned:- child ann : Annotation - child owned : Name - visit 0:- local annotatedTree : _- local originalTree : _- alternative AlterSequenceRename:- child ann : Annotation - child name : Name - visit 0:- local annotatedTree : _- local originalTree : _- alternative AlterSequenceActions:- child ann : Annotation - child actions : AlterSequenceActionList - visit 0:- local annotatedTree : _- local originalTree : _--}-data AlterSequenceOperation = AlterSequenceOwned (Annotation) (Name)- | AlterSequenceRename (Annotation) (Name)- | AlterSequenceActions (Annotation) (AlterSequenceActionList)- deriving ( Data,Eq,Show,Typeable)--- cata-_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))--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 41, column 49)- _annOtpe =- ({-# LINE 41 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 2373 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 42, column 49)- _ownedOtpe =- ({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 2379 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSequenceOwned _annIannotatedTree _ownedIannotatedTree- {-# LINE 2385 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSequenceOwned _annIoriginalTree _ownedIoriginalTree- {-# LINE 2391 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 2397 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 2403 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 2409 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 2415 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 2421 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _ownedOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 2427 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _ownedOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 2433 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _ownedOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 2439 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 43, column 50)- _annOtpe =- ({-# LINE 43 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 2471 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 44, column 50)- _nameOtpe =- ({-# LINE 44 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 2477 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSequenceRename _annIannotatedTree _nameIannotatedTree- {-# LINE 2483 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSequenceRename _annIoriginalTree _nameIoriginalTree- {-# LINE 2489 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 2495 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 2501 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 2507 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 2513 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 2519 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 2525 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 2531 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 2537 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 45, column 51)- _annOtpe =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 2568 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSequenceActions _annIannotatedTree _actionsIannotatedTree- {-# LINE 2574 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSequenceActions _annIoriginalTree _actionsIoriginalTree- {-# LINE 2580 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 2586 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 2592 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 2598 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 2604 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 2610 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _actionsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 2616 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _actionsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 2622 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _actionsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 2628 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _annIannotatedTree,_annIoriginalTree) =- ann_ _annOcat _annOflags _annOimCast _annOtpe- ( _actionsIannotatedTree,_actionsIoriginalTree) =- actions_ _actionsOcat _actionsOflags _actionsOimCast- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- AlterTableAction ---------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : AlterTableAction - originalTree : AlterTableAction - alternatives:- alternative AddColumn:- child ann : Annotation - child att : AttributeDef - visit 0:- local annotatedTree : _- local originalTree : _- alternative DropColumn:- child ann : Annotation - child nm : {NameComponent}- visit 0:- local annotatedTree : _- local originalTree : _- alternative AlterColumn:- child ann : Annotation - child nm : {NameComponent}- child act : AlterColumnAction - visit 0:- local annotatedTree : _- local originalTree : _- alternative AddConstraint:- child ann : Annotation - child con : Constraint - visit 0:- local annotatedTree : _- local originalTree : _--}-data AlterTableAction = AddColumn (Annotation) (AttributeDef)- | DropColumn (Annotation) (NameComponent)- | AlterColumn (Annotation) (NameComponent) (AlterColumnAction)- | AddConstraint (Annotation) (Constraint)- deriving ( Data,Eq,Show,Typeable)--- cata-_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))--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 46, column 34)- _annOtpe =- ({-# LINE 46 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 2725 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AddColumn _annIannotatedTree _attIannotatedTree- {-# LINE 2731 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AddColumn _annIoriginalTree _attIoriginalTree- {-# LINE 2737 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 2743 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 2749 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 2755 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 2761 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 2767 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _attOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 2773 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _attOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 2779 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _attOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 2785 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 49, column 35)- _annOtpe =- ({-# LINE 49 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 2811 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- DropColumn _annIannotatedTree nm_- {-# LINE 2817 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- DropColumn _annIoriginalTree nm_- {-# LINE 2823 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 2829 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 2835 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 2841 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 2847 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 2853 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 48, column 36)- _annOtpe =- ({-# LINE 48 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 2883 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterColumn _annIannotatedTree nm_ _actIannotatedTree- {-# LINE 2889 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterColumn _annIoriginalTree nm_ _actIoriginalTree- {-# LINE 2895 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 2901 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 2907 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 2913 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 2919 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 2925 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _actOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 2931 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _actOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 2937 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _actOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 2943 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 47, column 38)- _annOtpe =- ({-# LINE 47 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 2974 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AddConstraint _annIannotatedTree _conIannotatedTree- {-# LINE 2980 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AddConstraint _annIoriginalTree _conIoriginalTree- {-# LINE 2986 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 2992 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 2998 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 3004 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 3010 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 3016 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _conOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 3022 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _conOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 3028 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _conOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 3034 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _annIannotatedTree,_annIoriginalTree) =- ann_ _annOcat _annOflags _annOimCast _annOtpe- ( _conIannotatedTree,_conIoriginalTree) =- con_ _conOcat _conOflags _conOimCast- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- AlterTableActionList -----------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : AlterTableActionList - originalTree : AlterTableActionList - alternatives:- alternative Cons:- child hd : AlterTableAction - child tl : AlterTableActionList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type AlterTableActionList = [AlterTableAction]--- cata-_sem_AlterTableActionList :: AlterTableActionList ->- T_AlterTableActionList-_sem_AlterTableActionList list =- (Prelude.foldr _sem_AlterTableActionList_Cons _sem_AlterTableActionList_Nil (Prelude.map _sem_AlterTableAction list))--- semantic domain-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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 3105 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 3111 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 3117 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 3123 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 3129 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 3135 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 3141 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 3147 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 3153 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 3159 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 3177 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 3183 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 3189 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 3195 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- AlterTableOperation ------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : AlterTableOperation - originalTree : AlterTableOperation - alternatives:- alternative RenameTable:- child ann : Annotation - child newName : Name - visit 0:- local annotatedTree : _- local originalTree : _- alternative RenameColumn:- child ann : Annotation - child oldName : {NameComponent}- child newName : {NameComponent}- visit 0:- local annotatedTree : _- local originalTree : _- alternative AlterTableActions:- child ann : Annotation - child actions : AlterTableActionList - visit 0:- local annotatedTree : _- local originalTree : _--}-data AlterTableOperation = RenameTable (Annotation) (Name)- | RenameColumn (Annotation) (NameComponent) (NameComponent)- | AlterTableActions (Annotation) (AlterTableActionList)- deriving ( Data,Eq,Show,Typeable)--- cata-_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))--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 52, column 39)- _annOtpe =- ({-# LINE 52 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 3280 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 53, column 39)- _newNameOtpe =- ({-# LINE 53 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 3286 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- RenameTable _annIannotatedTree _newNameIannotatedTree- {-# LINE 3292 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- RenameTable _annIoriginalTree _newNameIoriginalTree- {-# LINE 3298 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 3304 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 3310 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 3316 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 3322 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 3328 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _newNameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 3334 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _newNameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 3340 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _newNameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 3346 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 51, column 40)- _annOtpe =- ({-# LINE 51 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 3373 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- RenameColumn _annIannotatedTree oldName_ newName_- {-# LINE 3379 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- RenameColumn _annIoriginalTree oldName_ newName_- {-# LINE 3385 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 3391 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 3397 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 3403 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 3409 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 3415 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 50, column 45)- _annOtpe =- ({-# LINE 50 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 3444 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterTableActions _annIannotatedTree _actionsIannotatedTree- {-# LINE 3450 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterTableActions _annIoriginalTree _actionsIoriginalTree- {-# LINE 3456 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 3462 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 3468 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 3474 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 3480 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 3486 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _actionsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 3492 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _actionsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 3498 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _actionsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 3504 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _annIannotatedTree,_annIoriginalTree) =- ann_ _annOcat _annOflags _annOimCast _annOtpe- ( _actionsIannotatedTree,_actionsIoriginalTree) =- actions_ _actionsOcat _actionsOflags _actionsOimCast- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- Annotation ---------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- tpe : Either [TypeError] TypeExtra- synthesized attributes:- annotatedTree : Annotation - originalTree : Annotation - alternatives:- alternative Annotation:- child anSrc : {Maybe SourcePosition}- child anType : {Maybe T.TypeExtra}- child anErrs : {[T.TypeError]}- child anImplicitCast : {Maybe T.TypeExtra}- child anCatUpd : {[C.CatalogUpdate]}- visit 0:- local annotatedTree : _- local originalTree : _--}---- | Annotation type - one of these is attached to most of the--- data types used in the ast.--- the fields in order are:-data Annotation = Annotation {- -- | source position for this node- anSrc :: ( Maybe SourcePosition)- -- | type of the node, 'Nothing' if the tree hasn't been typechecked or if a type error elsewhere prevents determining this node's type- ,anType :: ( Maybe T.TypeExtra)- -- | any type errors- ,anErrs :: ( [T.TypeError])- -- | if an implicit cast is needed between this node an its parent, this the target type of cast. If no implicit cast is needed, this is Nothing- ,anImplicitCast :: ( Maybe T.TypeExtra)- -- | any catalog updates that a statement produces, used only for ddl Statements- ,anCatUpd :: ( [C.CatalogUpdate])-- } deriving (Eq,Show,Data,Typeable)---- cata-_sem_Annotation :: Annotation ->- T_Annotation-_sem_Annotation (Annotation _anSrc _anType _anErrs _anImplicitCast _anCatUpd) =- (_sem_Annotation_Annotation _anSrc _anType _anErrs _anImplicitCast _anCatUpd)--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag"(line 140, column 7)- _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 3573 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Annotation anSrc_ anType_ anErrs_ anImplicitCast_ anCatUpd_- {-# LINE 3579 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Annotation anSrc_ anType_ anErrs_ anImplicitCast_ anCatUpd_- {-# LINE 3585 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 3591 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- AttributeDef -------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : AttributeDef - originalTree : AttributeDef - alternatives:- alternative AttributeDef:- child ann : Annotation - child name : {NameComponent}- child typ : TypeName - child def : MaybeScalarExpr - child cons : RowConstraintList - visit 0:- local annotatedTree : _- local originalTree : _--}-data AttributeDef = AttributeDef (Annotation) (NameComponent) (TypeName) (MaybeScalarExpr) (RowConstraintList)- deriving ( Data,Eq,Show,Typeable)--- cata-_sem_AttributeDef :: AttributeDef ->- T_AttributeDef-_sem_AttributeDef (AttributeDef _ann _name _typ _def _cons) =- (_sem_AttributeDef_AttributeDef (_sem_Annotation _ann) _name (_sem_TypeName _typ) (_sem_MaybeScalarExpr _def) (_sem_RowConstraintList _cons))--- semantic domain-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_MaybeScalarExpr ->- T_RowConstraintList ->- T_AttributeDef-_sem_AttributeDef_AttributeDef ann_ name_ typ_ def_ cons_ =- (\ _lhsIcat- _lhsIflags- _lhsIimCast ->- (let _annOtpe :: (Either [TypeError] TypeExtra)- _defOdownEnv :: Environment- _defOexpectedCast :: Bool- _defOexpectedType :: (Maybe TypeExtra)- _defOassignmentCastContext :: Bool- _lhsOannotatedTree :: AttributeDef- _lhsOoriginalTree :: AttributeDef- _annOcat :: Catalog- _annOflags :: TypeCheckFlags- _annOimCast :: (Maybe TypeExtra)- _typOcat :: Catalog- _typOflags :: TypeCheckFlags- _typOimCast :: (Maybe TypeExtra)- _defOcat :: Catalog- _defOflags :: TypeCheckFlags- _defOimCast :: (Maybe TypeExtra)- _consOcat :: Catalog- _consOflags :: TypeCheckFlags- _consOimCast :: (Maybe TypeExtra)- _annIannotatedTree :: Annotation- _annIoriginalTree :: Annotation- _typIannotatedTree :: TypeName- _typInamedType :: (Maybe TypeExtra)- _typIoriginalTree :: TypeName- _defIannotatedTree :: MaybeScalarExpr- _defIoriginalTree :: MaybeScalarExpr- _defIupType :: (Maybe TypeExtra)- _consIannotatedTree :: RowConstraintList- _consIoriginalTree :: RowConstraintList- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 54, column 33)- _annOtpe =- ({-# LINE 54 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 3678 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 55, column 33)- _defOdownEnv =- ({-# LINE 55 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 3684 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 56, column 33)- _defOexpectedCast =- ({-# LINE 56 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 3690 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 57, column 33)- _defOexpectedType =- ({-# LINE 57 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 3696 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 807, column 33)- _defOassignmentCastContext =- ({-# LINE 807 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 3702 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AttributeDef _annIannotatedTree name_ _typIannotatedTree _defIannotatedTree _consIannotatedTree- {-# LINE 3708 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AttributeDef _annIoriginalTree name_ _typIoriginalTree _defIoriginalTree _consIoriginalTree- {-# LINE 3714 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 3720 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 3726 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 3732 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 3738 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 3744 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 3750 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 3756 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 3762 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _defOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 3768 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _defOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 3774 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _defOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 3780 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _consOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 3786 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _consOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 3792 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _consOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 3798 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _annIannotatedTree,_annIoriginalTree) =- ann_ _annOcat _annOflags _annOimCast _annOtpe- ( _typIannotatedTree,_typInamedType,_typIoriginalTree) =- typ_ _typOcat _typOflags _typOimCast- ( _defIannotatedTree,_defIoriginalTree,_defIupType) =- def_ _defOassignmentCastContext _defOcat _defOdownEnv _defOexpectedCast _defOexpectedType _defOflags _defOimCast- ( _consIannotatedTree,_consIoriginalTree) =- cons_ _consOcat _consOflags _consOimCast- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- AttributeDefList ---------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : AttributeDefList - originalTree : AttributeDefList - alternatives:- alternative Cons:- child hd : AttributeDef - child tl : AttributeDefList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type AttributeDefList = [AttributeDef]--- cata-_sem_AttributeDefList :: AttributeDefList ->- T_AttributeDefList-_sem_AttributeDefList list =- (Prelude.foldr _sem_AttributeDefList_Cons _sem_AttributeDefList_Nil (Prelude.map _sem_AttributeDef list))--- semantic domain-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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 3873 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 3879 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 3885 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 3891 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 3897 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 3903 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 3909 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 3915 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 3921 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 3927 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 3945 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 3951 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 3957 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 3963 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- CaseScalarExprListScalarExprPair -----------------------------{-- visit 0:- inherited attributes:- cat : Catalog- downEnv : Environment- flags : TypeCheckFlags- imCast : Maybe TypeExtra- thenExpectedType : Maybe TypeExtra- whenExpectedType : Maybe TypeExtra- synthesized attributes:- annotatedTree : CaseScalarExprListScalarExprPair - originalTree : CaseScalarExprListScalarExprPair - thenType : Maybe TypeExtra- upTypes : [Maybe TypeExtra]- whenTypes : [Maybe TypeExtra]- alternatives:- alternative Tuple:- child x1 : ScalarExprList - child x2 : ScalarExpr - visit 0:- local annotatedTree : _- local originalTree : _--}-type CaseScalarExprListScalarExprPair = ( ScalarExprList,ScalarExpr)--- cata-_sem_CaseScalarExprListScalarExprPair :: CaseScalarExprListScalarExprPair ->- T_CaseScalarExprListScalarExprPair-_sem_CaseScalarExprListScalarExprPair ( x1,x2) =- (_sem_CaseScalarExprListScalarExprPair_Tuple (_sem_ScalarExprList x1) (_sem_ScalarExpr x2))--- semantic domain-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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 134, column 13)- _x2OodbcFunction =- ({-# LINE 134 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 4053 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 549, column 13)- _lhsOwhenTypes =- ({-# LINE 549 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _x1IupTypes- {-# LINE 4059 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 550, column 13)- _lhsOthenType =- ({-# LINE 550 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _x2IupType- {-# LINE 4065 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 605, column 11)- _x1OexpectedTypes =- ({-# LINE 605 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe [] repeat _lhsIwhenExpectedType- {-# LINE 4071 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 606, column 11)- _x1OexpectedCast =- ({-# LINE 606 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 4077 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 607, column 11)- _x2OexpectedType =- ({-# LINE 607 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIthenExpectedType- {-# LINE 4083 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 608, column 11)- _x2OexpectedCast =- ({-# LINE 608 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- True- {-# LINE 4089 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 808, column 46)- _x1OassignmentCastContext =- ({-# LINE 808 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 4095 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 809, column 46)- _x2OassignmentCastContext =- ({-# LINE 809 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 4101 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (_x1IannotatedTree,_x2IannotatedTree)- {-# LINE 4107 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (_x1IoriginalTree,_x2IoriginalTree)- {-# LINE 4113 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 4119 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 4125 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (up)- _lhsOupTypes =- ({-# LINE 554 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _x1IupTypes- {-# LINE 4131 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x1Ocat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 4137 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x1OdownEnv =- ({-# LINE 189 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 4143 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x1Oflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 4149 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x1OimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 4155 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x2Ocat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 4161 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x2OdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 4167 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x2Oflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 4173 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x2OimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 4179 "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)))--- CaseScalarExprListScalarExprPairList -------------------------{-- visit 0:- inherited attributes:- cat : Catalog- downEnv : Environment- flags : TypeCheckFlags- imCast : Maybe TypeExtra- thenExpectedType : Maybe TypeExtra- whenExpectedType : Maybe TypeExtra- synthesized attributes:- annotatedTree : CaseScalarExprListScalarExprPairList - originalTree : CaseScalarExprListScalarExprPairList - thenTypes : [Maybe TypeExtra]- upTypes : [Maybe TypeExtra]- whenTypes : [[Maybe TypeExtra]]- alternatives:- alternative Cons:- child hd : CaseScalarExprListScalarExprPair - child tl : CaseScalarExprListScalarExprPairList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type CaseScalarExprListScalarExprPairList = [CaseScalarExprListScalarExprPair]--- cata-_sem_CaseScalarExprListScalarExprPairList :: CaseScalarExprListScalarExprPairList ->- T_CaseScalarExprListScalarExprPairList-_sem_CaseScalarExprListScalarExprPairList list =- (Prelude.foldr _sem_CaseScalarExprListScalarExprPairList_Cons _sem_CaseScalarExprListScalarExprPairList_Nil (Prelude.map _sem_CaseScalarExprListScalarExprPair list))--- semantic domain-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]])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 538, column 10)- _lhsOwhenTypes =- ({-# LINE 538 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _hdIwhenTypes : _tlIwhenTypes- {-# LINE 4277 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 539, column 10)- _lhsOthenTypes =- ({-# LINE 539 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _hdIthenType : _tlIthenTypes- {-# LINE 4283 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 4289 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 4295 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 4301 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 4307 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (up)- _lhsOupTypes =- ({-# LINE 554 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tlIupTypes- {-# LINE 4313 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 4319 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOdownEnv =- ({-# LINE 553 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 4325 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 4331 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 4337 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOthenExpectedType =- ({-# LINE 601 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIthenExpectedType- {-# LINE 4343 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOwhenExpectedType =- ({-# LINE 602 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIwhenExpectedType- {-# LINE 4349 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 4355 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOdownEnv =- ({-# LINE 553 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 4361 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 4367 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 4373 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOthenExpectedType =- ({-# LINE 601 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIthenExpectedType- {-# LINE 4379 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOwhenExpectedType =- ({-# LINE 602 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIwhenExpectedType- {-# LINE 4385 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 540, column 9)- _lhsOwhenTypes =- ({-# LINE 540 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- []- {-# LINE 4409 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 541, column 9)- _lhsOthenTypes =- ({-# LINE 541 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- []- {-# LINE 4415 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 542, column 9)- _lhsOupTypes =- ({-# LINE 542 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- []- {-# LINE 4421 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 4427 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 4433 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 4439 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 4445 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOthenTypes,_lhsOupTypes,_lhsOwhenTypes)))--- Constraint ---------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : Constraint - originalTree : Constraint - alternatives:- alternative UniqueConstraint:- child ann : Annotation - child name : {String}- child x : {[NameComponent]}- visit 0:- local annotatedTree : _- local originalTree : _- alternative PrimaryKeyConstraint:- child ann : Annotation - child name : {String}- child x : {[NameComponent]}- visit 0:- local annotatedTree : _- local originalTree : _- alternative CheckConstraint:- child ann : Annotation - child name : {String}- child expr : ScalarExpr - visit 0:- local annotatedTree : _- local originalTree : _- alternative ReferenceConstraint:- child ann : Annotation - child name : {String}- child atts : {[NameComponent]}- child table : Name - child tableAtts : {[NameComponent]}- child onUpdate : {Cascade}- child onDelete : {Cascade}- visit 0:- local annotatedTree : _- local originalTree : _--}-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)--- cata-_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)--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 65, column 35)- _annOtpe =- ({-# LINE 65 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 4541 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- UniqueConstraint _annIannotatedTree name_ x_- {-# LINE 4547 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- UniqueConstraint _annIoriginalTree name_ x_- {-# LINE 4553 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 4559 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 4565 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 4571 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 4577 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 4583 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 62, column 39)- _annOtpe =- ({-# LINE 62 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 4608 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- PrimaryKeyConstraint _annIannotatedTree name_ x_- {-# LINE 4614 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- PrimaryKeyConstraint _annIoriginalTree name_ x_- {-# LINE 4620 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 4626 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 4632 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 4638 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 4644 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 4650 "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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 58, column 34)- _annOtpe =- ({-# LINE 58 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 4687 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 59, column 34)- _exprOdownEnv =- ({-# LINE 59 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 4693 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 60, column 34)- _exprOexpectedCast =- ({-# LINE 60 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 4699 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 61, column 34)- _exprOexpectedType =- ({-# LINE 61 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 4705 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 137, column 23)- _exprOodbcFunction =- ({-# LINE 137 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 4711 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 810, column 34)- _exprOassignmentCastContext =- ({-# LINE 810 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 4717 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CheckConstraint _annIannotatedTree name_ _exprIannotatedTree- {-# LINE 4723 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CheckConstraint _annIoriginalTree name_ _exprIoriginalTree- {-# LINE 4729 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 4735 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 4741 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 4747 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 4753 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 4759 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 4765 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 4771 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 4777 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 63, column 38)- _annOtpe =- ({-# LINE 63 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 4814 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 64, column 38)- _tableOtpe =- ({-# LINE 64 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 4820 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ReferenceConstraint _annIannotatedTree name_ atts_ _tableIannotatedTree tableAtts_ onUpdate_ onDelete_- {-# LINE 4826 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ReferenceConstraint _annIoriginalTree name_ atts_ _tableIoriginalTree tableAtts_ onUpdate_ onDelete_- {-# LINE 4832 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 4838 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 4844 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 4850 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 4856 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 4862 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tableOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 4868 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tableOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 4874 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tableOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 4880 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _annIannotatedTree,_annIoriginalTree) =- ann_ _annOcat _annOflags _annOimCast _annOtpe- ( _tableIannotatedTree,_tableIoriginalTree) =- table_ _tableOcat _tableOflags _tableOimCast _tableOtpe- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- ConstraintList -----------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : ConstraintList - originalTree : ConstraintList - alternatives:- alternative Cons:- child hd : Constraint - child tl : ConstraintList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type ConstraintList = [Constraint]--- cata-_sem_ConstraintList :: ConstraintList ->- T_ConstraintList-_sem_ConstraintList list =- (Prelude.foldr _sem_ConstraintList_Cons _sem_ConstraintList_Nil (Prelude.map _sem_Constraint list))--- semantic domain-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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 4951 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 4957 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 4963 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 4969 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 4975 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 4981 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 4987 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 4993 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 4999 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 5005 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 5023 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 5029 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 5035 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 5041 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- FnBody -------------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : FnBody - originalTree : FnBody - alternatives:- alternative SqlFnBody:- child ann : Annotation - child sts : StatementList - visit 0:- local annotatedTree : _- local originalTree : _- alternative PlpgsqlFnBody:- child ann : Annotation - child blk : Statement - visit 0:- local annotatedTree : _- local originalTree : _--}-data FnBody = SqlFnBody (Annotation) (StatementList)- | PlpgsqlFnBody (Annotation) (Statement)- deriving ( Data,Eq,Show,Typeable)--- cata-_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))--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 67, column 24)- _annOtpe =- ({-# LINE 67 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 5115 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SqlFnBody _annIannotatedTree _stsIannotatedTree- {-# LINE 5121 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SqlFnBody _annIoriginalTree _stsIoriginalTree- {-# LINE 5127 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 5133 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 5139 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 5145 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 5151 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 5157 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _stsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 5163 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _stsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 5169 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _stsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 5175 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 66, column 28)- _annOtpe =- ({-# LINE 66 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 5206 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- PlpgsqlFnBody _annIannotatedTree _blkIannotatedTree- {-# LINE 5212 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- PlpgsqlFnBody _annIoriginalTree _blkIoriginalTree- {-# LINE 5218 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 5224 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 5230 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 5236 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 5242 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 5248 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _blkOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 5254 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _blkOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 5260 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _blkOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 5266 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _annIannotatedTree,_annIoriginalTree) =- ann_ _annOcat _annOflags _annOimCast _annOtpe- ( _blkIannotatedTree,_blkIoriginalTree) =- blk_ _blkOcat _blkOflags _blkOimCast- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- InList -------------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- downEnv : Environment- expectedCast : Bool- expectedType : Maybe TypeExtra- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : InList - listType : Either [TypeError] TypeExtra- originalTree : InList - alternatives:- alternative InList:- child ann : Annotation - child exprs : ScalarExprList - visit 0:- local tpe : _- local annotatedTree : _- local originalTree : _- alternative InQueryExpr:- child ann : Annotation - child sel : QueryExpr - visit 0:- local tpe : _- local annotatedTree : _- local originalTree : _--}-data InList = InList (Annotation) (ScalarExprList)- | InQueryExpr (Annotation) (QueryExpr)- deriving ( Data,Eq,Show,Typeable)--- cata-_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))--- semantic domain-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])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 219, column 9)- _tpe =- ({-# LINE 219 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- Left []- {-# LINE 5362 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 681, column 9)- _lhsOlistType =- ({-# LINE 681 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- mapM (maybe (Left []) Right) _exprsIupTypes- >>= resolveResultSetTypeExtra _lhsIcat- {-# LINE 5369 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 683, column 9)- _exprsOexpectedTypes =- ({-# LINE 683 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe [] repeat _lhsIexpectedType- {-# LINE 5375 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 685, column 9)- _exprsOexpectedCast =- ({-# LINE 685 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 5381 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 781, column 12)- _annOimCast =- ({-# LINE 781 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Nothing- {-# LINE 5387 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 811, column 21)- _exprsOassignmentCastContext =- ({-# LINE 811 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 5393 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- InList _annIannotatedTree _exprsIannotatedTree- {-# LINE 5399 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- InList _annIoriginalTree _exprsIoriginalTree- {-# LINE 5405 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 5411 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 5417 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 5423 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 5429 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (from local)- _annOtpe =- ({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _tpe- {-# LINE 5435 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 5441 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprsOdownEnv =- ({-# LINE 189 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 5447 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 5453 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 5459 "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)])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 97, column 17)- _selOouterDownEnv =- ({-# LINE 97 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- Nothing- {-# LINE 5498 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 219, column 9)- _tpe =- ({-# LINE 219 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- Left []- {-# LINE 5504 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 688, column 9)- _lhsOlistType =- ({-# LINE 688 "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 5517 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 698, column 9)- _selOexpectedType =- ({-# LINE 698 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- liftM (map snd) _selIupType- {-# LINE 5523 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 782, column 17)- _annOimCast =- ({-# LINE 782 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Nothing- {-# LINE 5529 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 812, column 26)- _selOassignmentCastContext =- ({-# LINE 812 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 5535 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- InQueryExpr _annIannotatedTree _selIannotatedTree- {-# LINE 5541 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- InQueryExpr _annIoriginalTree _selIoriginalTree- {-# LINE 5547 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 5553 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 5559 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 5565 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 5571 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (from local)- _annOtpe =- ({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _tpe- {-# LINE 5577 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 5583 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 5589 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 5595 "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)))--- JoinExpr -----------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- downEnv : Environment- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : JoinExpr - originalTree : JoinExpr - alternatives:- alternative JoinOn:- child ann : Annotation - child expr : ScalarExpr - visit 0:- local tpe : _- local annotatedTree : _- local originalTree : _- alternative JoinUsing:- child ann : Annotation - child x : {[NameComponent]}- visit 0:- local tpe : _- local annotatedTree : _- local originalTree : _--}-data JoinExpr = JoinOn (Annotation) (ScalarExpr)- | JoinUsing (Annotation) (([NameComponent]))- deriving ( Data,Eq,Show,Typeable)--- cata-_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)--- semantic domain-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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 223, column 9)- _tpe =- ({-# LINE 223 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- Left []- {-# LINE 5685 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 140, column 14)- _exprOodbcFunction =- ({-# LINE 140 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 5691 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 745, column 7)- _exprOexpectedType =- ({-# LINE 745 "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 5700 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 749, column 7)- _exprOexpectedCast =- ({-# LINE 749 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 5706 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 813, column 23)- _exprOassignmentCastContext =- ({-# LINE 813 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 5712 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- JoinOn _annIannotatedTree _exprIannotatedTree- {-# LINE 5718 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- JoinOn _annIoriginalTree _exprIoriginalTree- {-# LINE 5724 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 5730 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 5736 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 5742 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 5748 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 5754 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (from local)- _annOtpe =- ({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _tpe- {-# LINE 5760 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 5766 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 5772 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 5778 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 5784 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 223, column 9)- _tpe =- ({-# LINE 223 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- Left []- {-# LINE 5811 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- JoinUsing _annIannotatedTree x_- {-# LINE 5817 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- JoinUsing _annIoriginalTree x_- {-# LINE 5823 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 5829 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 5835 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 5841 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 5847 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 5853 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (from local)- _annOtpe =- ({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _tpe- {-# LINE 5859 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _annIannotatedTree,_annIoriginalTree) =- ann_ _annOcat _annOflags _annOimCast _annOtpe- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- MaybeBoolExpr ------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- downEnv : Environment- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : MaybeBoolExpr - originalTree : MaybeBoolExpr - alternatives:- alternative Just:- child just : ScalarExpr - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nothing:- visit 0:- local annotatedTree : _- local originalTree : _--}-type MaybeBoolExpr = Maybe (ScalarExpr)--- cata-_sem_MaybeBoolExpr :: MaybeBoolExpr ->- T_MaybeBoolExpr-_sem_MaybeBoolExpr (Prelude.Just x) =- (_sem_MaybeBoolExpr_Just (_sem_ScalarExpr x))-_sem_MaybeBoolExpr Prelude.Nothing =- _sem_MaybeBoolExpr_Nothing--- semantic domain-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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 143, column 12)- _justOodbcFunction =- ({-# LINE 143 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 5933 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 761, column 7)- _justOexpectedType =- ({-# LINE 761 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Nothing- {-# LINE 5939 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 762, column 7)- _justOexpectedCast =- ({-# LINE 762 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 5945 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 814, column 26)- _justOassignmentCastContext =- ({-# LINE 814 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 5951 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Just _justIannotatedTree- {-# LINE 5957 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Just _justIoriginalTree- {-# LINE 5963 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 5969 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 5975 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 5981 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 5987 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 5993 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 5999 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Nothing- {-# LINE 6016 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Nothing- {-# LINE 6022 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 6028 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 6034 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- MaybeNameComponentList ---------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : MaybeNameComponentList - originalTree : MaybeNameComponentList - alternatives:- alternative Just:- child just : NameComponentList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nothing:- visit 0:- local annotatedTree : _- local originalTree : _--}-type MaybeNameComponentList = Maybe (NameComponentList)--- cata-_sem_MaybeNameComponentList :: MaybeNameComponentList ->- T_MaybeNameComponentList-_sem_MaybeNameComponentList (Prelude.Just x) =- (_sem_MaybeNameComponentList_Just (_sem_NameComponentList x))-_sem_MaybeNameComponentList Prelude.Nothing =- _sem_MaybeNameComponentList_Nothing--- semantic domain-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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Just _justIannotatedTree- {-# LINE 6096 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Just _justIoriginalTree- {-# LINE 6102 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 6108 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 6114 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 6120 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 6126 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 6132 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Nothing- {-# LINE 6148 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Nothing- {-# LINE 6154 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 6160 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 6166 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- MaybeScalarExpr ----------------------------------------------{-- visit 0:- inherited attributes:- assignmentCastContext : Bool- cat : Catalog- downEnv : Environment- expectedCast : Bool- expectedType : Maybe TypeExtra- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : MaybeScalarExpr - originalTree : MaybeScalarExpr - upType : Maybe TypeExtra- alternatives:- alternative Just:- child just : ScalarExpr - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nothing:- visit 0:- local annotatedTree : _- local originalTree : _--}-type MaybeScalarExpr = Maybe (ScalarExpr)--- cata-_sem_MaybeScalarExpr :: MaybeScalarExpr ->- T_MaybeScalarExpr-_sem_MaybeScalarExpr (Prelude.Just x) =- (_sem_MaybeScalarExpr_Just (_sem_ScalarExpr x))-_sem_MaybeScalarExpr Prelude.Nothing =- _sem_MaybeScalarExpr_Nothing--- semantic domain-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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 146, column 12)- _justOodbcFunction =- ({-# LINE 146 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 6249 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Just _justIannotatedTree- {-# LINE 6255 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Just _justIoriginalTree- {-# LINE 6261 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 6267 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 6273 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (up)- _lhsOupType =- ({-# LINE 109 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _justIupType- {-# LINE 6279 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 6285 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 6291 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 6297 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOexpectedCast =- ({-# LINE 111 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIexpectedCast- {-# LINE 6303 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOexpectedType =- ({-# LINE 110 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIexpectedType- {-# LINE 6309 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 6315 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 6321 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 120, column 15)- _lhsOupType =- ({-# LINE 120 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Nothing- {-# LINE 6342 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Nothing- {-# LINE 6348 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Nothing- {-# LINE 6354 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 6360 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 6366 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupType)))--- MaybeSelectList ----------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : MaybeSelectList - originalTree : MaybeSelectList - alternatives:- alternative Just:- child just : SelectList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nothing:- visit 0:- local annotatedTree : _- local originalTree : _--}-type MaybeSelectList = Maybe (SelectList)--- cata-_sem_MaybeSelectList :: MaybeSelectList ->- T_MaybeSelectList-_sem_MaybeSelectList (Prelude.Just x) =- (_sem_MaybeSelectList_Just (_sem_SelectList x))-_sem_MaybeSelectList Prelude.Nothing =- _sem_MaybeSelectList_Nothing--- semantic domain-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)])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 68, column 28)- _justOdownEnv =- ({-# LINE 68 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 6435 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 69, column 28)- _justOexpectedCast =- ({-# LINE 69 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 6441 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 70, column 28)- _justOexpectedType =- ({-# LINE 70 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 6447 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 815, column 28)- _justOassignmentCastContext =- ({-# LINE 815 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 6453 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Just _justIannotatedTree- {-# LINE 6459 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Just _justIoriginalTree- {-# LINE 6465 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 6471 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 6477 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 6483 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 6489 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 6495 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Nothing- {-# LINE 6511 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Nothing- {-# LINE 6517 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 6523 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 6529 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- MaybeTablePartitionDef ---------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : MaybeTablePartitionDef - originalTree : MaybeTablePartitionDef - alternatives:- alternative Just:- child just : TablePartitionDef - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nothing:- visit 0:- local annotatedTree : _- local originalTree : _--}-type MaybeTablePartitionDef = Maybe (TablePartitionDef)--- cata-_sem_MaybeTablePartitionDef :: MaybeTablePartitionDef ->- T_MaybeTablePartitionDef-_sem_MaybeTablePartitionDef (Prelude.Just x) =- (_sem_MaybeTablePartitionDef_Just (_sem_TablePartitionDef x))-_sem_MaybeTablePartitionDef Prelude.Nothing =- _sem_MaybeTablePartitionDef_Nothing--- semantic domain-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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Just _justIannotatedTree- {-# LINE 6591 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Just _justIoriginalTree- {-# LINE 6597 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 6603 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 6609 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 6615 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 6621 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 6627 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Nothing- {-# LINE 6643 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Nothing- {-# LINE 6649 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 6655 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 6661 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- Name ---------------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- tpe : Either [TypeError] TypeExtra- synthesized attributes:- annotatedTree : Name - originalTree : Name - alternatives:- alternative Name:- child ann : Annotation - child is : {[NameComponent]}- visit 0:- local annotatedTree : _- local originalTree : _- alternative AntiName:- child string : {String}- visit 0:- local annotatedTree : _- local originalTree : _--}-data Name = Name (Annotation) (([NameComponent]))- | AntiName (String)- deriving ( Data,Eq,Show,Typeable)--- cata-_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)--- semantic domain-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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Name _annIannotatedTree is_- {-# LINE 6732 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Name _annIoriginalTree is_- {-# LINE 6738 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 6744 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 6750 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 6756 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 6762 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 6768 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOtpe =- ({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsItpe- {-# LINE 6774 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AntiName string_- {-# LINE 6792 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AntiName string_- {-# LINE 6798 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 6804 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 6810 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- NameComponentList --------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : NameComponentList - originalTree : NameComponentList - alternatives:- alternative Cons:- child hd : {NameComponent}- child tl : NameComponentList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type NameComponentList = [(NameComponent)]--- cata-_sem_NameComponentList :: NameComponentList ->- T_NameComponentList-_sem_NameComponentList list =- (Prelude.foldr _sem_NameComponentList_Cons _sem_NameComponentList_Nil list)--- semantic domain-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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) hd_ _tlIannotatedTree- {-# LINE 6872 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) hd_ _tlIoriginalTree- {-# LINE 6878 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 6884 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 6890 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 6896 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 6902 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 6908 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 6924 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 6930 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 6936 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 6942 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- NameTypeNameListPair -----------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : NameTypeNameListPair - originalTree : NameTypeNameListPair - alternatives:- alternative Tuple:- child x1 : Name - child x2 : TypeNameList - visit 0:- local annotatedTree : _- local originalTree : _--}-type NameTypeNameListPair = ( Name,TypeNameList)--- cata-_sem_NameTypeNameListPair :: NameTypeNameListPair ->- T_NameTypeNameListPair-_sem_NameTypeNameListPair ( x1,x2) =- (_sem_NameTypeNameListPair_Tuple (_sem_Name x1) (_sem_TypeNameList x2))--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 71, column 34)- _x1Otpe =- ({-# LINE 71 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 7006 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (_x1IannotatedTree,_x2IannotatedTree)- {-# LINE 7012 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (_x1IoriginalTree,_x2IoriginalTree)- {-# LINE 7018 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 7024 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 7030 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x1Ocat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 7036 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x1Oflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 7042 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x1OimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 7048 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x2Ocat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 7054 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x2Oflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 7060 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x2OimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 7066 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _x1IannotatedTree,_x1IoriginalTree) =- x1_ _x1Ocat _x1Oflags _x1OimCast _x1Otpe- ( _x2IannotatedTree,_x2IoriginalTree) =- x2_ _x2Ocat _x2Oflags _x2OimCast- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- NameTypeNameListPairList -------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : NameTypeNameListPairList - originalTree : NameTypeNameListPairList - alternatives:- alternative Cons:- child hd : NameTypeNameListPair - child tl : NameTypeNameListPairList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type NameTypeNameListPairList = [NameTypeNameListPair]--- cata-_sem_NameTypeNameListPairList :: NameTypeNameListPairList ->- T_NameTypeNameListPairList-_sem_NameTypeNameListPairList list =- (Prelude.foldr _sem_NameTypeNameListPairList_Cons _sem_NameTypeNameListPairList_Nil (Prelude.map _sem_NameTypeNameListPair list))--- semantic domain-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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 7137 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 7143 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 7149 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 7155 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 7161 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 7167 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 7173 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 7179 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 7185 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 7191 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 7209 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 7215 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 7221 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 7227 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- OnExpr -------------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- downEnv : Environment- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : OnExpr - originalTree : OnExpr - alternatives:- alternative Just:- child just : JoinExpr - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nothing:- visit 0:- local annotatedTree : _- local originalTree : _--}-type OnExpr = Maybe (JoinExpr)--- cata-_sem_OnExpr :: OnExpr ->- T_OnExpr-_sem_OnExpr (Prelude.Just x) =- (_sem_OnExpr_Just (_sem_JoinExpr x))-_sem_OnExpr Prelude.Nothing =- _sem_OnExpr_Nothing--- semantic domain-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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Just _justIannotatedTree- {-# LINE 7293 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Just _justIoriginalTree- {-# LINE 7299 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 7305 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 7311 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 7317 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOdownEnv =- ({-# LINE 215 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIdownEnv- {-# LINE 7323 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 7329 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _justOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 7335 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Nothing- {-# LINE 7352 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Nothing- {-# LINE 7358 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 7364 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 7370 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- ParamDef -----------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : ParamDef - originalTree : ParamDef - alternatives:- alternative ParamDef:- child ann : Annotation - child name : {NameComponent}- child typ : TypeName - visit 0:- local annotatedTree : _- local originalTree : _- alternative ParamDefTp:- child ann : Annotation - child typ : TypeName - visit 0:- local annotatedTree : _- local originalTree : _--}-data ParamDef = ParamDef (Annotation) (NameComponent) (TypeName)- | ParamDefTp (Annotation) (TypeName)- deriving ( Data,Eq,Show,Typeable)--- cata-_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))--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 72, column 25)- _annOtpe =- ({-# LINE 72 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 7447 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ParamDef _annIannotatedTree name_ _typIannotatedTree- {-# LINE 7453 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ParamDef _annIoriginalTree name_ _typIoriginalTree- {-# LINE 7459 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 7465 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 7471 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 7477 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 7483 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 7489 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 7495 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 7501 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 7507 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 73, column 27)- _annOtpe =- ({-# LINE 73 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 7539 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ParamDefTp _annIannotatedTree _typIannotatedTree- {-# LINE 7545 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ParamDefTp _annIoriginalTree _typIoriginalTree- {-# LINE 7551 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 7557 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 7563 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 7569 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 7575 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 7581 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 7587 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 7593 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 7599 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _annIannotatedTree,_annIoriginalTree) =- ann_ _annOcat _annOflags _annOimCast _annOtpe- ( _typIannotatedTree,_typInamedType,_typIoriginalTree) =- typ_ _typOcat _typOflags _typOimCast- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- ParamDefList -------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : ParamDefList - originalTree : ParamDefList - alternatives:- alternative Cons:- child hd : ParamDef - child tl : ParamDefList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type ParamDefList = [ParamDef]--- cata-_sem_ParamDefList :: ParamDefList ->- T_ParamDefList-_sem_ParamDefList list =- (Prelude.foldr _sem_ParamDefList_Cons _sem_ParamDefList_Nil (Prelude.map _sem_ParamDef list))--- semantic domain-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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 7670 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 7676 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 7682 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 7688 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 7694 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 7700 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 7706 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 7712 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 7718 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 7724 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 7742 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 7748 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 7754 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 7760 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- QueryExpr ----------------------------------------------------{-- visit 0:- inherited attributes:- assignmentCastContext : Bool- cat : Catalog- expectedType : Maybe [TypeExtra]- flags : TypeCheckFlags- imCast : Maybe TypeExtra- outerDownEnv : Maybe Environment- synthesized attributes:- annotatedTree : QueryExpr - originalTree : QueryExpr - upType : Maybe [(Text,TypeExtra)]- alternatives:- alternative Select:- child ann : Annotation - child selDistinct : {Distinct}- child selSelectList : SelectList - child selTref : TableRefList - child selWhere : MaybeBoolExpr - child selGroupBy : ScalarExprList - child selHaving : MaybeBoolExpr - child selOrderBy : ScalarExprDirectionPairList - child selLimit : MaybeScalarExpr - child selOffset : MaybeScalarExpr - child selOption : {[QueryHint]}- visit 0:- local tpee : {Either [TypeError] [(Text,TypeExtra)]}- local tpe : {Either [TypeError] TypeExtra}- local selGroupBy : _- local annotatedTree : _- local originalTree : _- alternative CombineQueryExpr:- child ann : Annotation - child cqType : {CombineType}- child cqQe0 : QueryExpr - child cqQe1 : QueryExpr - visit 0:- local tpe : {Either [TypeError] TypeExtra}- local tpee : {Either [TypeError] [(Text,TypeExtra)]}- local annotatedTree : _- local originalTree : _- alternative Values:- child ann : Annotation - child qeValues : ScalarExprListList - visit 0:- local tpe : {Either [TypeError] TypeExtra}- local tpee : {Either [TypeError] [(Text,TypeExtra)]}- local annotatedTree : _- local originalTree : _- alternative WithQueryExpr:- child ann : Annotation - child withs : WithQueryList - child withQe : QueryExpr - visit 0:- local tpe : {Either [TypeError] TypeExtra}- local tpee : {Either [TypeError] [(Text,TypeExtra)]}- local annotatedTree : _- local originalTree : _--}--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)---- todo: represent parens explicitly in queryexpr--- | QueryExprParens ex:: QueryExpr--- } deriving (Eq,Show,Data,Typeable)---- cata-_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))--- semantic domain-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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 74, column 24)- _selGroupByOexpectedCast =- ({-# LINE 74 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 7956 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 75, column 24)- _selLimitOdownEnv =- ({-# LINE 75 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 7962 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 76, column 24)- _selLimitOexpectedCast =- ({-# LINE 76 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 7968 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 77, column 24)- _selOffsetOdownEnv =- ({-# LINE 77 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 7974 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 78, column 24)- _selOffsetOexpectedCast =- ({-# LINE 78 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 7980 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 79, column 24)- _selSelectListOexpectedCast =- ({-# LINE 79 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 7986 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 106, column 9)- _selSelectListOdownEnv =- ({-# LINE 106 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _selTrefIupEnv- {-# LINE 7992 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 107, column 9)- _selGroupByOdownEnv =- ({-# LINE 107 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _selTrefIupEnv- {-# LINE 7998 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 108, column 9)- _selHavingOdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _selTrefIupEnv- {-# LINE 8004 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 128, column 9)- _selOrderByOdownEnv =- ({-# LINE 128 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- E.orderByEnvironment _selSelectListIupEnv _selTrefIupEnv- {-# LINE 8010 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 129, column 9)- _tpee =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- maybe (Left []) Right _selSelectListIupType- {-# LINE 8016 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 132, column 9)- _selWhereOdownEnv =- ({-# LINE 132 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- maybe _selTrefIupEnv- (\e -> E.createCorrelatedSubqueryEnvironment e _selTrefIupEnv)- _lhsIouterDownEnv- {-# LINE 8024 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 142, column 9)- _tpe =- ({-# LINE 142 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- liftM (mkTypeExtra . CompositeType) _tpee- {-# LINE 8030 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 145, column 9)- _lhsOupType =- ({-# LINE 145 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- either (const Nothing) Just _tpee- {-# LINE 8036 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 239, column 9)- _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 8047 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 248, column 9)- _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 8063 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 766, column 7)- _selGroupByOexpectedTypes =- ({-# LINE 766 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- []- {-# LINE 8069 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 767, column 7)- _selLimitOexpectedType =- ({-# LINE 767 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Nothing- {-# LINE 8075 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 768, column 7)- _selOffsetOexpectedType =- ({-# LINE 768 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Nothing- {-# LINE 8081 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Select _annIannotatedTree selDistinct_ _selSelectListIannotatedTree _selTrefIannotatedTree _selWhereIannotatedTree _selGroupByIannotatedTree _selHavingIannotatedTree _selOrderByIannotatedTree _selLimitIannotatedTree _selOffsetIannotatedTree selOption_- {-# LINE 8087 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Select _annIoriginalTree selDistinct_ _selSelectListIoriginalTree _selTrefIoriginalTree _selWhereIoriginalTree _selGroupByIoriginalTree _selHavingIoriginalTree _selOrderByIoriginalTree _selLimitIoriginalTree _selOffsetIoriginalTree selOption_- {-# LINE 8093 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 8099 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 8105 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 8111 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 8117 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (from local)- _annOtpe =- ({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _tpe- {-# LINE 8123 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selSelectListOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 8129 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selSelectListOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 8135 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selSelectListOexpectedType =- ({-# LINE 159 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- _lhsIexpectedType- {-# LINE 8141 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selSelectListOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 8147 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selSelectListOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 8153 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selTrefOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 8159 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selTrefOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 8165 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selTrefOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 8171 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selWhereOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 8177 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selWhereOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 8183 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selWhereOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 8189 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selGroupByOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 8195 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selGroupByOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 8201 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selGroupByOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 8207 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selGroupByOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 8213 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selHavingOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 8219 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selHavingOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 8225 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selHavingOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 8231 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOrderByOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 8237 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOrderByOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 8243 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOrderByOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 8249 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selLimitOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 8255 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selLimitOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 8261 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selLimitOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 8267 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selLimitOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 8273 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOffsetOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 8279 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOffsetOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 8285 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOffsetOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 8291 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOffsetOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 8297 "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)])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 142, column 9)- _tpe =- ({-# LINE 142 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- liftM (mkTypeExtra . CompositeType) _tpee- {-# LINE 8363 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 145, column 9)- _lhsOupType =- ({-# LINE 145 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- either (const Nothing) Just _tpee- {-# LINE 8369 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 156, column 9)- _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 8383 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CombineQueryExpr _annIannotatedTree cqType_ _cqQe0IannotatedTree _cqQe1IannotatedTree- {-# LINE 8389 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CombineQueryExpr _annIoriginalTree cqType_ _cqQe0IoriginalTree _cqQe1IoriginalTree- {-# LINE 8395 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 8401 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 8407 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 8413 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 8419 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 8425 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (from local)- _annOtpe =- ({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _tpe- {-# LINE 8431 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _cqQe0OassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 8437 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _cqQe0Ocat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 8443 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _cqQe0OexpectedType =- ({-# LINE 18 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIexpectedType- {-# LINE 8449 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _cqQe0Oflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 8455 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _cqQe0OimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 8461 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _cqQe0OouterDownEnv =- ({-# LINE 89 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIouterDownEnv- {-# LINE 8467 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _cqQe1OassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 8473 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _cqQe1Ocat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 8479 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _cqQe1OexpectedType =- ({-# LINE 18 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIexpectedType- {-# LINE 8485 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _cqQe1Oflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 8491 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _cqQe1OimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 8497 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _cqQe1OouterDownEnv =- ({-# LINE 89 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIouterDownEnv- {-# LINE 8503 "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)])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 80, column 24)- _qeValuesOdownEnv =- ({-# LINE 80 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 8547 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 142, column 9)- _tpe =- ({-# LINE 142 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- liftM (mkTypeExtra . CompositeType) _tpee- {-# LINE 8553 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 145, column 9)- _lhsOupType =- ({-# LINE 145 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- either (const Nothing) Just _tpee- {-# LINE 8559 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 153, column 9)- _tpee =- ({-# LINE 153 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _qeValuesIupType- {-# LINE 8565 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 154, column 9)- _qeValuesOexpectedCast =- ({-# LINE 154 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- True- {-# LINE 8571 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Values _annIannotatedTree _qeValuesIannotatedTree- {-# LINE 8577 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Values _annIoriginalTree _qeValuesIoriginalTree- {-# LINE 8583 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 8589 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 8595 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 8601 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 8607 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 8613 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (from local)- _annOtpe =- ({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _tpe- {-# LINE 8619 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _qeValuesOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 8625 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _qeValuesOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 8631 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _qeValuesOexpectedType =- ({-# LINE 186 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIexpectedType- {-# LINE 8637 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _qeValuesOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 8643 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _qeValuesOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 8649 "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)])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 70, column 8)- _withQeOcat =- ({-# LINE 70 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- case _withsIcatExtComp of- Right catExtComp -> catExtComp- Left _ -> _lhsIcat- {-# LINE 8700 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 74, column 8)- _withsOcatExtIncomp =- ({-# LINE 74 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- return _lhsIcat- {-# LINE 8706 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 76, column 8)- _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 8715 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 142, column 9)- _tpe =- ({-# LINE 142 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- liftM (mkTypeExtra . CompositeType) _tpee- {-# LINE 8721 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 145, column 9)- _lhsOupType =- ({-# LINE 145 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- either (const Nothing) Just _tpee- {-# LINE 8727 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 151, column 9)- _tpee =- ({-# LINE 151 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- maybe (Left []) Right _withQeIupType- {-# LINE 8733 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- WithQueryExpr _annIannotatedTree _withsIannotatedTree _withQeIannotatedTree- {-# LINE 8739 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- WithQueryExpr _annIoriginalTree _withsIoriginalTree _withQeIoriginalTree- {-# LINE 8745 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 8751 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 8757 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 8763 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 8769 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (from local)- _annOtpe =- ({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _tpe- {-# LINE 8775 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _withsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 8781 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _withsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 8787 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _withsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 8793 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _withQeOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 8799 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _withQeOexpectedType =- ({-# LINE 18 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIexpectedType- {-# LINE 8805 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _withQeOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 8811 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _withQeOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 8817 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _withQeOouterDownEnv =- ({-# LINE 89 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIouterDownEnv- {-# LINE 8823 "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)))--- Root ---------------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- synthesized attributes:- annotatedTree : Root - originalTree : Root - alternatives:- alternative Root:- child statements : StatementList - visit 0:- local annotatedTree : _- local originalTree : _--}-data Root = Root (StatementList)- deriving ( Show)--- cata-_sem_Root :: Root ->- T_Root-_sem_Root (Root _statements) =- (_sem_Root_Root (_sem_StatementList _statements))--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag"(line 133, column 8)- _statementsOimCast =- ({-# LINE 133 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Nothing- {-# LINE 8883 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Root _statementsIannotatedTree- {-# LINE 8889 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Root _statementsIoriginalTree- {-# LINE 8895 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 8901 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 8907 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _statementsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 8913 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _statementsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 8919 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _statementsIannotatedTree,_statementsIoriginalTree) =- statements_ _statementsOcat _statementsOflags _statementsOimCast- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- RowConstraint ------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : RowConstraint - originalTree : RowConstraint - alternatives:- alternative NullConstraint:- child ann : Annotation - child name : {String}- visit 0:- local annotatedTree : _- local originalTree : _- alternative NotNullConstraint:- child ann : Annotation - child name : {String}- visit 0:- local annotatedTree : _- local originalTree : _- alternative IdentityConstraint:- child ann : Annotation - child name : {String}- child seedAndInc : {(Maybe (Integer,Integer))}- visit 0:- local annotatedTree : _- local originalTree : _- alternative RowCheckConstraint:- child ann : Annotation - child name : {String}- child expr : ScalarExpr - visit 0:- local annotatedTree : _- local originalTree : _- alternative RowUniqueConstraint:- child ann : Annotation - child name : {String}- visit 0:- local annotatedTree : _- local originalTree : _- alternative RowPrimaryKeyConstraint:- child ann : Annotation - child name : {String}- visit 0:- local annotatedTree : _- local originalTree : _- alternative RowReferenceConstraint:- child ann : Annotation - child name : {String}- child table : Name - child att : {Maybe NameComponent}- child onUpdate : {Cascade}- child onDelete : {Cascade}- visit 0:- local annotatedTree : _- local originalTree : _--}-data RowConstraint = 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)--- cata-_sem_RowConstraint :: RowConstraint ->- T_RowConstraint-_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)--- semantic domain-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_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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 83, column 36)- _annOtpe =- ({-# LINE 83 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 9041 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- NullConstraint _annIannotatedTree name_- {-# LINE 9047 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- NullConstraint _annIoriginalTree name_- {-# LINE 9053 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 9059 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 9065 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 9071 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 9077 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 9083 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 82, column 39)- _annOtpe =- ({-# LINE 82 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 9107 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- NotNullConstraint _annIannotatedTree name_- {-# LINE 9113 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- NotNullConstraint _annIoriginalTree name_- {-# LINE 9119 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 9125 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 9131 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 9137 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 9143 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 9149 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 81, column 40)- _annOtpe =- ({-# LINE 81 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 9174 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- IdentityConstraint _annIannotatedTree name_ seedAndInc_- {-# LINE 9180 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- IdentityConstraint _annIoriginalTree name_ seedAndInc_- {-# LINE 9186 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 9192 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 9198 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 9204 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 9210 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 9216 "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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 84, column 40)- _annOtpe =- ({-# LINE 84 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 9253 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 85, column 40)- _exprOdownEnv =- ({-# LINE 85 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 9259 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 86, column 40)- _exprOexpectedCast =- ({-# LINE 86 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 9265 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 87, column 40)- _exprOexpectedType =- ({-# LINE 87 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 9271 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 149, column 26)- _exprOodbcFunction =- ({-# LINE 149 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 9277 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 816, column 40)- _exprOassignmentCastContext =- ({-# LINE 816 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 9283 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- RowCheckConstraint _annIannotatedTree name_ _exprIannotatedTree- {-# LINE 9289 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- RowCheckConstraint _annIoriginalTree name_ _exprIoriginalTree- {-# LINE 9295 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 9301 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 9307 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 9313 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 9319 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 9325 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 9331 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 9337 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 9343 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 91, column 41)- _annOtpe =- ({-# LINE 91 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 9369 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- RowUniqueConstraint _annIannotatedTree name_- {-# LINE 9375 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- RowUniqueConstraint _annIoriginalTree name_- {-# LINE 9381 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 9387 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 9393 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 9399 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 9405 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 9411 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 88, column 45)- _annOtpe =- ({-# LINE 88 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 9435 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- RowPrimaryKeyConstraint _annIannotatedTree name_- {-# LINE 9441 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- RowPrimaryKeyConstraint _annIoriginalTree name_- {-# LINE 9447 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 9453 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 9459 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 9465 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 9471 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 9477 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 89, column 44)- _annOtpe =- ({-# LINE 89 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 9511 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 90, column 44)- _tableOtpe =- ({-# LINE 90 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 9517 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- RowReferenceConstraint _annIannotatedTree name_ _tableIannotatedTree att_ onUpdate_ onDelete_- {-# LINE 9523 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- RowReferenceConstraint _annIoriginalTree name_ _tableIoriginalTree att_ onUpdate_ onDelete_- {-# LINE 9529 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 9535 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 9541 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 9547 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 9553 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 9559 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tableOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 9565 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tableOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 9571 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tableOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 9577 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _annIannotatedTree,_annIoriginalTree) =- ann_ _annOcat _annOflags _annOimCast _annOtpe- ( _tableIannotatedTree,_tableIoriginalTree) =- table_ _tableOcat _tableOflags _tableOimCast _tableOtpe- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- RowConstraintList --------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : RowConstraintList - originalTree : RowConstraintList - alternatives:- alternative Cons:- child hd : RowConstraint - child tl : RowConstraintList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type RowConstraintList = [RowConstraint]--- cata-_sem_RowConstraintList :: RowConstraintList ->- T_RowConstraintList-_sem_RowConstraintList list =- (Prelude.foldr _sem_RowConstraintList_Cons _sem_RowConstraintList_Nil (Prelude.map _sem_RowConstraint list))--- semantic domain-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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 9648 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 9654 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 9660 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 9666 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 9672 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 9678 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 9684 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 9690 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 9696 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 9702 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 9720 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 9726 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 9732 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 9738 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- ScalarExpr ---------------------------------------------------{-- visit 0:- inherited attributes:- assignmentCastContext : Bool- cat : Catalog- downEnv : Environment- expectedCast : Bool- expectedType : Maybe TypeExtra- flags : TypeCheckFlags- imCast : Maybe TypeExtra- odbcFunction : Bool- synthesized attributes:- annotatedTree : ScalarExpr - colExprs : [(NameComponent,Maybe TypeExtra,ScalarExpr)]- originalTree : ScalarExpr - upType : Maybe TypeExtra- alternatives:- alternative NumberLit:- child ann : Annotation - child d : {String}- visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : _- local digChars : _- local annotatedTree : _- local originalTree : _- alternative StringLit:- child ann : Annotation - child value : {String}- visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : _- local annotatedTree : _- local originalTree : _- alternative NullLit:- child ann : Annotation - visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : _- local annotatedTree : _- local originalTree : _- alternative BooleanLit:- child ann : Annotation - child b : {Bool}- visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : _- local annotatedTree : _- local originalTree : _- alternative TypedStringLit:- child ann : Annotation - child tn : TypeName - child value : {String}- visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : _- local annotatedTree : _- local originalTree : _- alternative Interval:- child ann : Annotation - child value : {String}- child field : {IntervalField}- child prec : {Maybe Int}- visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : _- local annotatedTree : _- local originalTree : _- alternative Identifier:- child ann : Annotation - child i : Name - visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local elkp : _- local tpe : _- local annotatedTree : _- local originalTree : _- alternative Star:- child ann : Annotation - visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : {Either [TypeError] TypeExtra}- local starCS : _- local annotatedTree : _- local originalTree : _- alternative QStar:- child ann : Annotation - child q : {NameComponent}- visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : {Either [TypeError] TypeExtra}- local starCS : _- local annotatedTree : _- local originalTree : _- alternative PositionalArg:- child ann : Annotation - child p : {Integer}- visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : _- local annotatedTree : _- local originalTree : _- alternative Placeholder:- child ann : Annotation - visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : _- local annotatedTree : _- local originalTree : _- alternative PrefixOp:- child ann : Annotation - child opName : Name - child arg : ScalarExpr - visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : {Either [TypeError] TypeExtra}- local ttpe : {Either [TypeError] ([TypeExtra],TypeExtra)}- local annotatedTree : _- local originalTree : _- alternative PostfixOp:- child ann : Annotation - child opName : Name - child arg : ScalarExpr - visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : {Either [TypeError] TypeExtra}- local ttpe : {Either [TypeError] ([TypeExtra],TypeExtra)}- local annotatedTree : _- local originalTree : _- alternative BinaryOp:- child ann : Annotation - child opName : Name - child arg0 : ScalarExpr - child arg1 : ScalarExpr - visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : {Either [TypeError] TypeExtra}- local ttpe : {Either [TypeError] ([TypeExtra],TypeExtra)}- local annotatedTree : _- local originalTree : _- alternative SpecialOp:- child ann : Annotation - child opName : Name - child args : ScalarExprList - visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : {Either [TypeError] TypeExtra}- local ttpe : {Either [TypeError] ([TypeExtra],TypeExtra)}- local annotatedTree : _- local originalTree : _- alternative Extract:- child ann : Annotation - child field : {ExtractField}- child e : ScalarExpr - visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : _- local annotatedTree : _- local originalTree : _- alternative App:- child ann : Annotation - child funName : Name - child args : ScalarExprList - visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : {Either [TypeError] TypeExtra}- local funName : _- local ttpe : {Either [TypeError] ([TypeExtra],TypeExtra)}- local annotatedTree : _- local originalTree : _- alternative AggregateApp:- child ann : Annotation - child aggDistinct : {Distinct}- child fn : ScalarExpr - child orderBy : ScalarExprDirectionPairList - visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : _- local annotatedTree : _- local originalTree : _- alternative WindowApp:- child ann : Annotation - child fn : ScalarExpr - child partitionBy : ScalarExprList - child orderBy : ScalarExprDirectionPairList - child frm : {Maybe FrameClause}- visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : _- local annotatedTree : _- local originalTree : _- alternative Cast:- child ann : Annotation - child expr : ScalarExpr - child tn : TypeName - visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : _- local annotatedTree : _- local originalTree : _- alternative ImplicitCast:- child ann : Annotation - child expr : ScalarExpr - child te : {TypeExtra}- visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : _- local annotatedTree : _- local originalTree : _- alternative Case:- child ann : Annotation - child cases : CaseScalarExprListScalarExprPairList - child els : MaybeScalarExpr - visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local whenTypes : _- local thenTypes : _- local tpe : _- local annotatedTree : _- local originalTree : _- alternative CaseSimple:- child ann : Annotation - child value : ScalarExpr - child cases : CaseScalarExprListScalarExprPairList - child els : MaybeScalarExpr - visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local whenTypes : _- local thenTypes : _- local whent : _- local tpe : _- local annotatedTree : _- local originalTree : _- alternative Parens:- child ann : Annotation - child ex : ScalarExpr - visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : _- local annotatedTree : _- local originalTree : _- alternative InPredicate:- child ann : Annotation - child expr : ScalarExpr - child i : {Bool}- child list : InList - visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local rt : {Either [TypeError] TypeExtra}- local tpe : _- local annotatedTree : _- local originalTree : _- alternative Exists:- child ann : Annotation - child sel : QueryExpr - visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : _- local annotatedTree : _- local originalTree : _- alternative ScalarSubQuery:- child ann : Annotation - child sel : QueryExpr - visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : _- local annotatedTree : _- local originalTree : _- alternative LiftApp:- child ann : Annotation - child oper : Name - child flav : {LiftFlavour}- child args : ScalarExprList - visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : _- local annotatedTree : _- local originalTree : _- alternative OdbcLiteral:- child ann : Annotation - child olt : {OdbcLiteralType}- child val : {String}- visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : _- local annotatedTree : _- local originalTree : _- alternative OdbcFunc:- child ann : Annotation - child ex : ScalarExpr - visit 0:- local upType : _- local dialectTypeName : {Text -> Either [TypeError] Text}- local tpe : _- local annotatedTree : _- local originalTree : _- alternative AntiScalarExpr:- child string : {String}- visit 0:- local tpe : _- local annotatedTree : _- local originalTree : _--}-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)--- cata-_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)--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 10231 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 10237 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 10243 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 10249 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 10260 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 10266 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 249, column 9)- _tpe =- ({-# LINE 249 "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 10274 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 253, column 9)- _digChars =- ({-# LINE 253 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- concatMap show [(0::Int)..9]- {-# LINE 10280 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- NumberLit _annIannotatedTree d_- {-# LINE 10286 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- NumberLit _annIoriginalTree d_- {-# LINE 10292 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 10298 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 10304 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 10310 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 10316 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 10363 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 10369 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 10375 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 10381 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 10392 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 10398 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 257, column 9)- _tpe =- ({-# LINE 257 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Right $ (mkTypeExtraNN UnknownType) {tePrecision = Just $ length value_}- {-# LINE 10404 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- StringLit _annIannotatedTree value_- {-# LINE 10410 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- StringLit _annIoriginalTree value_- {-# LINE 10416 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 10422 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 10428 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 10434 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 10440 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 10486 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 10492 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 10498 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 10504 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 10515 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 10521 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 260, column 10)- _tpe =- ({-# LINE 260 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Right $ mkTypeExtra UnknownType- {-# LINE 10527 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- NullLit _annIannotatedTree- {-# LINE 10533 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- NullLit _annIoriginalTree- {-# LINE 10539 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 10545 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 10551 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 10557 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 10563 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 10610 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 10616 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 10622 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 10628 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 10639 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 10645 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 240, column 9)- _tpe =- ({-# LINE 240 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- fmap (mkTypeExtraNN . ScalarType) $ _dialectTypeName "boolean"- {-# LINE 10651 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- BooleanLit _annIannotatedTree b_- {-# LINE 10657 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- BooleanLit _annIoriginalTree b_- {-# LINE 10663 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 10669 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 10675 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 10681 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 10687 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 10741 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 10747 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 10753 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 10759 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 10770 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 10776 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 270, column 10)- _tpe =- ({-# LINE 270 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right _tnInamedType- {-# LINE 10782 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- TypedStringLit _annIannotatedTree _tnIannotatedTree value_- {-# LINE 10788 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- TypedStringLit _annIoriginalTree _tnIoriginalTree value_- {-# LINE 10794 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 10800 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 10806 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 10812 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 10818 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tnOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 10824 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tnOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 10830 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tnOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 10836 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 10887 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 10893 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 10899 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 10905 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 10916 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 10922 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 282, column 9)- _tpe =- ({-# LINE 282 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Right $ mkTypeExtraNN $ ScalarType "interval"- {-# LINE 10928 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Interval _annIannotatedTree value_ field_ prec_- {-# LINE 10934 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Interval _annIoriginalTree value_ field_ prec_- {-# LINE 10940 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 10946 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 10952 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 10958 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 10964 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 11017 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 11023 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 11029 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 11035 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 11046 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 11052 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 325, column 10)- _elkp =- ({-# LINE 325 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- E.envLookupIdentifier (nameComponents _iIoriginalTree) _lhsIdownEnv- {-# LINE 11058 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 326, column 10)- _tpe =- ({-# LINE 326 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- fmap snd _elkp- {-# LINE 11064 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 328, column 10)- _lhsOannotatedTree =- ({-# LINE 328 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _annotatedTree- {-# LINE 11070 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 329, column 10)- _annotatedTree =- ({-# LINE 329 "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 11086 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 349, column 10)- _iOtpe =- ({-# LINE 349 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Left []- {-# LINE 11092 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Identifier _annIoriginalTree _iIoriginalTree- {-# LINE 11098 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 11104 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 11110 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 11116 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _iOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 11122 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _iOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 11128 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _iOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 11134 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 11183 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 11189 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 11195 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 11201 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 11212 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 11218 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 713, column 9)- _tpe =- ({-# LINE 713 "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 11231 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 722, column 9)- _starCS =- ({-# LINE 722 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Right . mkTypeExtraNN . CompositeType . map (\((_q,n),t) -> (n,t))- {-# LINE 11237 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Star _annIannotatedTree- {-# LINE 11243 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Star _annIoriginalTree- {-# LINE 11249 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 11255 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 11261 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 11267 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 11273 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 11321 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 11327 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 11333 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 11339 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 11350 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 11356 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 713, column 9)- _tpe =- ({-# LINE 713 "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 11369 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 722, column 9)- _starCS =- ({-# LINE 722 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Right . mkTypeExtraNN . CompositeType . map (\((_q,n),t) -> (n,t))- {-# LINE 11375 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- QStar _annIannotatedTree q_- {-# LINE 11381 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- QStar _annIoriginalTree q_- {-# LINE 11387 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 11393 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 11399 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 11405 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 11411 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 11458 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 11464 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 11470 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 11476 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 11487 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 11493 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 734, column 9)- _tpe =- ({-# LINE 734 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Left []- {-# LINE 11499 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- PositionalArg _annIannotatedTree p_- {-# LINE 11505 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- PositionalArg _annIoriginalTree p_- {-# LINE 11511 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 11517 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 11523 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 11529 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 11535 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 11581 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 11587 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 11593 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 11599 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 11610 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 11616 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 300, column 10)- _tpe =- ({-# LINE 300 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Right $ mkTypeExtraNN UnknownType- {-# LINE 11622 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Placeholder _annIannotatedTree- {-# LINE 11628 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Placeholder _annIoriginalTree- {-# LINE 11634 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 11640 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 11646 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 11652 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 11658 "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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 11726 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 11732 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 11738 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 11744 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 11755 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 11761 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 175, column 26)- _argOodbcFunction =- ({-# LINE 175 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 11767 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 210, column 9)- _opNameOtpe =- ({-# LINE 210 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Left []- {-# LINE 11773 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 364, column 10)- _tpe =- ({-# LINE 364 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- fmap snd _ttpe- {-# LINE 11779 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 433, column 10)- _ttpe =- ({-# LINE 433 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- tcAppLike (tcfDialect _lhsIflags) _lhsIcat (nameComponents _opNameIoriginalTree) (getMaybeIntsFromLiterals [_argIoriginalTree]) [_argIupType]- {-# LINE 11785 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 434, column 10)- _argOexpectedType =- ({-# LINE 434 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- case _ttpe of- Right ([t],_) -> Just t- _ -> Nothing- {-# LINE 11793 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 456, column 9)- _argOexpectedCast =- ({-# LINE 456 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 11799 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- PrefixOp _annIannotatedTree _opNameIannotatedTree _argIannotatedTree- {-# LINE 11805 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- PrefixOp _annIoriginalTree _opNameIoriginalTree _argIoriginalTree- {-# LINE 11811 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 11817 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 11823 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 11829 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 11835 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _opNameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 11841 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _opNameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 11847 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _opNameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 11853 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 11859 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 11865 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argOdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 11871 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 11877 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 11883 "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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 11955 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 11961 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 11967 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 11973 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 11984 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 11990 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 175, column 26)- _argOodbcFunction =- ({-# LINE 175 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 11996 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 210, column 9)- _opNameOtpe =- ({-# LINE 210 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Left []- {-# LINE 12002 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 364, column 10)- _tpe =- ({-# LINE 364 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- fmap snd _ttpe- {-# LINE 12008 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 433, column 10)- _ttpe =- ({-# LINE 433 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- tcAppLike (tcfDialect _lhsIflags) _lhsIcat (nameComponents _opNameIoriginalTree) (getMaybeIntsFromLiterals [_argIoriginalTree]) [_argIupType]- {-# LINE 12014 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 434, column 10)- _argOexpectedType =- ({-# LINE 434 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- case _ttpe of- Right ([t],_) -> Just t- _ -> Nothing- {-# LINE 12022 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 456, column 9)- _argOexpectedCast =- ({-# LINE 456 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 12028 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- PostfixOp _annIannotatedTree _opNameIannotatedTree _argIannotatedTree- {-# LINE 12034 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- PostfixOp _annIoriginalTree _opNameIoriginalTree _argIoriginalTree- {-# LINE 12040 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 12046 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 12052 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 12058 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 12064 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _opNameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 12070 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _opNameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 12076 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _opNameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 12082 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 12088 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 12094 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argOdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 12100 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 12106 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 12112 "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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 12197 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 12203 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 12209 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 12215 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 12226 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 12232 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 176, column 16)- _arg0OodbcFunction =- ({-# LINE 176 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 12238 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 177, column 16)- _arg1OodbcFunction =- ({-# LINE 177 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 12244 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 210, column 9)- _opNameOtpe =- ({-# LINE 210 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Left []- {-# LINE 12250 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 364, column 10)- _tpe =- ({-# LINE 364 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- fmap snd _ttpe- {-# LINE 12256 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 425, column 10)- _ttpe =- ({-# LINE 425 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- tcAppLike (tcfDialect _lhsIflags)- _lhsIcat (nameComponents _opNameIoriginalTree) (getMaybeIntsFromLiterals [_arg0IoriginalTree,_arg1IoriginalTree])- [_arg0IupType,_arg1IupType]- {-# LINE 12264 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 428, column 10)- (_arg0OexpectedType,_arg1OexpectedType) =- ({-# LINE 428 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- case _ttpe of- Right ([t0,t1],_) -> (Just t0,Just t1)- _ -> (Nothing,Nothing)- {-# LINE 12272 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 458, column 9)- _arg0OexpectedCast =- ({-# LINE 458 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 12278 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 459, column 9)- _arg1OexpectedCast =- ({-# LINE 459 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 12284 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- BinaryOp _annIannotatedTree _opNameIannotatedTree _arg0IannotatedTree _arg1IannotatedTree- {-# LINE 12290 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- BinaryOp _annIoriginalTree _opNameIoriginalTree _arg0IoriginalTree _arg1IoriginalTree- {-# LINE 12296 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 12302 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 12308 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 12314 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 12320 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _opNameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 12326 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _opNameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 12332 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _opNameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 12338 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _arg0OassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 12344 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _arg0Ocat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 12350 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _arg0OdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 12356 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _arg0Oflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 12362 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _arg0OimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 12368 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _arg1OassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 12374 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _arg1Ocat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 12380 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _arg1OdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 12386 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _arg1Oflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 12392 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _arg1OimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 12398 "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])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 12470 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 12476 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 12482 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 12488 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 12499 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 12505 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 210, column 9)- _opNameOtpe =- ({-# LINE 210 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Left []- {-# LINE 12511 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 364, column 10)- _tpe =- ({-# LINE 364 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- fmap snd _ttpe- {-# LINE 12517 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 439, column 10)- _ttpe =- ({-# LINE 439 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- tcAppLike (tcfDialect _lhsIflags) _lhsIcat (nameComponents _opNameIoriginalTree) (getMaybeIntsFromLiterals _argsIoriginalTree) _argsIupTypes- {-# LINE 12523 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 440, column 10)- _argsOexpectedTypes =- ({-# LINE 440 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const []) id $ fmap fst _ttpe- {-# LINE 12529 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 454, column 9)- _argsOexpectedCast =- ({-# LINE 454 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 12535 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SpecialOp _annIannotatedTree _opNameIannotatedTree _argsIannotatedTree- {-# LINE 12541 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SpecialOp _annIoriginalTree _opNameIoriginalTree _argsIoriginalTree- {-# LINE 12547 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 12553 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 12559 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 12565 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 12571 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _opNameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 12577 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _opNameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 12583 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _opNameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 12589 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argsOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 12595 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 12601 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argsOdownEnv =- ({-# LINE 189 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 12607 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 12613 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 12619 "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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 12683 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 12689 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 12695 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 12701 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 12712 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 12718 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 171, column 15)- _eOodbcFunction =- ({-# LINE 171 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 12724 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 284, column 9)- _tpe =- ({-# LINE 284 "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 12736 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 292, column 9)- _eOexpectedType =- ({-# LINE 292 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- do- x <- _eIupType- either (const Nothing)- (Just . TypeExtra (teType x) Nothing Nothing . teNullable)- _tpe- {-# LINE 12746 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 298, column 9)- _eOexpectedCast =- ({-# LINE 298 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 12752 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Extract _annIannotatedTree field_ _eIannotatedTree- {-# LINE 12758 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Extract _annIoriginalTree field_ _eIoriginalTree- {-# LINE 12764 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 12770 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 12776 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 12782 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 12788 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _eOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 12794 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _eOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 12800 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _eOdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 12806 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _eOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 12812 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _eOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 12818 "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])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 12886 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 12892 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 12898 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 12904 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 12915 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 12921 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 208, column 9)- _funNameOtpe =- ({-# LINE 208 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Left []- {-# LINE 12927 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 364, column 10)- _tpe =- ({-# LINE 364 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- fmap snd _ttpe- {-# LINE 12933 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 366, column 10)- _argsOexpectedTypes =- ({-# LINE 366 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const []) id $ fmap fst _ttpe- {-# LINE 12939 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 380, column 10)- _funName =- ({-# LINE 380 "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 12953 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 403, column 10)- _ttpe =- ({-# LINE 403 "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 12976 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 454, column 9)- _argsOexpectedCast =- ({-# LINE 454 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 12982 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- App _annIannotatedTree _funNameIannotatedTree _argsIannotatedTree- {-# LINE 12988 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- App _annIoriginalTree _funNameIoriginalTree _argsIoriginalTree- {-# LINE 12994 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 13000 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 13006 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 13012 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 13018 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _funNameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 13024 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _funNameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 13030 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _funNameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 13036 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argsOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 13042 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 13048 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argsOdownEnv =- ({-# LINE 189 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 13054 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 13060 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 13066 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 13137 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 13143 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 13149 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 13155 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 13166 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 13172 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 178, column 20)- _fnOodbcFunction =- ({-# LINE 178 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 13178 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 442, column 10)- _tpe =- ({-# LINE 442 "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 13187 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 461, column 9)- _fnOexpectedCast =- ({-# LINE 461 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 13193 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 752, column 28)- _fnOexpectedType =- ({-# LINE 752 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Nothing- {-# LINE 13199 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AggregateApp _annIannotatedTree aggDistinct_ _fnIannotatedTree _orderByIannotatedTree- {-# LINE 13205 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AggregateApp _annIoriginalTree aggDistinct_ _fnIoriginalTree _orderByIoriginalTree- {-# LINE 13211 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 13217 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 13223 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 13229 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 13235 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fnOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 13241 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fnOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 13247 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fnOdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 13253 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fnOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 13259 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fnOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 13265 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _orderByOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 13271 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _orderByOdownEnv =- ({-# LINE 215 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIdownEnv- {-# LINE 13277 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _orderByOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 13283 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _orderByOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 13289 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 13371 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 13377 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 13383 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 13389 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 13400 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 13406 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 179, column 17)- _fnOodbcFunction =- ({-# LINE 179 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 13412 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 448, column 10)- _tpe =- ({-# LINE 448 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right _fnIupType- {-# LINE 13418 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 461, column 9)- _fnOexpectedCast =- ({-# LINE 461 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 13424 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 464, column 9)- _partitionByOexpectedCast =- ({-# LINE 464 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 13430 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 752, column 28)- _fnOexpectedType =- ({-# LINE 752 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Nothing- {-# LINE 13436 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 774, column 15)- _partitionByOexpectedTypes =- ({-# LINE 774 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- []- {-# LINE 13442 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- WindowApp _annIannotatedTree _fnIannotatedTree _partitionByIannotatedTree _orderByIannotatedTree frm_- {-# LINE 13448 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- WindowApp _annIoriginalTree _fnIoriginalTree _partitionByIoriginalTree _orderByIoriginalTree frm_- {-# LINE 13454 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 13460 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 13466 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 13472 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 13478 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fnOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 13484 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fnOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 13490 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fnOdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 13496 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fnOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 13502 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fnOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 13508 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _partitionByOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 13514 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _partitionByOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 13520 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _partitionByOdownEnv =- ({-# LINE 189 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 13526 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _partitionByOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 13532 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _partitionByOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 13538 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _orderByOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 13544 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _orderByOdownEnv =- ({-# LINE 215 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIdownEnv- {-# LINE 13550 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _orderByOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 13556 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _orderByOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 13562 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 13634 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 13640 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 13646 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 13652 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 13663 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 13669 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 172, column 12)- _exprOodbcFunction =- ({-# LINE 172 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 13675 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 272, column 10)- _tpe =- ({-# LINE 272 "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 13683 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 276, column 10)- _exprOexpectedType =- ({-# LINE 276 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Nothing- {-# LINE 13689 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 277, column 10)- _exprOexpectedCast =- ({-# LINE 277 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 13695 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Cast _annIannotatedTree _exprIannotatedTree _tnIannotatedTree- {-# LINE 13701 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Cast _annIoriginalTree _exprIoriginalTree _tnIoriginalTree- {-# LINE 13707 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 13713 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 13719 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 13725 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 13731 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 13737 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 13743 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 13749 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 13755 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 13761 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tnOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 13767 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tnOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 13773 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tnOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 13779 "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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 13843 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 13849 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 13855 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 13861 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 13872 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 13878 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 173, column 20)- _exprOodbcFunction =- ({-# LINE 173 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 13884 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 279, column 9)- _tpe =- ({-# LINE 279 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Right te_- {-# LINE 13890 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 280, column 9)- _exprOexpectedType =- ({-# LINE 280 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Nothing- {-# LINE 13896 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ImplicitCast _annIannotatedTree _exprIannotatedTree te_- {-# LINE 13902 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ImplicitCast _annIoriginalTree _exprIoriginalTree te_- {-# LINE 13908 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 13914 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 13920 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 13926 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 13932 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 13938 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 13944 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 13950 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOexpectedCast =- ({-# LINE 111 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIexpectedCast- {-# LINE 13956 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 13962 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 13968 "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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 14039 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 14045 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 14051 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 14057 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 14068 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 14074 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 558, column 9)- _whenTypes =- ({-# LINE 558 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _casesIwhenTypes- {-# LINE 14080 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 559, column 9)- _thenTypes =- ({-# LINE 559 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _casesIthenTypes ++ maybe [] ((:[]) . Just) _elsIupType- {-# LINE 14086 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 561, column 9)- _tpe =- ({-# LINE 561 "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 14101 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 573, column 9)- _casesOwhenExpectedType =- ({-# LINE 573 "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 14111 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 579, column 9)- _casesOthenExpectedType =- ({-# LINE 579 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 14117 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 580, column 9)- _elsOexpectedType =- ({-# LINE 580 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 14123 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 581, column 9)- _elsOexpectedCast =- ({-# LINE 581 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- True- {-# LINE 14129 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Case _annIannotatedTree _casesIannotatedTree _elsIannotatedTree- {-# LINE 14135 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Case _annIoriginalTree _casesIoriginalTree _elsIoriginalTree- {-# LINE 14141 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 14147 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 14153 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 14159 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 14165 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _casesOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 14171 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _casesOdownEnv =- ({-# LINE 553 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 14177 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _casesOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 14183 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _casesOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 14189 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _elsOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 14195 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _elsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 14201 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _elsOdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 14207 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _elsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 14213 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _elsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 14219 "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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 14305 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 14311 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 14317 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 14323 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 14334 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 14340 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 174, column 18)- _valueOodbcFunction =- ({-# LINE 174 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 14346 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 558, column 9)- _whenTypes =- ({-# LINE 558 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _casesIwhenTypes- {-# LINE 14352 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 559, column 9)- _thenTypes =- ({-# LINE 559 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _casesIthenTypes ++ maybe [] ((:[]) . Just) _elsIupType- {-# LINE 14358 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 583, column 9)- _whent =- ({-# LINE 583 "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 14367 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 588, column 9)- _tpe =- ({-# LINE 588 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- do- _ <- _whent- tt <- mapM (maybe (Left []) Right) _thenTypes- resolveResultSetTypeExtra _lhsIcat tt- {-# LINE 14376 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 593, column 9)- _casesOwhenExpectedType =- ({-# LINE 593 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _whent- {-# LINE 14382 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 594, column 9)- _valueOexpectedType =- ({-# LINE 594 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _whent- {-# LINE 14388 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 595, column 9)- _valueOexpectedCast =- ({-# LINE 595 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 14394 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 596, column 9)- _casesOthenExpectedType =- ({-# LINE 596 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 14400 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 597, column 9)- _elsOexpectedType =- ({-# LINE 597 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 14406 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 598, column 9)- _elsOexpectedCast =- ({-# LINE 598 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- True- {-# LINE 14412 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CaseSimple _annIannotatedTree _valueIannotatedTree _casesIannotatedTree _elsIannotatedTree- {-# LINE 14418 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CaseSimple _annIoriginalTree _valueIoriginalTree _casesIoriginalTree _elsIoriginalTree- {-# LINE 14424 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 14430 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 14436 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 14442 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 14448 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _valueOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 14454 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _valueOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 14460 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _valueOdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 14466 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _valueOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 14472 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _valueOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 14478 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _casesOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 14484 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _casesOdownEnv =- ({-# LINE 553 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 14490 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _casesOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 14496 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _casesOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 14502 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _elsOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 14508 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _elsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 14514 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _elsOdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 14520 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _elsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 14526 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _elsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 14532 "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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 14597 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 14603 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 14609 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 14615 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 14626 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 14632 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 181, column 14)- _exOodbcFunction =- ({-# LINE 181 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 14638 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 614, column 5)- _tpe =- ({-# LINE 614 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right _exIupType- {-# LINE 14644 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Parens _annIannotatedTree _exIannotatedTree- {-# LINE 14650 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Parens _annIoriginalTree _exIoriginalTree- {-# LINE 14656 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 14662 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 14668 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 14674 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 14680 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 14686 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 14692 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 14698 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOexpectedCast =- ({-# LINE 111 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIexpectedCast- {-# LINE 14704 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOexpectedType =- ({-# LINE 110 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIexpectedType- {-# LINE 14710 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 14716 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 14722 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 14795 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 14801 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 14807 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 14813 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 14824 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 14830 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 180, column 19)- _exprOodbcFunction =- ({-# LINE 180 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 14836 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 668, column 9)- _rt =- ({-# LINE 668 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- do- lt <- _listIlistType- expt <- maybe (Left []) Right _exprIupType- resolveResultSetTypeExtra _lhsIcat [expt, lt]- {-# LINE 14845 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 672, column 9)- _tpe =- ({-# LINE 672 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- do- r <- _rt- bt <- ScalarType <$> _dialectTypeName "boolean"- return $ TypeExtra bt Nothing Nothing $ teNullable r- {-# LINE 14854 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 676, column 9)- _listOexpectedType =- ({-# LINE 676 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _rt- {-# LINE 14860 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 677, column 9)- _exprOexpectedType =- ({-# LINE 677 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _rt- {-# LINE 14866 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- InPredicate _annIannotatedTree _exprIannotatedTree i_ _listIannotatedTree- {-# LINE 14872 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- InPredicate _annIoriginalTree _exprIoriginalTree i_ _listIoriginalTree- {-# LINE 14878 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 14884 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 14890 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 14896 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 14902 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 14908 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 14914 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 14920 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOexpectedCast =- ({-# LINE 111 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIexpectedCast- {-# LINE 14926 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 14932 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 14938 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _listOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 14944 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _listOdownEnv =- ({-# LINE 215 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIdownEnv- {-# LINE 14950 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _listOexpectedCast =- ({-# LINE 661 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIexpectedCast- {-# LINE 14956 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _listOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 14962 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _listOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 14968 "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)])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 15028 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 15034 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 15040 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 15046 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 15057 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 15063 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 627, column 9)- _tpe =- ({-# LINE 627 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- (mkTypeExtraNN . ScalarType) <$> (_dialectTypeName "boolean")- {-# LINE 15069 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 649, column 9)- _selOouterDownEnv =- ({-# LINE 649 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Just _lhsIdownEnv- {-# LINE 15075 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 651, column 9)- _selOexpectedType =- ({-# LINE 651 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- liftM (map snd) _selIupType- {-# LINE 15081 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Exists _annIannotatedTree _selIannotatedTree- {-# LINE 15087 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Exists _annIoriginalTree _selIoriginalTree- {-# LINE 15093 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 15099 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 15105 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 15111 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 15117 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 15123 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 15129 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 15135 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 15141 "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)])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 15199 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 15205 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 15211 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 15217 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 15228 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 15234 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 637, column 9)- _tpe =- ({-# LINE 637 "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 15246 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 647, column 9)- _selOouterDownEnv =- ({-# LINE 647 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Just _lhsIdownEnv- {-# LINE 15252 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 651, column 9)- _selOexpectedType =- ({-# LINE 651 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- liftM (map snd) _selIupType- {-# LINE 15258 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ScalarSubQuery _annIannotatedTree _selIannotatedTree- {-# LINE 15264 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ScalarSubQuery _annIoriginalTree _selIoriginalTree- {-# LINE 15270 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 15276 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 15282 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 15288 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 15294 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 15300 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 15306 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 15312 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 15318 "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])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 15385 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 15391 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 15397 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 15403 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 15414 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 15420 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 454, column 9)- _argsOexpectedCast =- ({-# LINE 454 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 15426 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 734, column 9)- _tpe =- ({-# LINE 734 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Left []- {-# LINE 15432 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 771, column 13)- _argsOexpectedTypes =- ({-# LINE 771 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- []- {-# LINE 15438 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- LiftApp _annIannotatedTree _operIannotatedTree flav_ _argsIannotatedTree- {-# LINE 15444 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- LiftApp _annIoriginalTree _operIoriginalTree flav_ _argsIoriginalTree- {-# LINE 15450 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 15456 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 15462 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 15468 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 15474 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _operOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 15480 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _operOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 15486 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _operOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 15492 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (from local)- _operOtpe =- ({-# LINE 46 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}- _tpe- {-# LINE 15498 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argsOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 15504 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 15510 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argsOdownEnv =- ({-# LINE 189 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 15516 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 15522 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 15528 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 15580 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 15586 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 15592 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 15598 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 15609 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 15615 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 306, column 10)- _tpe =- ({-# LINE 306 "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 15624 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- OdbcLiteral _annIannotatedTree olt_ val_- {-# LINE 15630 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- OdbcLiteral _annIoriginalTree olt_ val_- {-# LINE 15636 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 15642 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 15648 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 15654 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 15660 "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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)- _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 15719 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)- _annOtpe =- ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _tpe- {-# LINE 15725 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)- _upType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 15731 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)- _lhsOupType =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _upType- {-# LINE 15737 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)- _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 15748 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)- _dialectTypeName =- ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- maybe (Left []) Right . ansiTypeNameToDialect (tcfDialect _lhsIflags)- {-# LINE 15754 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 182, column 16)- _exOodbcFunction =- ({-# LINE 182 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- True- {-# LINE 15760 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 312, column 10)- _exOcat =- ({-# LINE 312 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- id _lhsIcat- {-# LINE 15766 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 313, column 10)- _tpe =- ({-# LINE 313 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- case _exIoriginalTree of- Extract {} -> maybe (Left []) Right _exIupType- App {} -> maybe (Left []) Right _exIupType- _ -> Left [OdbcFuncBadContent]- {-# LINE 15775 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- OdbcFunc _annIannotatedTree _exIannotatedTree- {-# LINE 15781 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- OdbcFunc _annIoriginalTree _exIoriginalTree- {-# LINE 15787 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 15793 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 15799 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 15805 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 15811 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 15817 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 15823 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOexpectedCast =- ({-# LINE 111 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIexpectedCast- {-# LINE 15829 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOexpectedType =- ({-# LINE 110 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIexpectedType- {-# LINE 15835 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 15841 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 15847 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 232, column 21)- _lhsOcolExprs =- ({-# LINE 232 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- [(Nmc "?anti?",Nothing,_originalTree)]- {-# LINE 15873 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 102, column 9)- _lhsOupType =- ({-# LINE 102 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 15879 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 734, column 9)- _tpe =- ({-# LINE 734 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Left []- {-# LINE 15885 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AntiScalarExpr string_- {-# LINE 15891 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AntiScalarExpr string_- {-# LINE 15897 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 15903 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 15909 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupType)))--- ScalarExprDirectionPair --------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- downEnv : Environment- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : ScalarExprDirectionPair - originalTree : ScalarExprDirectionPair - alternatives:- alternative Tuple:- child x1 : ScalarExpr - child x2 : {Direction}- child x3 : {NullsOrder}- visit 0:- local annotatedTree : _- local originalTree : _--}-type ScalarExprDirectionPair = ( ScalarExpr,(Direction),(NullsOrder))--- cata-_sem_ScalarExprDirectionPair :: ScalarExprDirectionPair ->- T_ScalarExprDirectionPair-_sem_ScalarExprDirectionPair ( x1,x2,x3) =- (_sem_ScalarExprDirectionPair_Tuple (_sem_ScalarExpr x1) x2 x3)--- semantic domain-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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 92, column 37)- _x1OexpectedCast =- ({-# LINE 92 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 15979 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 152, column 13)- _x1OodbcFunction =- ({-# LINE 152 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 15985 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 757, column 11)- _x1OexpectedType =- ({-# LINE 757 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Nothing- {-# LINE 15991 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 817, column 37)- _x1OassignmentCastContext =- ({-# LINE 817 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 15997 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (_x1IannotatedTree,x2_,x3_)- {-# LINE 16003 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (_x1IoriginalTree,x2_,x3_)- {-# LINE 16009 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 16015 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 16021 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x1Ocat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 16027 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x1OdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 16033 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x1Oflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 16039 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x1OimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 16045 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _x1IannotatedTree,_x1IcolExprs,_x1IoriginalTree,_x1IupType) =- x1_ _x1OassignmentCastContext _x1Ocat _x1OdownEnv _x1OexpectedCast _x1OexpectedType _x1Oflags _x1OimCast _x1OodbcFunction- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- ScalarExprDirectionPairList ----------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- downEnv : Environment- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : ScalarExprDirectionPairList - originalTree : ScalarExprDirectionPairList - alternatives:- alternative Cons:- child hd : ScalarExprDirectionPair - child tl : ScalarExprDirectionPairList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type ScalarExprDirectionPairList = [ScalarExprDirectionPair]--- cata-_sem_ScalarExprDirectionPairList :: ScalarExprDirectionPairList ->- T_ScalarExprDirectionPairList-_sem_ScalarExprDirectionPairList list =- (Prelude.foldr _sem_ScalarExprDirectionPairList_Cons _sem_ScalarExprDirectionPairList_Nil (Prelude.map _sem_ScalarExprDirectionPair list))--- semantic domain-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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 16119 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 16125 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 16131 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 16137 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 16143 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOdownEnv =- ({-# LINE 215 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIdownEnv- {-# LINE 16149 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 16155 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 16161 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 16167 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOdownEnv =- ({-# LINE 215 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIdownEnv- {-# LINE 16173 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 16179 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 16185 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 16204 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 16210 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 16216 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 16222 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- ScalarExprList -----------------------------------------------{-- visit 0:- inherited attributes:- assignmentCastContext : Bool- cat : Catalog- downEnv : Environment- expectedCast : Bool- expectedTypes : [TypeExtra]- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : ScalarExprList - originalTree : ScalarExprList - upTypes : [Maybe TypeExtra]- alternatives:- alternative Cons:- child hd : ScalarExpr - child tl : ScalarExprList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type ScalarExprList = [ScalarExpr]--- cata-_sem_ScalarExprList :: ScalarExprList ->- T_ScalarExprList-_sem_ScalarExprList list =- (Prelude.foldr _sem_ScalarExprList_Cons _sem_ScalarExprList_Nil (Prelude.map _sem_ScalarExpr list))--- semantic domain-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])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 155, column 12)- _hdOodbcFunction =- ({-# LINE 155 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 16315 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 196, column 9)- _lhsOupTypes =- ({-# LINE 196 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _hdIupType : _tlIupTypes- {-# LINE 16321 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 197, column 9)- (_hdOexpectedType,_tlOexpectedTypes) =- ({-# LINE 197 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- case _lhsIexpectedTypes of- (x:xs) -> (Just x,xs)- [] -> (Nothing,[])- {-# LINE 16329 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 201, column 9)- _hdOexpectedCast =- ({-# LINE 201 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIexpectedCast- {-# LINE 16335 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 16341 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 16347 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 16353 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 16359 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 16365 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 16371 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 16377 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 16383 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 16389 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 16395 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 16401 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOdownEnv =- ({-# LINE 189 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 16407 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOexpectedCast =- ({-# LINE 192 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIexpectedCast- {-# LINE 16413 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 16419 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 16425 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 202, column 11)- _lhsOupTypes =- ({-# LINE 202 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- []- {-# LINE 16448 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 16454 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 16460 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 16466 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 16472 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupTypes)))--- ScalarExprListList -------------------------------------------{-- visit 0:- inherited attributes:- assignmentCastContext : Bool- cat : Catalog- downEnv : Environment- expectedCast : Bool- expectedType : Maybe [TypeExtra]- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : ScalarExprListList - originalTree : ScalarExprListList - upType : Either [TypeError] [(Text,TypeExtra)]- alternatives:- alternative Cons:- child hd : ScalarExprTransposedList - child tl : ScalarExprListList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type ScalarExprListList = [ScalarExprTransposedList]--- cata-_sem_ScalarExprListList :: ScalarExprListList ->- T_ScalarExprListList-_sem_ScalarExprListList list =- (Prelude.foldr _sem_ScalarExprListList_Cons _sem_ScalarExprListList_Nil (Prelude.map _sem_ScalarExprTransposedList list))--- semantic domain-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)])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 191, column 9)- _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 16576 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 209, column 9)- _hdOexpectedCast =- ({-# LINE 209 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIexpectedCast- {-# LINE 16582 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 210, column 9)- _tlOexpectedCast =- ({-# LINE 210 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIexpectedCast- {-# LINE 16588 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 16594 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 16600 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 16606 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 16612 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 16618 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOexpectedType =- ({-# LINE 169 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIexpectedType- {-# LINE 16624 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 16630 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 16636 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 16642 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 16648 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOdownEnv =- ({-# LINE 183 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIdownEnv- {-# LINE 16654 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOexpectedType =- ({-# LINE 186 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIexpectedType- {-# LINE 16660 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 16666 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 16672 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 211, column 11)- _lhsOupType =- ({-# LINE 211 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- Right []- {-# LINE 16695 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 16701 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 16707 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 16713 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 16719 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupType)))--- ScalarExprListStatementListTriple ----------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : ScalarExprListStatementListTriple - originalTree : ScalarExprListStatementListTriple - alternatives:- alternative Tuple:- child x1 : ScalarExprList - child x2 : StatementList - visit 0:- local annotatedTree : _- local originalTree : _--}-type ScalarExprListStatementListTriple = ( ScalarExprList,StatementList)--- cata-_sem_ScalarExprListStatementListTriple :: ScalarExprListStatementListTriple ->- T_ScalarExprListStatementListTriple-_sem_ScalarExprListStatementListTriple ( x1,x2) =- (_sem_ScalarExprListStatementListTriple_Tuple (_sem_ScalarExprList x1) (_sem_StatementList x2))--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 93, column 47)- _x1OdownEnv =- ({-# LINE 93 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 16787 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 94, column 47)- _x1OexpectedCast =- ({-# LINE 94 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 16793 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 95, column 47)- _x1OexpectedTypes =- ({-# LINE 95 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- []- {-# LINE 16799 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 818, column 47)- _x1OassignmentCastContext =- ({-# LINE 818 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 16805 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (_x1IannotatedTree,_x2IannotatedTree)- {-# LINE 16811 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (_x1IoriginalTree,_x2IoriginalTree)- {-# LINE 16817 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 16823 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 16829 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x1Ocat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 16835 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x1Oflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 16841 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x1OimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 16847 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x2Ocat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 16853 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x2Oflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 16859 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x2OimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 16865 "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)))--- ScalarExprListStatementListTripleList ------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : ScalarExprListStatementListTripleList - originalTree : ScalarExprListStatementListTripleList - alternatives:- alternative Cons:- child hd : ScalarExprListStatementListTriple - child tl : ScalarExprListStatementListTripleList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type ScalarExprListStatementListTripleList = [ScalarExprListStatementListTriple]--- cata-_sem_ScalarExprListStatementListTripleList :: ScalarExprListStatementListTripleList ->- T_ScalarExprListStatementListTripleList-_sem_ScalarExprListStatementListTripleList list =- (Prelude.foldr _sem_ScalarExprListStatementListTripleList_Cons _sem_ScalarExprListStatementListTripleList_Nil (Prelude.map _sem_ScalarExprListStatementListTriple list))--- semantic domain-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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 16936 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 16942 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 16948 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 16954 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 16960 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 16966 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 16972 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 16978 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 16984 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 16990 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 17008 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 17014 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 17020 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 17026 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- ScalarExprRoot -----------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- downEnv : Environment- flags : TypeCheckFlags- synthesized attributes:- annotatedTree : ScalarExprRoot - originalTree : ScalarExprRoot - alternatives:- alternative ScalarExprRoot:- child expr : ScalarExpr - visit 0:- local annotatedTree : _- local originalTree : _--}-data ScalarExprRoot = ScalarExprRoot (ScalarExpr)- deriving ( Show)--- cata-_sem_ScalarExprRoot :: ScalarExprRoot ->- T_ScalarExprRoot-_sem_ScalarExprRoot (ScalarExprRoot _expr) =- (_sem_ScalarExprRoot_ScalarExprRoot (_sem_ScalarExpr _expr))--- semantic domain-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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 96, column 37)- _exprOexpectedCast =- ({-# LINE 96 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 17090 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 158, column 22)- _exprOodbcFunction =- ({-# LINE 158 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 17096 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 236, column 9)- _exprOdownEnv =- ({-# LINE 236 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 17102 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 740, column 20)- _exprOexpectedType =- ({-# LINE 740 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- Nothing- {-# LINE 17108 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 819, column 37)- _exprOassignmentCastContext =- ({-# LINE 819 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 17114 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag"(line 136, column 8)- _exprOimCast =- ({-# LINE 136 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Nothing- {-# LINE 17120 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ScalarExprRoot _exprIannotatedTree- {-# LINE 17126 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ScalarExprRoot _exprIoriginalTree- {-# LINE 17132 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 17138 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 17144 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 17150 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 17156 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _exprIannotatedTree,_exprIcolExprs,_exprIoriginalTree,_exprIupType) =- expr_ _exprOassignmentCastContext _exprOcat _exprOdownEnv _exprOexpectedCast _exprOexpectedType _exprOflags _exprOimCast _exprOodbcFunction- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- ScalarExprStatementListPair ----------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : ScalarExprStatementListPair - originalTree : ScalarExprStatementListPair - alternatives:- alternative Tuple:- child x1 : ScalarExpr - child x2 : StatementList - visit 0:- local annotatedTree : _- local originalTree : _--}-type ScalarExprStatementListPair = ( ScalarExpr,StatementList)--- cata-_sem_ScalarExprStatementListPair :: ScalarExprStatementListPair ->- T_ScalarExprStatementListPair-_sem_ScalarExprStatementListPair ( x1,x2) =- (_sem_ScalarExprStatementListPair_Tuple (_sem_ScalarExpr x1) (_sem_StatementList x2))--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 97, column 41)- _x1OdownEnv =- ({-# LINE 97 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 17228 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 98, column 41)- _x1OexpectedCast =- ({-# LINE 98 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 17234 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 99, column 41)- _x1OexpectedType =- ({-# LINE 99 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 17240 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 100, column 41)- _x1OodbcFunction =- ({-# LINE 100 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 17246 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 820, column 41)- _x1OassignmentCastContext =- ({-# LINE 820 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 17252 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (_x1IannotatedTree,_x2IannotatedTree)- {-# LINE 17258 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (_x1IoriginalTree,_x2IoriginalTree)- {-# LINE 17264 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 17270 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 17276 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x1Ocat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 17282 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x1Oflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 17288 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x1OimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 17294 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x2Ocat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 17300 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x2Oflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 17306 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _x2OimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 17312 "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)))--- ScalarExprStatementListPairList ------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : ScalarExprStatementListPairList - originalTree : ScalarExprStatementListPairList - alternatives:- alternative Cons:- child hd : ScalarExprStatementListPair - child tl : ScalarExprStatementListPairList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type ScalarExprStatementListPairList = [ScalarExprStatementListPair]--- cata-_sem_ScalarExprStatementListPairList :: ScalarExprStatementListPairList ->- T_ScalarExprStatementListPairList-_sem_ScalarExprStatementListPairList list =- (Prelude.foldr _sem_ScalarExprStatementListPairList_Cons _sem_ScalarExprStatementListPairList_Nil (Prelude.map _sem_ScalarExprStatementListPair list))--- semantic domain-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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 17383 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 17389 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 17395 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 17401 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 17407 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 17413 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 17419 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 17425 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 17431 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 17437 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 17455 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 17461 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 17467 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 17473 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- ScalarExprTransposedList -------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- expectedCast : Bool- expectedType : Maybe [TypeExtra]- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : ScalarExprTransposedList - originalTree : ScalarExprTransposedList - upType : Maybe [TypeExtra]- alternatives:- alternative Cons:- child hd : ScalarExpr - child tl : ScalarExprTransposedList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type ScalarExprTransposedList = [ScalarExpr]--- cata-_sem_ScalarExprTransposedList :: ScalarExprTransposedList ->- T_ScalarExprTransposedList-_sem_ScalarExprTransposedList list =- (Prelude.foldr _sem_ScalarExprTransposedList_Cons _sem_ScalarExprTransposedList_Nil (Prelude.map _sem_ScalarExpr list))--- semantic domain-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])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 101, column 37)- _hdOdownEnv =- ({-# LINE 101 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 17558 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 174, column 9)- _lhsOupType =- ({-# LINE 174 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- liftM2 (:) _hdIupType _tlIupType- {-# LINE 17564 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 175, column 9)- _hdOexpectedType =- ({-# LINE 175 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- liftM fst $ splitTypeExtraList _lhsIexpectedType- {-# LINE 17570 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 176, column 9)- _tlOexpectedType =- ({-# LINE 176 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- liftM snd $ splitTypeExtraList _lhsIexpectedType- {-# LINE 17576 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 177, column 9)- _hdOexpectedCast =- ({-# LINE 177 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIexpectedCast- {-# LINE 17582 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 178, column 9)- _tlOexpectedCast =- ({-# LINE 178 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIexpectedCast- {-# LINE 17588 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 162, column 12)- _hdOodbcFunction =- ({-# LINE 162 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 17594 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 821, column 37)- _hdOassignmentCastContext =- ({-# LINE 821 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 17600 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 17606 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 17612 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 17618 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 17624 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 17630 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 17636 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 17642 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 17648 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 17654 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 17660 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 180, column 9)- _lhsOupType =- ({-# LINE 180 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- Just []- {-# LINE 17681 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 17687 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 17693 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 17699 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 17705 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupType)))--- SelectItem ---------------------------------------------------{-- visit 0:- inherited attributes:- assignmentCastContext : Bool- cat : Catalog- downEnv : Environment- expectedCast : Bool- expectedType : Maybe TypeExtra- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : SelectItem - colExprs : [(NameComponent,Maybe TypeExtra,ScalarExpr)]- originalTree : SelectItem - alternatives:- alternative SelExp:- child ann : Annotation - child ex : ScalarExpr - visit 0:- local annotatedTree : _- local originalTree : _- alternative SelectItem:- child ann : Annotation - child ex : ScalarExpr - child name : {NameComponent}- visit 0:- local annotatedTree : _- local originalTree : _--}-data SelectItem = SelExp (Annotation) (ScalarExpr)- | SelectItem (Annotation) (ScalarExpr) (NameComponent)- deriving ( Data,Eq,Show,Typeable)--- cata-_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)--- semantic domain-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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 117, column 7)- _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 17806 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 208, column 7)- _annOtpe =- ({-# LINE 208 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- Left []- {-# LINE 17812 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 209, column 7)- _exOexpectedType =- ({-# LINE 209 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- _lhsIexpectedType- {-# LINE 17818 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 210, column 7)- _exOexpectedCast =- ({-# LINE 210 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- _lhsIexpectedCast- {-# LINE 17824 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 165, column 25)- _exOodbcFunction =- ({-# LINE 165 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 17830 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SelExp _annIannotatedTree _exIannotatedTree- {-# LINE 17836 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SelExp _annIoriginalTree _exIoriginalTree- {-# LINE 17842 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 17848 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (up)- _lhsOcolExprs =- ({-# LINE 150 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- _exIcolExprs- {-# LINE 17854 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 17860 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 17866 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 17872 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 17878 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 17884 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 17890 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 17896 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 17902 "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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 112, column 7)- _lhsOcolExprs =- ({-# LINE 112 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- case _exIcolExprs of- [(_,t,e)] -> [(name_, t,e)]- x -> x- {-# LINE 17948 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 208, column 7)- _annOtpe =- ({-# LINE 208 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- Left []- {-# LINE 17954 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 209, column 7)- _exOexpectedType =- ({-# LINE 209 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- _lhsIexpectedType- {-# LINE 17960 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 210, column 7)- _exOexpectedCast =- ({-# LINE 210 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- _lhsIexpectedCast- {-# LINE 17966 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 165, column 25)- _exOodbcFunction =- ({-# LINE 165 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 17972 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SelectItem _annIannotatedTree _exIannotatedTree name_- {-# LINE 17978 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SelectItem _annIoriginalTree _exIoriginalTree name_- {-# LINE 17984 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 17990 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 17996 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 18002 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 18008 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 18014 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 18020 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 18026 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOdownEnv =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIdownEnv- {-# LINE 18032 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 18038 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 18044 "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)))--- SelectItemList -----------------------------------------------{-- visit 0:- inherited attributes:- assignmentCastContext : Bool- cat : Catalog- downEnv : Environment- expectedCast : Bool- expectedType : Maybe [TypeExtra]- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : SelectItemList - colExprs : [(NameComponent,Maybe TypeExtra,ScalarExpr)]- originalTree : SelectItemList - upEnv : Environment- upType : Maybe [(Text,TypeExtra)]- alternatives:- alternative Cons:- child hd : SelectItem - child tl : SelectItemList - visit 0:- local colExprs : _- local upType : _- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local upType : _- local annotatedTree : _- local originalTree : _--}-type SelectItemList = [SelectItem]--- cata-_sem_SelectItemList :: SelectItemList ->- T_SelectItemList-_sem_SelectItemList list =- (Prelude.foldr _sem_SelectItemList_Cons _sem_SelectItemList_Nil (Prelude.map _sem_SelectItem list))--- semantic domain-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)])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 132, column 10)- _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 18153 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 177, column 9)- _colExprs =- ({-# LINE 177 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- _hdIcolExprs ++ _tlIcolExprs- {-# LINE 18159 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 178, column 9)- _lhsOcolExprs =- ({-# LINE 178 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- _colExprs- {-# LINE 18165 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 179, column 9)- _upType =- ({-# LINE 179 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- sequence $ flip map _colExprs- $ \(n,t,_) -> fmap (ncStrT n,) t- {-# LINE 18172 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 181, column 9)- _hdOexpectedType =- ({-# LINE 181 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- liftM fst $ splitTypeExtraList _lhsIexpectedType- {-# LINE 18178 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 182, column 9)- _tlOexpectedType =- ({-# LINE 182 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- liftM snd $ splitTypeExtraList _lhsIexpectedType- {-# LINE 18184 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 183, column 9)- _hdOexpectedCast =- ({-# LINE 183 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- _lhsIexpectedCast- {-# LINE 18190 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 184, column 9)- _tlOexpectedCast =- ({-# LINE 184 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- _lhsIexpectedCast- {-# LINE 18196 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 186, column 7)- _lhsOupType =- ({-# LINE 186 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- _upType- {-# LINE 18202 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 187, column 7)- _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 18210 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 18216 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 18222 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 18228 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 18234 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 18240 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOdownEnv =- ({-# LINE 151 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- _lhsIdownEnv- {-# LINE 18246 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 18252 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 18258 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 18264 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 18270 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOdownEnv =- ({-# LINE 156 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- _lhsIdownEnv- {-# LINE 18276 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 18282 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 18288 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 131, column 9)- _lhsOannotatedTree =- ({-# LINE 131 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- []- {-# LINE 18313 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 174, column 9)- _lhsOcolExprs =- ({-# LINE 174 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- []- {-# LINE 18319 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 175, column 9)- _upType =- ({-# LINE 175 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- Nothing- {-# LINE 18325 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 186, column 7)- _lhsOupType =- ({-# LINE 186 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- _upType- {-# LINE 18331 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 187, column 7)- _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" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 18345 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 18351 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 18357 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOcolExprs,_lhsOoriginalTree,_lhsOupEnv,_lhsOupType)))--- SelectList ---------------------------------------------------{-- visit 0:- inherited attributes:- assignmentCastContext : Bool- cat : Catalog- downEnv : Environment- expectedCast : Bool- expectedType : Maybe [TypeExtra]- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : SelectList - colExprs : [(NameComponent,Maybe TypeExtra,ScalarExpr)]- originalTree : SelectList - upEnv : Environment- upType : Maybe [(Text,TypeExtra)]- alternatives:- alternative SelectList:- child ann : Annotation - child items : SelectItemList - visit 0:- local annotatedTree : _- local originalTree : _--}-data SelectList = SelectList (Annotation) (SelectItemList)- deriving ( Data,Eq,Show,Typeable)--- cata-_sem_SelectList :: SelectList ->- T_SelectList-_sem_SelectList (SelectList _ann _items) =- (_sem_SelectList_SelectList (_sem_Annotation _ann) (_sem_SelectItemList _items))--- semantic domain-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)])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 204, column 7)- _annOtpe =- ({-# LINE 204 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- Left []- {-# LINE 18447 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 205, column 7)- _itemsOexpectedCast =- ({-# LINE 205 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- True- {-# LINE 18453 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SelectList _annIannotatedTree _itemsIannotatedTree- {-# LINE 18459 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SelectList _annIoriginalTree _itemsIoriginalTree- {-# LINE 18465 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 18471 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 18477 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (up)- _lhsOcolExprs =- ({-# LINE 157 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- _itemsIcolExprs- {-# LINE 18483 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (up)- _lhsOupEnv =- ({-# LINE 161 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- _itemsIupEnv- {-# LINE 18489 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (up)- _lhsOupType =- ({-# LINE 158 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- _itemsIupType- {-# LINE 18495 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 18501 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 18507 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 18513 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _itemsOassignmentCastContext =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- _lhsIassignmentCastContext- {-# LINE 18519 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _itemsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 18525 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _itemsOdownEnv =- ({-# LINE 156 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- _lhsIdownEnv- {-# LINE 18531 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _itemsOexpectedType =- ({-# LINE 159 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}- _lhsIexpectedType- {-# LINE 18537 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _itemsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 18543 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _itemsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 18549 "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)))--- SetClause ----------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : SetClause - originalTree : SetClause - alternatives:- alternative SetClause:- child ann : Annotation - child setTarget : {NameComponent}- child ex : ScalarExpr - visit 0:- local annotatedTree : _- local originalTree : _- alternative MultiSetClause:- child ann : Annotation - child setTargets : {[NameComponent]}- child ex : ScalarExpr - visit 0:- local annotatedTree : _- local originalTree : _--}-data SetClause = SetClause (Annotation) (NameComponent) (ScalarExpr)- | MultiSetClause (Annotation) (([NameComponent])) (ScalarExpr)- deriving ( Data,Eq,Show,Typeable)--- cata-_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))--- semantic domain-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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 106, column 27)- _annOtpe =- ({-# LINE 106 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 18637 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 107, column 27)- _exOdownEnv =- ({-# LINE 107 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 18643 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 108, column 27)- _exOexpectedCast =- ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 18649 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 109, column 27)- _exOexpectedType =- ({-# LINE 109 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 18655 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 168, column 32)- _exOodbcFunction =- ({-# LINE 168 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 18661 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 823, column 27)- _exOassignmentCastContext =- ({-# LINE 823 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 18667 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SetClause _annIannotatedTree setTarget_ _exIannotatedTree- {-# LINE 18673 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SetClause _annIoriginalTree setTarget_ _exIoriginalTree- {-# LINE 18679 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 18685 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 18691 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 18697 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 18703 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 18709 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 18715 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 18721 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 18727 "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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 102, column 32)- _annOtpe =- ({-# LINE 102 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 18766 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 103, column 32)- _exOdownEnv =- ({-# LINE 103 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 18772 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 104, column 32)- _exOexpectedCast =- ({-# LINE 104 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 18778 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 105, column 32)- _exOexpectedType =- ({-# LINE 105 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 18784 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 168, column 32)- _exOodbcFunction =- ({-# LINE 168 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 18790 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 822, column 32)- _exOassignmentCastContext =- ({-# LINE 822 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 18796 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- MultiSetClause _annIannotatedTree setTargets_ _exIannotatedTree- {-# LINE 18802 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- MultiSetClause _annIoriginalTree setTargets_ _exIoriginalTree- {-# LINE 18808 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 18814 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 18820 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 18826 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 18832 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 18838 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 18844 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 18850 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _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)))--- SetClauseList ------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : SetClauseList - originalTree : SetClauseList - alternatives:- alternative Cons:- child hd : SetClause - child tl : SetClauseList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type SetClauseList = [SetClause]--- cata-_sem_SetClauseList :: SetClauseList ->- T_SetClauseList-_sem_SetClauseList list =- (Prelude.foldr _sem_SetClauseList_Cons _sem_SetClauseList_Nil (Prelude.map _sem_SetClause list))--- semantic domain-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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 18927 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 18933 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 18939 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 18945 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 18951 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 18957 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 18963 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 18969 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 18975 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 18981 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 18999 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 19005 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 19011 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 19017 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- Statement ----------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : Statement - originalTree : Statement - alternatives:- alternative QueryStatement:- child ann : Annotation - child ex : QueryExpr - visit 0:- local annotatedTree : _- local originalTree : _- alternative Insert:- child ann : Annotation - child table : Name - child targetCols : {[NameComponent]}- child insData : QueryExpr - child returning : MaybeSelectList - visit 0:- local tpe : {Either [TypeError] [TypeExtra]}- local tooManyCols : {Maybe [TypeError]}- local annotatedTree : _- local originalTree : _- alternative Update:- child ann : Annotation - child table : Name - child assigns : SetClauseList - child fromList : TableRefList - child whr : MaybeBoolExpr - child returning : MaybeSelectList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Delete:- child ann : Annotation - child table : Name - child using : TableRefList - child whr : MaybeBoolExpr - child returning : MaybeSelectList - visit 0:- local annotatedTree : _- local originalTree : _- alternative CopyFrom:- child ann : Annotation - child table : Name - child targetCols : {[NameComponent]}- child source : {CopyFromSource}- child opts : {[CopyFromOption]}- visit 0:- local annotatedTree : _- local originalTree : _- alternative CopyData:- child ann : Annotation - child insData : {String}- visit 0:- local annotatedTree : _- local originalTree : _- alternative CopyTo:- child ann : Annotation - child cp : {CopyToSource}- child fn : {String}- child opts : {[CopyToOption]}- visit 0:- local annotatedTree : _- local originalTree : _- alternative Truncate:- child ann : Annotation - child tables : {[Name]}- child restartIdentity : {RestartIdentity}- child cascade : {Cascade}- visit 0:- local annotatedTree : _- local originalTree : _- alternative CreateTable:- child ann : Annotation - child name : Name - child atts : AttributeDefList - child cons : ConstraintList - child partition : MaybeTablePartitionDef - child rep : {Replace}- visit 0:- local annotatedTree : _- local originalTree : _- alternative AlterTable:- child ann : Annotation - child name : Name - child operation : AlterTableOperation - visit 0:- local annotatedTree : _- local originalTree : _- alternative AlterDatabase:- child ann : Annotation - child name : Name - child operation : AlterDatabaseOperation - visit 0:- local annotatedTree : _- local originalTree : _- alternative CreateSequence:- child ann : Annotation - child name : Name - child incr : {Integer}- child min : {Maybe Integer}- child max : {Maybe Integer}- child start : {Integer}- child cache : {Integer}- visit 0:- local annotatedTree : _- local originalTree : _- alternative AlterSequence:- child ann : Annotation - child name : Name - child operation : AlterSequenceOperation - visit 0:- local annotatedTree : _- local originalTree : _- alternative CreateTableAs:- child ann : Annotation - child name : Name - child rep : {Replace}- child expr : QueryExpr - visit 0:- local annotatedTree : _- local originalTree : _- alternative CreateView:- child ann : Annotation - child name : Name - child colNames : {MaybeNameComponentList}- child expr : QueryExpr - visit 0:- local annotatedTree : _- local originalTree : _- alternative AlterView:- child ann : Annotation - child name : Name - child colNames : {MaybeNameComponentList}- child expr : QueryExpr - visit 0:- local annotatedTree : _- local originalTree : _- alternative CreateType:- child ann : Annotation - child name : Name - child atts : TypeAttributeDefList - visit 0:- local annotatedTree : _- local originalTree : _- alternative CreateUser:- child ann : Annotation - child name : Name - child password : {String}- visit 0:- local annotatedTree : _- local originalTree : _- alternative CreateLogin:- child ann : Annotation - child name : Name - child password : {String}- visit 0:- local annotatedTree : _- local originalTree : _- alternative AlterUser:- child ann : Annotation - child name : Name - child password : {String}- visit 0:- local annotatedTree : _- local originalTree : _- alternative AlterLogin:- child ann : Annotation - child name : Name - child password : {String}- visit 0:- local annotatedTree : _- local originalTree : _- alternative CreateSchema:- child ann : Annotation - child name : {NameComponent}- child owner : {Maybe Name}- visit 0:- local annotatedTree : _- local originalTree : _- alternative AlterSchema:- child ann : Annotation - child name : {NameComponent}- child operation : AlterSchemaOperation - visit 0:- local annotatedTree : _- local originalTree : _- alternative CreateFunction:- child ann : Annotation - child name : Name - child params : ParamDefList - child rettype : TypeName - child rep : {Replace}- child lang : {Language}- child body : FnBody - child vol : {Volatility}- visit 0:- local annotatedTree : _- local originalTree : _- alternative CreateDomain:- child ann : Annotation - child name : Name - child typ : TypeName - child constraintName : {String}- child check : MaybeBoolExpr - visit 0:- local annotatedTree : _- local originalTree : _- alternative CreateLanguage:- child ann : Annotation - child name : {String}- visit 0:- local annotatedTree : _- local originalTree : _- alternative CreateTrigger:- child ann : Annotation - child name : {NameComponent}- child wh : {TriggerWhen}- child events : {[TriggerEvent]}- child tbl : Name - child firing : {TriggerFire}- child fnName : Name - child fnArgs : ScalarExprList - visit 0:- local annotatedTree : _- local originalTree : _- alternative DropFunction:- child ann : Annotation - child ifE : {IfExists}- child sigs : NameTypeNameListPairList - child cascade : {Cascade}- visit 0:- local annotatedTree : _- local originalTree : _- alternative DropSomething:- child ann : Annotation - child dropType : {DropType}- child ifE : {IfExists}- child names : {[Name]}- child cascade : {Cascade}- visit 0:- local annotatedTree : _- local originalTree : _- alternative DropTrigger:- child ann : Annotation - child ifE : {IfExists}- child name : {NameComponent}- child tbl : Name - child cascade : {Cascade}- visit 0:- local annotatedTree : _- local originalTree : _- alternative CreateDatabase:- child ann : Annotation - child nm : Name - visit 0:- local annotatedTree : _- local originalTree : _- alternative Set:- child ann : Annotation - child name : {String}- child values : {[SetValue]}- visit 0:- local annotatedTree : _- local originalTree : _- alternative Notify:- child ann : Annotation - child name : {String}- visit 0:- local annotatedTree : _- local originalTree : _- alternative Into:- child ann : Annotation - child strict : {Bool}- child into : {[Name]}- child stmt : Statement - visit 0:- local annotatedTree : _- local originalTree : _- alternative Assignment:- child ann : Annotation - child target : Name - child value : ScalarExpr - visit 0:- local annotatedTree : _- local originalTree : _- alternative Return:- child ann : Annotation - child value : MaybeScalarExpr - visit 0:- local annotatedTree : _- local originalTree : _- alternative ReturnNext:- child ann : Annotation - child expr : ScalarExpr - visit 0:- local annotatedTree : _- local originalTree : _- alternative ReturnQuery:- child ann : Annotation - child sel : QueryExpr - visit 0:- local annotatedTree : _- local originalTree : _- alternative Raise:- child ann : Annotation - child level : {RaiseType}- child message : {String}- child args : ScalarExprList - visit 0:- local annotatedTree : _- local originalTree : _- alternative NullStatement:- child ann : Annotation - visit 0:- local annotatedTree : _- local originalTree : _- alternative Perform:- child ann : Annotation - child expr : ScalarExpr - visit 0:- local annotatedTree : _- local originalTree : _- alternative Execute:- child ann : Annotation - child expr : ScalarExpr - visit 0:- local annotatedTree : _- local originalTree : _- alternative ForQueryStatement:- child ann : Annotation - child lb : {Maybe String}- child var : {NameComponent}- child sel : QueryExpr - child sts : StatementList - visit 0:- local annotatedTree : _- local originalTree : _- alternative ForIntegerStatement:- child ann : Annotation - child lb : {Maybe String}- child var : {NameComponent}- child from : ScalarExpr - child to : ScalarExpr - child sts : StatementList - visit 0:- local annotatedTree : _- local originalTree : _- alternative LoopStatement:- child ann : Annotation - child lb : {Maybe String}- child sts : StatementList - visit 0:- local annotatedTree : _- local originalTree : _- alternative WhileStatement:- child ann : Annotation - child lb : {Maybe String}- child expr : ScalarExpr - child sts : StatementList - visit 0:- local annotatedTree : _- local originalTree : _- alternative ContinueStatement:- child ann : Annotation - child lb : {Maybe String}- visit 0:- local annotatedTree : _- local originalTree : _- alternative ExitStatement:- child ann : Annotation - child lb : {Maybe String}- visit 0:- local annotatedTree : _- local originalTree : _- alternative CaseStatementSimple:- child ann : Annotation - child val : ScalarExpr - child cases : ScalarExprListStatementListTripleList - child els : StatementList - visit 0:- local annotatedTree : _- local originalTree : _- alternative CaseStatement:- child ann : Annotation - child cases : ScalarExprListStatementListTripleList - child els : StatementList - visit 0:- local annotatedTree : _- local originalTree : _- alternative If:- child ann : Annotation - child cases : ScalarExprStatementListPairList - child els : StatementList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Block:- child ann : Annotation - child lb : {Maybe String}- child vars : VarDefList - child sts : StatementList - visit 0:- local annotatedTree : _- local originalTree : _- alternative AntiStatement:- child string : {String}- visit 0:- local annotatedTree : _- local originalTree : _- alternative DeclareStatement:- child ann : Annotation - child ds : {[(String,TypeName,Maybe ScalarExpr)]}- visit 0:- local annotatedTree : _- local originalTree : _- alternative ExecStatement:- child ann : Annotation - child spName : Name - child args : ScalarExprList - visit 0:- local annotatedTree : _- local originalTree : _- alternative CreateIndexTSQL:- child ann : Annotation - child nm : {NameComponent}- child obj : Name - child cols : {[NameComponent]}- visit 0:- local annotatedTree : _- local originalTree : _--}-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)- | 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) (NameComponent) ((Maybe Name))- | AlterSchema (Annotation) (NameComponent) (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)--- cata-_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) =- (_sem_Statement_CreateTable (_sem_Annotation _ann) (_sem_Name _name) (_sem_AttributeDefList _atts) (_sem_ConstraintList _cons) (_sem_MaybeTablePartitionDef _partition) _rep)-_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) _name _owner)-_sem_Statement (AlterSchema _ann _name _operation) =- (_sem_Statement_AlterSchema (_sem_Annotation _ann) _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)--- semantic domain-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)])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 13, column 5)- _annOtpe =- ({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}- Left []- {-# LINE 19671 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 16, column 5)- _exOexpectedType =- ({-# LINE 16 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}- liftM (map snd) _exIupType- {-# LINE 19677 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 91, column 20)- _exOouterDownEnv =- ({-# LINE 91 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- Nothing- {-# LINE 19683 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 837, column 32)- _exOassignmentCastContext =- ({-# LINE 837 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 19689 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- QueryStatement _annIannotatedTree _exIannotatedTree- {-# LINE 19695 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- QueryStatement _annIoriginalTree _exIoriginalTree- {-# LINE 19701 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 19707 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 19713 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 19719 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 19725 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 19731 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 19737 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 19743 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 19749 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 19, column 5)- _annOtpe =- ({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}- Left []- {-# LINE 19800 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 25, column 5)- _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 19819 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 44, column 5)- _tableOtpe =- ({-# LINE 44 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}- Left (either id (const []) _tpe- ++ maybe [] id _tooManyCols )- {-# LINE 19826 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 47, column 5)- _insDataOexpectedType =- ({-# LINE 47 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 19832 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 49, column 5)- _insDataOouterDownEnv =- ({-# LINE 49 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}- Nothing- {-# LINE 19838 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 54, column 5)- _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 19849 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 835, column 24)- _insDataOassignmentCastContext =- ({-# LINE 835 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 19855 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Insert _annIannotatedTree _tableIannotatedTree targetCols_ _insDataIannotatedTree _returningIannotatedTree- {-# LINE 19861 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Insert _annIoriginalTree _tableIoriginalTree targetCols_ _insDataIoriginalTree _returningIoriginalTree- {-# LINE 19867 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 19873 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 19879 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 19885 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 19891 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 19897 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tableOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 19903 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tableOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 19909 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tableOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 19915 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _insDataOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 19921 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _insDataOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 19927 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _insDataOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 19933 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _returningOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 19939 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _returningOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 19945 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _returningOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 19951 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 219, column 24)- _tableOtpe =- ({-# LINE 219 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 20013 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 220, column 24)- _whrOdownEnv =- ({-# LINE 220 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 20019 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 19, column 5)- _annOtpe =- ({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}- Left []- {-# LINE 20025 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Update _annIannotatedTree _tableIannotatedTree _assignsIannotatedTree _fromListIannotatedTree _whrIannotatedTree _returningIannotatedTree- {-# LINE 20031 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Update _annIoriginalTree _tableIoriginalTree _assignsIoriginalTree _fromListIoriginalTree _whrIoriginalTree _returningIoriginalTree- {-# LINE 20037 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 20043 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 20049 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20055 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20061 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20067 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tableOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20073 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tableOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20079 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tableOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20085 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _assignsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20091 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _assignsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20097 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _assignsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20103 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fromListOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20109 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fromListOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20115 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fromListOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20121 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _whrOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20127 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _whrOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20133 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _whrOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20139 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _returningOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20145 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _returningOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20151 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _returningOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20157 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 170, column 24)- _tableOtpe =- ({-# LINE 170 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 20217 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 171, column 24)- _whrOdownEnv =- ({-# LINE 171 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 20223 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 19, column 5)- _annOtpe =- ({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}- Left []- {-# LINE 20229 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Delete _annIannotatedTree _tableIannotatedTree _usingIannotatedTree _whrIannotatedTree _returningIannotatedTree- {-# LINE 20235 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Delete _annIoriginalTree _tableIoriginalTree _usingIoriginalTree _whrIoriginalTree _returningIoriginalTree- {-# LINE 20241 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 20247 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 20253 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20259 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20265 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20271 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tableOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20277 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tableOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20283 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tableOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20289 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _usingOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20295 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _usingOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20301 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _usingOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20307 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _whrOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20313 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _whrOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20319 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _whrOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20325 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _returningOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20331 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _returningOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20337 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _returningOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20343 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 137, column 26)- _tableOtpe =- ({-# LINE 137 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 20384 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 19, column 5)- _annOtpe =- ({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}- Left []- {-# LINE 20390 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CopyFrom _annIannotatedTree _tableIannotatedTree targetCols_ source_ opts_- {-# LINE 20396 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CopyFrom _annIoriginalTree _tableIoriginalTree targetCols_ source_ opts_- {-# LINE 20402 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 20408 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 20414 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20420 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20426 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20432 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tableOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20438 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tableOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20444 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tableOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20450 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 136, column 26)- _annOtpe =- ({-# LINE 136 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 20476 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CopyData _annIannotatedTree insData_- {-# LINE 20482 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CopyData _annIoriginalTree insData_- {-# LINE 20488 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 20494 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 20500 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20506 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20512 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20518 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 19, column 5)- _annOtpe =- ({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}- Left []- {-# LINE 20544 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CopyTo _annIannotatedTree cp_ fn_ opts_- {-# LINE 20550 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CopyTo _annIoriginalTree cp_ fn_ opts_- {-# LINE 20556 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 20562 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 20568 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20574 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20580 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20586 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 19, column 5)- _annOtpe =- ({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}- Left []- {-# LINE 20612 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Truncate _annIannotatedTree tables_ restartIdentity_ cascade_- {-# LINE 20618 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Truncate _annIoriginalTree tables_ restartIdentity_ cascade_- {-# LINE 20624 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 20630 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 20636 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20642 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20648 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20654 "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 ->- T_Statement-_sem_Statement_CreateTable ann_ name_ atts_ cons_ partition_ rep_ =- (\ _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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 152, column 29)- _annOtpe =- ({-# LINE 152 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 20703 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 153, column 29)- _nameOtpe =- ({-# LINE 153 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 20709 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateTable _annIannotatedTree _nameIannotatedTree _attsIannotatedTree _consIannotatedTree _partitionIannotatedTree rep_- {-# LINE 20715 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateTable _annIoriginalTree _nameIoriginalTree _attsIoriginalTree _consIoriginalTree _partitionIoriginalTree rep_- {-# LINE 20721 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 20727 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 20733 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20739 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20745 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20751 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20757 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20763 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20769 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _attsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20775 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _attsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20781 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _attsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20787 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _consOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20793 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _consOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20799 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _consOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20805 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _partitionOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20811 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _partitionOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20817 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _partitionOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20823 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 117, column 28)- _annOtpe =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 20867 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 118, column 28)- _nameOtpe =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 20873 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterTable _annIannotatedTree _nameIannotatedTree _operationIannotatedTree- {-# LINE 20879 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterTable _annIoriginalTree _nameIoriginalTree _operationIoriginalTree- {-# LINE 20885 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 20891 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 20897 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20903 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20909 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20915 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20921 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20927 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20933 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _operationOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 20939 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _operationOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 20945 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _operationOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 20951 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 110, column 31)- _annOtpe =- ({-# LINE 110 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 20991 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 111, column 31)- _nameOtpe =- ({-# LINE 111 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 20997 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterDatabase _annIannotatedTree _nameIannotatedTree _operationIannotatedTree- {-# LINE 21003 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterDatabase _annIoriginalTree _nameIoriginalTree _operationIoriginalTree- {-# LINE 21009 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 21015 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 21021 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21027 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21033 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21039 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21045 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21051 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21057 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _operationOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21063 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _operationOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21069 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _operationOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21075 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 150, column 32)- _annOtpe =- ({-# LINE 150 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 21114 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 151, column 32)- _nameOtpe =- ({-# LINE 151 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 21120 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateSequence _annIannotatedTree _nameIannotatedTree incr_ min_ max_ start_ cache_- {-# LINE 21126 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateSequence _annIoriginalTree _nameIoriginalTree incr_ min_ max_ start_ cache_- {-# LINE 21132 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 21138 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 21144 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21150 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21156 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21162 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21168 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21174 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21180 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 115, column 31)- _annOtpe =- ({-# LINE 115 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 21218 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 116, column 31)- _nameOtpe =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 21224 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSequence _annIannotatedTree _nameIannotatedTree _operationIannotatedTree- {-# LINE 21230 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSequence _annIoriginalTree _nameIoriginalTree _operationIoriginalTree- {-# LINE 21236 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 21242 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 21248 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21254 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21260 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21266 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21272 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21278 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21284 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _operationOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21290 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _operationOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21296 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _operationOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21302 "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)])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 154, column 31)- _annOtpe =- ({-# LINE 154 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 21347 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 155, column 31)- _exprOouterDownEnv =- ({-# LINE 155 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 21353 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 156, column 31)- _nameOtpe =- ({-# LINE 156 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 21359 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 19, column 5)- _exprOexpectedType =- ({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}- liftM (map snd) _exprIupType- {-# LINE 21365 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 827, column 31)- _exprOassignmentCastContext =- ({-# LINE 827 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 21371 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateTableAs _annIannotatedTree _nameIannotatedTree rep_ _exprIannotatedTree- {-# LINE 21377 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateTableAs _annIoriginalTree _nameIoriginalTree rep_ _exprIoriginalTree- {-# LINE 21383 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 21389 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 21395 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21401 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21407 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21413 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21419 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21425 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21431 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21437 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21443 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21449 "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)])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 167, column 28)- _annOtpe =- ({-# LINE 167 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 21494 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 168, column 28)- _exprOouterDownEnv =- ({-# LINE 168 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 21500 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 169, column 28)- _nameOtpe =- ({-# LINE 169 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 21506 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 19, column 5)- _exprOexpectedType =- ({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}- liftM (map snd) _exprIupType- {-# LINE 21512 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 829, column 28)- _exprOassignmentCastContext =- ({-# LINE 829 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 21518 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateView _annIannotatedTree _nameIannotatedTree colNames_ _exprIannotatedTree- {-# LINE 21524 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateView _annIoriginalTree _nameIoriginalTree colNames_ _exprIoriginalTree- {-# LINE 21530 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 21536 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 21542 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21548 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21554 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21560 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21566 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21572 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21578 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21584 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21590 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21596 "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)])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 121, column 27)- _annOtpe =- ({-# LINE 121 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 21641 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 122, column 27)- _exprOexpectedType =- ({-# LINE 122 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 21647 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 123, column 27)- _exprOouterDownEnv =- ({-# LINE 123 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 21653 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 124, column 27)- _nameOtpe =- ({-# LINE 124 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 21659 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 824, column 27)- _exprOassignmentCastContext =- ({-# LINE 824 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 21665 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterView _annIannotatedTree _nameIannotatedTree colNames_ _exprIannotatedTree- {-# LINE 21671 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterView _annIoriginalTree _nameIoriginalTree colNames_ _exprIoriginalTree- {-# LINE 21677 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 21683 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 21689 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21695 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21701 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21707 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21713 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21719 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21725 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21731 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21737 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21743 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 163, column 28)- _annOtpe =- ({-# LINE 163 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 21783 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 164, column 28)- _nameOtpe =- ({-# LINE 164 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 21789 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateType _annIannotatedTree _nameIannotatedTree _attsIannotatedTree- {-# LINE 21795 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateType _annIoriginalTree _nameIoriginalTree _attsIoriginalTree- {-# LINE 21801 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 21807 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 21813 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21819 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21825 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21831 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21837 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21843 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21849 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _attsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21855 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _attsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21861 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _attsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21867 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 165, column 28)- _annOtpe =- ({-# LINE 165 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 21902 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 166, column 28)- _nameOtpe =- ({-# LINE 166 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 21908 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateUser _annIannotatedTree _nameIannotatedTree password_- {-# LINE 21914 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateUser _annIoriginalTree _nameIoriginalTree password_- {-# LINE 21920 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 21926 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 21932 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21938 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21944 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21950 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 21956 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 21962 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 21968 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 147, column 29)- _annOtpe =- ({-# LINE 147 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 22001 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 148, column 29)- _nameOtpe =- ({-# LINE 148 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 22007 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateLogin _annIannotatedTree _nameIannotatedTree password_- {-# LINE 22013 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateLogin _annIoriginalTree _nameIoriginalTree password_- {-# LINE 22019 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 22025 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 22031 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22037 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22043 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22049 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22055 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22061 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22067 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 119, column 27)- _annOtpe =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 22100 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 120, column 27)- _nameOtpe =- ({-# LINE 120 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 22106 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterUser _annIannotatedTree _nameIannotatedTree password_- {-# LINE 22112 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterUser _annIoriginalTree _nameIoriginalTree password_- {-# LINE 22118 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 22124 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 22130 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22136 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22142 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22148 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22154 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22160 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22166 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 112, column 28)- _annOtpe =- ({-# LINE 112 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 22199 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 113, column 28)- _nameOtpe =- ({-# LINE 113 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 22205 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterLogin _annIannotatedTree _nameIannotatedTree password_- {-# LINE 22211 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterLogin _annIoriginalTree _nameIoriginalTree password_- {-# LINE 22217 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 22223 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 22229 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22235 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22241 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22247 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22253 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22259 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22265 "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 ->- NameComponent ->- (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)- _annIannotatedTree :: Annotation- _annIoriginalTree :: Annotation- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 149, column 30)- _annOtpe =- ({-# LINE 149 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 22292 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateSchema _annIannotatedTree name_ owner_- {-# LINE 22298 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateSchema _annIoriginalTree name_ owner_- {-# LINE 22304 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 22310 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 22316 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22322 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22328 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22334 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _annIannotatedTree,_annIoriginalTree) =- ann_ _annOcat _annOflags _annOimCast _annOtpe- in ( _lhsOannotatedTree,_lhsOoriginalTree)))-_sem_Statement_AlterSchema :: T_Annotation ->- NameComponent ->- 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)- _operationOcat :: Catalog- _operationOflags :: TypeCheckFlags- _operationOimCast :: (Maybe TypeExtra)- _annIannotatedTree :: Annotation- _annIoriginalTree :: Annotation- _operationIannotatedTree :: AlterSchemaOperation- _operationIoriginalTree :: AlterSchemaOperation- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 114, column 29)- _annOtpe =- ({-# LINE 114 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 22364 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSchema _annIannotatedTree name_ _operationIannotatedTree- {-# LINE 22370 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AlterSchema _annIoriginalTree name_ _operationIoriginalTree- {-# LINE 22376 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 22382 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 22388 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22394 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22400 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22406 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _operationOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22412 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _operationOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22418 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _operationOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22424 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _annIannotatedTree,_annIoriginalTree) =- ann_ _annOcat _annOflags _annOimCast _annOtpe- ( _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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 143, column 32)- _annOtpe =- ({-# LINE 143 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 22478 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 144, column 32)- _nameOtpe =- ({-# LINE 144 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 22484 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateFunction _annIannotatedTree _nameIannotatedTree _paramsIannotatedTree _rettypeIannotatedTree rep_ lang_ _bodyIannotatedTree vol_- {-# LINE 22490 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateFunction _annIoriginalTree _nameIoriginalTree _paramsIoriginalTree _rettypeIoriginalTree rep_ lang_ _bodyIoriginalTree vol_- {-# LINE 22496 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 22502 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 22508 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22514 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22520 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22526 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22532 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22538 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22544 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _paramsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22550 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _paramsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22556 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _paramsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22562 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _rettypeOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22568 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _rettypeOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22574 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _rettypeOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22580 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _bodyOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22586 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _bodyOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22592 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _bodyOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22598 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 140, column 30)- _annOtpe =- ({-# LINE 140 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 22651 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 141, column 30)- _checkOdownEnv =- ({-# LINE 141 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 22657 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 142, column 30)- _nameOtpe =- ({-# LINE 142 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 22663 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateDomain _annIannotatedTree _nameIannotatedTree _typIannotatedTree constraintName_ _checkIannotatedTree- {-# LINE 22669 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateDomain _annIoriginalTree _nameIoriginalTree _typIoriginalTree constraintName_ _checkIoriginalTree- {-# LINE 22675 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 22681 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 22687 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22693 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22699 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22705 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22711 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22717 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22723 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22729 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22735 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22741 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _checkOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22747 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _checkOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22753 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _checkOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22759 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 146, column 32)- _annOtpe =- ({-# LINE 146 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 22789 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateLanguage _annIannotatedTree name_- {-# LINE 22795 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateLanguage _annIoriginalTree name_- {-# LINE 22801 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 22807 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 22813 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22819 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22825 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22831 "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])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 157, column 31)- _annOtpe =- ({-# LINE 157 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 22883 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 158, column 31)- _fnArgsOdownEnv =- ({-# LINE 158 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 22889 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 159, column 31)- _fnArgsOexpectedCast =- ({-# LINE 159 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 22895 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 160, column 31)- _fnArgsOexpectedTypes =- ({-# LINE 160 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- []- {-# LINE 22901 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 161, column 31)- _fnNameOtpe =- ({-# LINE 161 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 22907 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 162, column 31)- _tblOtpe =- ({-# LINE 162 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 22913 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 828, column 31)- _fnArgsOassignmentCastContext =- ({-# LINE 828 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 22919 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateTrigger _annIannotatedTree name_ wh_ events_ _tblIannotatedTree firing_ _fnNameIannotatedTree _fnArgsIannotatedTree- {-# LINE 22925 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateTrigger _annIoriginalTree name_ wh_ events_ _tblIoriginalTree firing_ _fnNameIoriginalTree _fnArgsIoriginalTree- {-# LINE 22931 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 22937 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 22943 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22949 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22955 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22961 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tblOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22967 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tblOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22973 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tblOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22979 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fnNameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 22985 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fnNameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 22991 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fnNameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 22997 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fnArgsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 23003 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fnArgsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 23009 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fnArgsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 23015 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 172, column 30)- _annOtpe =- ({-# LINE 172 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 23052 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- DropFunction _annIannotatedTree ifE_ _sigsIannotatedTree cascade_- {-# LINE 23058 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- DropFunction _annIoriginalTree ifE_ _sigsIoriginalTree cascade_- {-# LINE 23064 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 23070 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 23076 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 23082 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 23088 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 23094 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _sigsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 23100 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _sigsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 23106 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _sigsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 23112 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 13, column 5)- _annOtpe =- ({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}- Left []- {-# LINE 23141 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- DropSomething _annIannotatedTree dropType_ ifE_ names_ cascade_- {-# LINE 23147 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- DropSomething _annIoriginalTree dropType_ ifE_ names_ cascade_- {-# LINE 23153 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 23159 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 23165 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 23171 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 23177 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 23183 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 173, column 29)- _tblOtpe =- ({-# LINE 173 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 23216 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 13, column 5)- _annOtpe =- ({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}- Left []- {-# LINE 23222 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- DropTrigger _annIannotatedTree ifE_ name_ _tblIannotatedTree cascade_- {-# LINE 23228 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- DropTrigger _annIoriginalTree ifE_ name_ _tblIoriginalTree cascade_- {-# LINE 23234 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 23240 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 23246 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 23252 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 23258 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 23264 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tblOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 23270 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tblOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 23276 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tblOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 23282 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 138, column 32)- _annOtpe =- ({-# LINE 138 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 23314 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 139, column 32)- _nmOtpe =- ({-# LINE 139 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 23320 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateDatabase _annIannotatedTree _nmIannotatedTree- {-# LINE 23326 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateDatabase _annIoriginalTree _nmIoriginalTree- {-# LINE 23332 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 23338 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 23344 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 23350 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 23356 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 23362 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nmOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 23368 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nmOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 23374 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _nmOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 23380 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 218, column 21)- _annOtpe =- ({-# LINE 218 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 23407 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Set _annIannotatedTree name_ values_- {-# LINE 23413 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Set _annIoriginalTree name_ values_- {-# LINE 23419 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 23425 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 23431 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 23437 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 23443 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 23449 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 196, column 24)- _annOtpe =- ({-# LINE 196 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 23473 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Notify _annIannotatedTree name_- {-# LINE 23479 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Notify _annIoriginalTree name_- {-# LINE 23485 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 23491 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 23497 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 23503 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 23509 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 23515 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 13, column 5)- _annOtpe =- ({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}- Left []- {-# LINE 23546 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Into _annIannotatedTree strict_ into_ _stmtIannotatedTree- {-# LINE 23552 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Into _annIoriginalTree strict_ into_ _stmtIoriginalTree- {-# LINE 23558 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 23564 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 23570 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 23576 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 23582 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 23588 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _stmtOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 23594 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _stmtOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 23600 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _stmtOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 23606 "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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 125, column 28)- _valueOexpectedCast =- ({-# LINE 125 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 23651 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 126, column 28)- _valueOexpectedType =- ({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 23657 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 127, column 28)- _valueOodbcFunction =- ({-# LINE 127 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 23663 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 13, column 5)- _annOtpe =- ({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}- Left []- {-# LINE 23669 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 26, column 5)- _targetOtpe =- ({-# LINE 26 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}- Left []- {-# LINE 23675 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 27, column 5)- _valueOdownEnv =- ({-# LINE 27 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}- E.emptyEnvironment- {-# LINE 23681 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 825, column 28)- _valueOassignmentCastContext =- ({-# LINE 825 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 23687 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Assignment _annIannotatedTree _targetIannotatedTree _valueIannotatedTree- {-# LINE 23693 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Assignment _annIoriginalTree _targetIoriginalTree _valueIoriginalTree- {-# LINE 23699 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 23705 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 23711 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 23717 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 23723 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 23729 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _targetOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 23735 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _targetOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 23741 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _targetOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 23747 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _valueOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 23753 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _valueOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 23759 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _valueOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 23765 "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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 207, column 24)- _annOtpe =- ({-# LINE 207 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 23803 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 208, column 24)- _valueOdownEnv =- ({-# LINE 208 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 23809 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 209, column 24)- _valueOexpectedCast =- ({-# LINE 209 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 23815 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 210, column 24)- _valueOexpectedType =- ({-# LINE 210 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 23821 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 839, column 24)- _valueOassignmentCastContext =- ({-# LINE 839 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 23827 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Return _annIannotatedTree _valueIannotatedTree- {-# LINE 23833 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Return _annIoriginalTree _valueIoriginalTree- {-# LINE 23839 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 23845 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 23851 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 23857 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 23863 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 23869 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _valueOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 23875 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _valueOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 23881 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _valueOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 23887 "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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 211, column 28)- _annOtpe =- ({-# LINE 211 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 23925 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 212, column 28)- _exprOdownEnv =- ({-# LINE 212 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 23931 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 213, column 28)- _exprOexpectedCast =- ({-# LINE 213 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 23937 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 214, column 28)- _exprOexpectedType =- ({-# LINE 214 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 23943 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 215, column 28)- _exprOodbcFunction =- ({-# LINE 215 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 23949 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 840, column 28)- _exprOassignmentCastContext =- ({-# LINE 840 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 23955 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ReturnNext _annIannotatedTree _exprIannotatedTree- {-# LINE 23961 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ReturnNext _annIoriginalTree _exprIoriginalTree- {-# LINE 23967 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 23973 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 23979 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 23985 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 23991 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 23997 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 24003 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 24009 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 24015 "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)])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 216, column 29)- _annOtpe =- ({-# LINE 216 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 24050 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 217, column 29)- _selOouterDownEnv =- ({-# LINE 217 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 24056 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 22, column 5)- _selOexpectedType =- ({-# LINE 22 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}- liftM (map snd) _selIupType- {-# LINE 24062 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 841, column 29)- _selOassignmentCastContext =- ({-# LINE 841 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 24068 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ReturnQuery _annIannotatedTree _selIannotatedTree- {-# LINE 24074 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ReturnQuery _annIoriginalTree _selIoriginalTree- {-# LINE 24080 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 24086 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 24092 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 24098 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 24104 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 24110 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 24116 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 24122 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 24128 "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])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 203, column 23)- _annOtpe =- ({-# LINE 203 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 24166 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 204, column 23)- _argsOdownEnv =- ({-# LINE 204 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 24172 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 205, column 23)- _argsOexpectedCast =- ({-# LINE 205 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 24178 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 206, column 23)- _argsOexpectedTypes =- ({-# LINE 206 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- []- {-# LINE 24184 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 838, column 23)- _argsOassignmentCastContext =- ({-# LINE 838 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 24190 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Raise _annIannotatedTree level_ message_ _argsIannotatedTree- {-# LINE 24196 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Raise _annIoriginalTree level_ message_ _argsIoriginalTree- {-# LINE 24202 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 24208 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 24214 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 24220 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 24226 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 24232 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 24238 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 24244 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 24250 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 197, column 31)- _annOtpe =- ({-# LINE 197 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 24275 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- NullStatement _annIannotatedTree- {-# LINE 24281 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- NullStatement _annIoriginalTree- {-# LINE 24287 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 24293 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 24299 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 24305 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 24311 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 24317 "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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 198, column 25)- _annOtpe =- ({-# LINE 198 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 24353 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 199, column 25)- _exprOdownEnv =- ({-# LINE 199 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 24359 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 200, column 25)- _exprOexpectedCast =- ({-# LINE 200 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 24365 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 201, column 25)- _exprOexpectedType =- ({-# LINE 201 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 24371 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 202, column 25)- _exprOodbcFunction =- ({-# LINE 202 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 24377 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 836, column 25)- _exprOassignmentCastContext =- ({-# LINE 836 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 24383 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Perform _annIannotatedTree _exprIannotatedTree- {-# LINE 24389 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Perform _annIoriginalTree _exprIoriginalTree- {-# LINE 24395 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 24401 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 24407 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 24413 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 24419 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 24425 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 24431 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 24437 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 24443 "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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 178, column 25)- _annOtpe =- ({-# LINE 178 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 24481 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 179, column 25)- _exprOdownEnv =- ({-# LINE 179 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 24487 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 180, column 25)- _exprOexpectedCast =- ({-# LINE 180 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 24493 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 181, column 25)- _exprOexpectedType =- ({-# LINE 181 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 24499 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 182, column 25)- _exprOodbcFunction =- ({-# LINE 182 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 24505 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 831, column 25)- _exprOassignmentCastContext =- ({-# LINE 831 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 24511 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Execute _annIannotatedTree _exprIannotatedTree- {-# LINE 24517 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Execute _annIoriginalTree _exprIoriginalTree- {-# LINE 24523 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 24529 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 24535 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 24541 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 24547 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 24553 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 24559 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 24565 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 24571 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 193, column 35)- _annOtpe =- ({-# LINE 193 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 24614 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 194, column 35)- _selOouterDownEnv =- ({-# LINE 194 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 24620 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 22, column 5)- _selOexpectedType =- ({-# LINE 22 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}- liftM (map snd) _selIupType- {-# LINE 24626 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 834, column 35)- _selOassignmentCastContext =- ({-# LINE 834 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 24632 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ForQueryStatement _annIannotatedTree lb_ var_ _selIannotatedTree _stsIannotatedTree- {-# LINE 24638 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ForQueryStatement _annIoriginalTree lb_ var_ _selIoriginalTree _stsIoriginalTree- {-# LINE 24644 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 24650 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 24656 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 24662 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 24668 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 24674 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 24680 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 24686 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 24692 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _stsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 24698 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _stsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 24704 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _stsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 24710 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 184, column 37)- _annOtpe =- ({-# LINE 184 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 24771 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 185, column 37)- _fromOdownEnv =- ({-# LINE 185 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 24777 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 186, column 37)- _fromOexpectedCast =- ({-# LINE 186 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 24783 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 187, column 37)- _fromOexpectedType =- ({-# LINE 187 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 24789 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 188, column 37)- _fromOodbcFunction =- ({-# LINE 188 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 24795 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 189, column 37)- _toOdownEnv =- ({-# LINE 189 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 24801 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 190, column 37)- _toOexpectedCast =- ({-# LINE 190 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 24807 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 191, column 37)- _toOexpectedType =- ({-# LINE 191 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 24813 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 192, column 37)- _toOodbcFunction =- ({-# LINE 192 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 24819 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 832, column 37)- _fromOassignmentCastContext =- ({-# LINE 832 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 24825 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 833, column 37)- _toOassignmentCastContext =- ({-# LINE 833 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 24831 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ForIntegerStatement _annIannotatedTree lb_ var_ _fromIannotatedTree _toIannotatedTree _stsIannotatedTree- {-# LINE 24837 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ForIntegerStatement _annIoriginalTree lb_ var_ _fromIoriginalTree _toIoriginalTree _stsIoriginalTree- {-# LINE 24843 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 24849 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 24855 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 24861 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 24867 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 24873 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fromOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 24879 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fromOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 24885 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fromOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 24891 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _toOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 24897 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _toOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 24903 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _toOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 24909 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _stsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 24915 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _stsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 24921 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _stsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 24927 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 195, column 31)- _annOtpe =- ({-# LINE 195 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 24963 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- LoopStatement _annIannotatedTree lb_ _stsIannotatedTree- {-# LINE 24969 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- LoopStatement _annIoriginalTree lb_ _stsIoriginalTree- {-# LINE 24975 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 24981 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 24987 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 24993 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 24999 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 25005 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _stsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 25011 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _stsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 25017 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _stsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 25023 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 221, column 32)- _annOtpe =- ({-# LINE 221 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 25068 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 222, column 32)- _exprOdownEnv =- ({-# LINE 222 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 25074 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 223, column 32)- _exprOexpectedCast =- ({-# LINE 223 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 25080 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 224, column 32)- _exprOexpectedType =- ({-# LINE 224 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 25086 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 225, column 32)- _exprOodbcFunction =- ({-# LINE 225 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 25092 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 842, column 32)- _exprOassignmentCastContext =- ({-# LINE 842 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 25098 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- WhileStatement _annIannotatedTree lb_ _exprIannotatedTree _stsIannotatedTree- {-# LINE 25104 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- WhileStatement _annIoriginalTree lb_ _exprIoriginalTree _stsIoriginalTree- {-# LINE 25110 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 25116 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 25122 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 25128 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 25134 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 25140 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 25146 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 25152 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exprOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 25158 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _stsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 25164 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _stsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 25170 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _stsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 25176 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 135, column 35)- _annOtpe =- ({-# LINE 135 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 25204 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ContinueStatement _annIannotatedTree lb_- {-# LINE 25210 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ContinueStatement _annIoriginalTree lb_- {-# LINE 25216 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 25222 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 25228 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 25234 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 25240 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 25246 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 183, column 31)- _annOtpe =- ({-# LINE 183 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 25270 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ExitStatement _annIannotatedTree lb_- {-# LINE 25276 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ExitStatement _annIoriginalTree lb_- {-# LINE 25282 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 25288 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 25294 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 25300 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 25306 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 25312 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 130, column 37)- _annOtpe =- ({-# LINE 130 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 25360 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 131, column 37)- _valOdownEnv =- ({-# LINE 131 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 25366 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 132, column 37)- _valOexpectedCast =- ({-# LINE 132 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 25372 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 133, column 37)- _valOexpectedType =- ({-# LINE 133 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 25378 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 134, column 37)- _valOodbcFunction =- ({-# LINE 134 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 25384 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 826, column 37)- _valOassignmentCastContext =- ({-# LINE 826 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 25390 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CaseStatementSimple _annIannotatedTree _valIannotatedTree _casesIannotatedTree _elsIannotatedTree- {-# LINE 25396 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CaseStatementSimple _annIoriginalTree _valIoriginalTree _casesIoriginalTree _elsIoriginalTree- {-# LINE 25402 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 25408 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 25414 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 25420 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 25426 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 25432 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _valOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 25438 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _valOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 25444 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _valOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 25450 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _casesOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 25456 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _casesOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 25462 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _casesOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 25468 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _elsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 25474 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _elsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 25480 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _elsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 25486 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 129, column 31)- _annOtpe =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 25527 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CaseStatement _annIannotatedTree _casesIannotatedTree _elsIannotatedTree- {-# LINE 25533 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CaseStatement _annIoriginalTree _casesIoriginalTree _elsIoriginalTree- {-# LINE 25539 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 25545 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 25551 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 25557 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 25563 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 25569 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _casesOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 25575 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _casesOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 25581 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _casesOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 25587 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _elsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 25593 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _elsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 25599 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _elsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 25605 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 13, column 5)- _annOtpe =- ({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}- Left []- {-# LINE 25644 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- If _annIannotatedTree _casesIannotatedTree _elsIannotatedTree- {-# LINE 25650 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- If _annIoriginalTree _casesIoriginalTree _elsIoriginalTree- {-# LINE 25656 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 25662 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 25668 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 25674 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 25680 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 25686 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _casesOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 25692 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _casesOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 25698 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _casesOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 25704 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _elsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 25710 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _elsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 25716 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _elsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 25722 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 128, column 23)- _annOtpe =- ({-# LINE 128 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 25762 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Block _annIannotatedTree lb_ _varsIannotatedTree _stsIannotatedTree- {-# LINE 25768 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Block _annIoriginalTree lb_ _varsIoriginalTree _stsIoriginalTree- {-# LINE 25774 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 25780 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 25786 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 25792 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 25798 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 25804 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _varsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 25810 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _varsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 25816 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _varsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 25822 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _stsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 25828 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _stsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 25834 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _stsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 25840 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AntiStatement string_- {-# LINE 25861 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- AntiStatement string_- {-# LINE 25867 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 25873 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 25879 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 13, column 5)- _annOtpe =- ({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}- Left []- {-# LINE 25901 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- DeclareStatement _annIannotatedTree ds_- {-# LINE 25907 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- DeclareStatement _annIoriginalTree ds_- {-# LINE 25913 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 25919 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 25925 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 25931 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 25937 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 25943 "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])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 174, column 31)- _argsOdownEnv =- ({-# LINE 174 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 25984 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 175, column 31)- _argsOexpectedCast =- ({-# LINE 175 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 25990 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 176, column 31)- _argsOexpectedTypes =- ({-# LINE 176 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- []- {-# LINE 25996 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 177, column 31)- _spNameOtpe =- ({-# LINE 177 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 26002 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 13, column 5)- _annOtpe =- ({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}- Left []- {-# LINE 26008 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 830, column 31)- _argsOassignmentCastContext =- ({-# LINE 830 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 26014 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ExecStatement _annIannotatedTree _spNameIannotatedTree _argsIannotatedTree- {-# LINE 26020 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ExecStatement _annIoriginalTree _spNameIoriginalTree _argsIoriginalTree- {-# LINE 26026 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 26032 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 26038 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 26044 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 26050 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 26056 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _spNameOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 26062 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _spNameOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 26068 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _spNameOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 26074 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argsOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 26080 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argsOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 26086 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _argsOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 26092 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 145, column 33)- _objOtpe =- ({-# LINE 145 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 26128 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 13, column 5)- _annOtpe =- ({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}- Left []- {-# LINE 26134 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateIndexTSQL _annIannotatedTree nm_ _objIannotatedTree cols_- {-# LINE 26140 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- CreateIndexTSQL _annIoriginalTree nm_ _objIoriginalTree cols_- {-# LINE 26146 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 26152 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 26158 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 26164 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 26170 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 26176 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _objOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 26182 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _objOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 26188 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _objOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 26194 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _annIannotatedTree,_annIoriginalTree) =- ann_ _annOcat _annOflags _annOimCast _annOtpe- ( _objIannotatedTree,_objIoriginalTree) =- obj_ _objOcat _objOflags _objOimCast _objOtpe- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- StatementList ------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : StatementList - originalTree : StatementList - alternatives:- alternative Cons:- child hd : Statement - child tl : StatementList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type StatementList = [Statement]--- cata-_sem_StatementList :: StatementList ->- T_StatementList-_sem_StatementList list =- (Prelude.foldr _sem_StatementList_Cons _sem_StatementList_Nil (Prelude.map _sem_Statement list))--- semantic domain-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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 26265 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 26271 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 26277 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 26283 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 26289 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 26295 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 26301 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 26307 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 26313 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 26319 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 26337 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 26343 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 26349 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 26355 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- TablePartitionDef --------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : TablePartitionDef - originalTree : TablePartitionDef - alternatives:- alternative TablePartitionDef:- child ann : Annotation - child colname : {NameComponent}- child interval : {Integer}- child timeframe : {TablePartitionDateTimeInterval}- visit 0:- local annotatedTree : _- local originalTree : _--}-data TablePartitionDef = TablePartitionDef (Annotation) (NameComponent) (Integer) (TablePartitionDateTimeInterval)- deriving ( Data,Eq,Show,Typeable)--- cata-_sem_TablePartitionDef :: TablePartitionDef ->- T_TablePartitionDef-_sem_TablePartitionDef (TablePartitionDef _ann _colname _interval _timeframe) =- (_sem_TablePartitionDef_TablePartitionDef (_sem_Annotation _ann) _colname _interval _timeframe)--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 226, column 43)- _annOtpe =- ({-# LINE 226 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 26419 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- TablePartitionDef _annIannotatedTree colname_ interval_ timeframe_- {-# LINE 26425 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- TablePartitionDef _annIoriginalTree colname_ interval_ timeframe_- {-# LINE 26431 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 26437 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 26443 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 26449 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 26455 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 26461 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _annIannotatedTree,_annIoriginalTree) =- ann_ _annOcat _annOflags _annOimCast _annOtpe- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- TableRef -----------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : TableRef - originalTree : TableRef - upEnv : Environment- alternatives:- alternative Tref:- child ann : Annotation - child tbl : Name - visit 0:- local eEnv : {Either [TypeError] Environment}- local newAlias : _- local annotatedTree : _- local originalTree : _- alternative FunTref:- child ann : Annotation - child fn : ScalarExpr - visit 0:- local eEnv : {Either [TypeError] Environment}- local newAlias : _- local annotatedTree : _- local originalTree : _- alternative SubTref:- child ann : Annotation - child sel : QueryExpr - visit 0:- local eEnv : {Either [TypeError] Environment}- local newAlias : _- local annotatedTree : _- local originalTree : _- alternative JoinTref:- child ann : Annotation - child tref0 : TableRef - child nat : {Natural}- child joinType : {JoinType}- child joinHint : {Maybe JoinHint}- child tref1 : TableRef - child onExpr : OnExpr - visit 0:- local eEnv : {Either [TypeError] Environment}- local newAlias : _- local annotatedTree : _- local originalTree : _- alternative TableAlias:- child ann : Annotation - child tb : {NameComponent}- child tref : TableRef - visit 0:- local eEnv : {Either [TypeError] Environment}- local annotatedTree : _- local originalTree : _- alternative FullAlias:- child ann : Annotation - child tb : {NameComponent}- child cols : {[NameComponent]}- child tref : TableRef - visit 0:- local eEnv : {Either [TypeError] Environment}- local annotatedTree : _- local originalTree : _- alternative TableRefParens:- child ann : Annotation - child tref : TableRef - visit 0:- local eEnv : {Either [TypeError] Environment}- local newAlias : _- local annotatedTree : _- local originalTree : _- alternative OdbcTableRef:- child ann : Annotation - child tref : TableRef - visit 0:- local eEnv : {Either [TypeError] Environment}- local newAlias : _- local annotatedTree : _- local originalTree : _--}-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)--- cata-_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))--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 33, column 7)- _annOtpe =- ({-# LINE 33 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- either Left (Right . mkTypeExtraNN . TrefType)- (_eEnv >>= E.envExpandStar Nothing)- {-# LINE 26618 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 36, column 7)- _lhsOupEnv =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- either (const E.brokeEnvironment) id _eEnv- {-# LINE 26624 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 42, column 7)- _eEnv =- ({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- E.envCreateTrefEnvironment _lhsIcat (nameComponents _tblIoriginalTree)- {-# LINE 26630 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 43, column 7)- _tblOtpe =- ({-# LINE 43 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- Left []- {-# LINE 26636 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 75, column 7)- _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 26649 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 150, column 7)- _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 26661 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Tref _annIannotatedTree _tblIannotatedTree- {-# LINE 26667 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Tref _annIoriginalTree _tblIoriginalTree- {-# LINE 26673 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 26679 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 26685 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 26691 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 26697 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tblOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 26703 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tblOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 26709 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tblOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 26715 "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)- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 227, column 24)- _fnOdownEnv =- ({-# LINE 227 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- E.emptyEnvironment- {-# LINE 26755 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 228, column 24)- _fnOexpectedCast =- ({-# LINE 228 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 26761 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 229, column 24)- _fnOexpectedType =- ({-# LINE 229 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Nothing- {-# LINE 26767 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 230, column 24)- _fnOodbcFunction =- ({-# LINE 230 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- False- {-# LINE 26773 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 33, column 7)- _annOtpe =- ({-# LINE 33 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- either Left (Right . mkTypeExtraNN . TrefType)- (_eEnv >>= E.envExpandStar Nothing)- {-# LINE 26780 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 36, column 7)- _lhsOupEnv =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- either (const E.brokeEnvironment) id _eEnv- {-# LINE 26786 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 71, column 7)- _eEnv =- ({-# LINE 71 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- Left []- {-# LINE 26792 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 75, column 7)- _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 26805 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 135, column 7)- _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 26820 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 843, column 24)- _fnOassignmentCastContext =- ({-# LINE 843 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 26826 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- FunTref _annIannotatedTree _fnIannotatedTree- {-# LINE 26832 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- FunTref _annIoriginalTree _fnIoriginalTree- {-# LINE 26838 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 26844 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 26850 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 26856 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 26862 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fnOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 26868 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fnOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 26874 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _fnOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 26880 "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)])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 33, column 7)- _annOtpe =- ({-# LINE 33 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- either Left (Right . mkTypeExtraNN . TrefType)- (_eEnv >>= E.envExpandStar Nothing)- {-# LINE 26918 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 36, column 7)- _lhsOupEnv =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- either (const E.brokeEnvironment) id _eEnv- {-# LINE 26924 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 58, column 7)- _eEnv =- ({-# LINE 58 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- maybe (Left []) id- $ fmap E.envSelectListEnvironment _selIupType- {-# LINE 26931 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 60, column 7)- _selOexpectedType =- ({-# LINE 60 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- liftM (map snd) _selIupType- {-# LINE 26937 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 75, column 7)- _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 26950 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 135, column 7)- _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 26965 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 93, column 13)- _selOouterDownEnv =- ({-# LINE 93 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- Nothing- {-# LINE 26971 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 844, column 24)- _selOassignmentCastContext =- ({-# LINE 844 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 26977 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SubTref _annIannotatedTree _selIannotatedTree- {-# LINE 26983 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SubTref _annIoriginalTree _selIoriginalTree- {-# LINE 26989 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 26995 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 27001 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 27007 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 27013 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 27019 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 27025 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _selOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 27031 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 33, column 7)- _annOtpe =- ({-# LINE 33 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- either Left (Right . mkTypeExtraNN . TrefType)- (_eEnv >>= E.envExpandStar Nothing)- {-# LINE 27083 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 36, column 7)- _lhsOupEnv =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- either (const E.brokeEnvironment) id _eEnv- {-# LINE 27089 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 46, column 7)- _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 27100 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 56, column 7)- _onExprOdownEnv =- ({-# LINE 56 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- either (const E.brokeEnvironment) id _eEnv- {-# LINE 27106 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 75, column 7)- _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 27119 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 135, column 7)- _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 27134 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- JoinTref _annIannotatedTree _tref0IannotatedTree nat_ joinType_ joinHint_ _tref1IannotatedTree _onExprIannotatedTree- {-# LINE 27140 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- JoinTref _annIoriginalTree _tref0IoriginalTree nat_ joinType_ joinHint_ _tref1IoriginalTree _onExprIoriginalTree- {-# LINE 27146 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 27152 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 27158 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 27164 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 27170 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tref0Ocat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 27176 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tref0Oflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 27182 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tref0OimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 27188 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tref1Ocat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 27194 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tref1Oflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 27200 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tref1OimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 27206 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _onExprOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 27212 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _onExprOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 27218 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _onExprOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 27224 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 33, column 7)- _annOtpe =- ({-# LINE 33 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- either Left (Right . mkTypeExtraNN . TrefType)- (_eEnv >>= E.envExpandStar Nothing)- {-# LINE 27264 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 36, column 7)- _lhsOupEnv =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- either (const E.brokeEnvironment) id _eEnv- {-# LINE 27270 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 68, column 7)- _eEnv =- ({-# LINE 68 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- Right $ E.createTrefAliasedEnvironment- (ncStrT tb_) Nothing _trefIupEnv- {-# LINE 27277 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 124, column 7)- _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 27286 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- TableAlias _annIannotatedTree tb_ _trefIannotatedTree- {-# LINE 27292 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- TableAlias _annIoriginalTree tb_ _trefIoriginalTree- {-# LINE 27298 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 27304 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 27310 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 27316 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 27322 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _trefOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 27328 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _trefOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 27334 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _trefOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 27340 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 33, column 7)- _annOtpe =- ({-# LINE 33 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- either Left (Right . mkTypeExtraNN . TrefType)- (_eEnv >>= E.envExpandStar Nothing)- {-# LINE 27377 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 36, column 7)- _lhsOupEnv =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- either (const E.brokeEnvironment) id _eEnv- {-# LINE 27383 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 65, column 7)- _eEnv =- ({-# LINE 65 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- Right $ E.createTrefAliasedEnvironment- (ncStrT tb_) (Just $ map ncStrT cols_) _trefIupEnv- {-# LINE 27390 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 103, column 7)- _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 27400 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- FullAlias _annIannotatedTree tb_ cols_ _trefIannotatedTree- {-# LINE 27406 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- FullAlias _annIoriginalTree tb_ cols_ _trefIoriginalTree- {-# LINE 27412 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 27418 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 27424 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 27430 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 27436 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _trefOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 27442 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _trefOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 27448 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _trefOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 27454 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 33, column 7)- _annOtpe =- ({-# LINE 33 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- either Left (Right . mkTypeExtraNN . TrefType)- (_eEnv >>= E.envExpandStar Nothing)- {-# LINE 27489 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 36, column 7)- _lhsOupEnv =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- either (const E.brokeEnvironment) id _eEnv- {-# LINE 27495 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 63, column 7)- _eEnv =- ({-# LINE 63 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- Right $ _trefIupEnv- {-# LINE 27501 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 75, column 7)- _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 27514 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 135, column 7)- _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 27529 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- TableRefParens _annIannotatedTree _trefIannotatedTree- {-# LINE 27535 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- TableRefParens _annIoriginalTree _trefIoriginalTree- {-# LINE 27541 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 27547 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 27553 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 27559 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 27565 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _trefOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 27571 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _trefOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 27577 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _trefOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 27583 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 33, column 7)- _annOtpe =- ({-# LINE 33 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- either Left (Right . mkTypeExtraNN . TrefType)- (_eEnv >>= E.envExpandStar Nothing)- {-# LINE 27618 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 36, column 7)- _lhsOupEnv =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- either (const E.brokeEnvironment) id _eEnv- {-# LINE 27624 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 63, column 7)- _eEnv =- ({-# LINE 63 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- Right $ _trefIupEnv- {-# LINE 27630 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 75, column 7)- _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 27643 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 135, column 7)- _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 27658 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- OdbcTableRef _annIannotatedTree _trefIannotatedTree- {-# LINE 27664 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- OdbcTableRef _annIoriginalTree _trefIoriginalTree- {-# LINE 27670 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 27676 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 27682 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 27688 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 27694 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _trefOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 27700 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _trefOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 27706 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _trefOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 27712 "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)))--- TableRefList -------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : TableRefList - originalTree : TableRefList - upEnv : Environment- alternatives:- alternative Cons:- child hd : TableRef - child tl : TableRefList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type TableRefList = [TableRef]--- cata-_sem_TableRefList :: TableRefList ->- T_TableRefList-_sem_TableRefList list =- (Prelude.foldr _sem_TableRefList_Cons _sem_TableRefList_Nil (Prelude.map _sem_TableRef list))--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 20, column 7)- _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 27791 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 27797 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 27803 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 27809 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 27815 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 27821 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 27827 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 27833 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 27839 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 27845 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 27851 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 18, column 9)- _lhsOupEnv =- ({-# LINE 18 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}- E.emptyEnvironment- {-# LINE 27870 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 27876 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 27882 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 27888 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 27894 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree,_lhsOupEnv)))--- TypeAttributeDef ---------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : TypeAttributeDef - originalTree : TypeAttributeDef - alternatives:- alternative TypeAttDef:- child ann : Annotation - child name : {NameComponent}- child typ : TypeName - visit 0:- local annotatedTree : _- local originalTree : _--}-data TypeAttributeDef = TypeAttDef (Annotation) (NameComponent) (TypeName)- deriving ( Data,Eq,Show,Typeable)--- cata-_sem_TypeAttributeDef :: TypeAttributeDef ->- T_TypeAttributeDef-_sem_TypeAttributeDef (TypeAttDef _ann _name _typ) =- (_sem_TypeAttributeDef_TypeAttDef (_sem_Annotation _ann) _name (_sem_TypeName _typ))--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 231, column 35)- _annOtpe =- ({-# LINE 231 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 27962 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- TypeAttDef _annIannotatedTree name_ _typIannotatedTree- {-# LINE 27968 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- TypeAttDef _annIoriginalTree name_ _typIoriginalTree- {-# LINE 27974 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 27980 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 27986 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 27992 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 27998 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 28004 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 28010 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 28016 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 28022 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _annIannotatedTree,_annIoriginalTree) =- ann_ _annOcat _annOflags _annOimCast _annOtpe- ( _typIannotatedTree,_typInamedType,_typIoriginalTree) =- typ_ _typOcat _typOflags _typOimCast- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- TypeAttributeDefList -----------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : TypeAttributeDefList - originalTree : TypeAttributeDefList - alternatives:- alternative Cons:- child hd : TypeAttributeDef - child tl : TypeAttributeDefList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type TypeAttributeDefList = [TypeAttributeDef]--- cata-_sem_TypeAttributeDefList :: TypeAttributeDefList ->- T_TypeAttributeDefList-_sem_TypeAttributeDefList list =- (Prelude.foldr _sem_TypeAttributeDefList_Cons _sem_TypeAttributeDefList_Nil (Prelude.map _sem_TypeAttributeDef list))--- semantic domain-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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 28093 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 28099 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 28105 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 28111 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 28117 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 28123 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 28129 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 28135 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 28141 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 28147 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 28165 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 28171 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 28177 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 28183 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- TypeName -----------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : TypeName - namedType : Maybe TypeExtra- originalTree : TypeName - alternatives:- alternative SimpleTypeName:- child ann : Annotation - child tn : Name - visit 0:- local canType : {[NameComponent] -> [NameComponent]}- local tpe : {Either [TypeError] TypeExtra}- local annotatedTree : _- local originalTree : _- alternative PrecTypeName:- child ann : Annotation - child tn : Name - child prec : {Integer}- visit 0:- local canType : {[NameComponent] -> [NameComponent]}- local tpe : {Either [TypeError] TypeExtra}- local annotatedTree : _- local originalTree : _- alternative Prec2TypeName:- child ann : Annotation - child tn : Name - child prec : {Integer}- child prec1 : {Integer}- visit 0:- local canType : {[NameComponent] -> [NameComponent]}- local tpe : {Either [TypeError] TypeExtra}- local annotatedTree : _- local originalTree : _- alternative ArrayTypeName:- child ann : Annotation - child typ : TypeName - visit 0:- local canType : {[NameComponent] -> [NameComponent]}- local tpe : {Either [TypeError] TypeExtra}- local annotatedTree : _- local originalTree : _- alternative SetOfTypeName:- child ann : Annotation - child typ : TypeName - visit 0:- local canType : {[NameComponent] -> [NameComponent]}- local tpe : {Either [TypeError] TypeExtra}- local annotatedTree : _- local originalTree : _--}-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)--- cata-_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))--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 36, column 10)- _lhsOnamedType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 28302 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 37, column 10)- _annOtpe =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}- either Left (const $ Left []) _tpe- {-# LINE 28308 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 39, column 10)- _tnOtpe =- ({-# LINE 39 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}- Left []- {-# LINE 28314 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 51, column 10)- _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 28322 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 63, column 10)- _tpe =- ({-# LINE 63 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}- mkTypeExtraNN `liftM` catLookupType _lhsIcat (_canType $ nameComponents _tnIoriginalTree)- {-# LINE 28328 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SimpleTypeName _annIannotatedTree _tnIannotatedTree- {-# LINE 28334 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SimpleTypeName _annIoriginalTree _tnIoriginalTree- {-# LINE 28340 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 28346 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 28352 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 28358 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 28364 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 28370 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tnOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 28376 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tnOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 28382 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tnOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 28388 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 36, column 10)- _lhsOnamedType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 28424 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 37, column 10)- _annOtpe =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}- either Left (const $ Left []) _tpe- {-# LINE 28430 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 39, column 10)- _tnOtpe =- ({-# LINE 39 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}- Left []- {-# LINE 28436 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 51, column 10)- _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 28444 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 77, column 9)- _tpe =- ({-# LINE 77 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}- ((\t -> t{tePrecision = Just $ fromIntegral prec_}) . mkTypeExtraNN)- `liftM` catLookupType _lhsIcat (nameComponents _tnIoriginalTree)- {-# LINE 28451 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- PrecTypeName _annIannotatedTree _tnIannotatedTree prec_- {-# LINE 28457 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- PrecTypeName _annIoriginalTree _tnIoriginalTree prec_- {-# LINE 28463 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 28469 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 28475 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 28481 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 28487 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 28493 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tnOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 28499 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tnOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 28505 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tnOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 28511 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 36, column 10)- _lhsOnamedType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 28548 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 37, column 10)- _annOtpe =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}- either Left (const $ Left []) _tpe- {-# LINE 28554 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 39, column 10)- _tnOtpe =- ({-# LINE 39 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}- Left []- {-# LINE 28560 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 51, column 10)- _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 28568 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 80, column 9)- _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 28577 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Prec2TypeName _annIannotatedTree _tnIannotatedTree prec_ prec1_- {-# LINE 28583 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- Prec2TypeName _annIoriginalTree _tnIoriginalTree prec_ prec1_- {-# LINE 28589 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 28595 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 28601 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 28607 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 28613 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 28619 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tnOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 28625 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tnOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 28631 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tnOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 28637 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 36, column 10)- _lhsOnamedType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 28672 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 37, column 10)- _annOtpe =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}- either Left (const $ Left []) _tpe- {-# LINE 28678 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 51, column 10)- _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 28686 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 71, column 9)- _tpe =- ({-# LINE 71 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}- maybe (Left []) Right _typInamedType- >>= Right . (\t -> t{teType = ArrayType $ teType t})- {-# LINE 28693 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ArrayTypeName _annIannotatedTree _typIannotatedTree- {-# LINE 28699 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ArrayTypeName _annIoriginalTree _typIoriginalTree- {-# LINE 28705 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 28711 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 28717 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 28723 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 28729 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 28735 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 28741 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 28747 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 28753 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 36, column 10)- _lhsOnamedType =- ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}- either (const Nothing) Just _tpe- {-# LINE 28788 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 37, column 10)- _annOtpe =- ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}- either Left (const $ Left []) _tpe- {-# LINE 28794 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 51, column 10)- _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 28802 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 74, column 9)- _tpe =- ({-# LINE 74 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}- maybe (Left []) Right _typInamedType- >>= Right . (\t -> t{teType = Pseudo $ SetOfType $ teType t})- {-# LINE 28809 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SetOfTypeName _annIannotatedTree _typIannotatedTree- {-# LINE 28815 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- SetOfTypeName _annIoriginalTree _typIoriginalTree- {-# LINE 28821 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 28827 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 28833 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 28839 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 28845 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 28851 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 28857 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 28863 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 28869 "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)))--- TypeNameList -------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : TypeNameList - originalTree : TypeNameList - alternatives:- alternative Cons:- child hd : TypeName - child tl : TypeNameList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type TypeNameList = [TypeName]--- cata-_sem_TypeNameList :: TypeNameList ->- T_TypeNameList-_sem_TypeNameList list =- (Prelude.foldr _sem_TypeNameList_Cons _sem_TypeNameList_Nil (Prelude.map _sem_TypeName list))--- semantic domain-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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 28941 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 28947 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 28953 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 28959 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 28965 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 28971 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 28977 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 28983 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 28989 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 28995 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 29013 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 29019 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 29025 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 29031 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- VarDef -------------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : VarDef - originalTree : VarDef - alternatives:- alternative VarDef:- child ann : Annotation - child name : {NameComponent}- child typ : TypeName - child value : {Maybe ScalarExpr}- visit 0:- local annotatedTree : _- local originalTree : _- alternative ParamAlias:- child ann : Annotation - child name : {NameComponent}- child i : {Integer}- visit 0:- local annotatedTree : _- local originalTree : _- alternative VarAlias:- child ann : Annotation - child name : {NameComponent}- child aliased : Name - visit 0:- local annotatedTree : _- local originalTree : _--}-data VarDef = VarDef (Annotation) (NameComponent) (TypeName) ((Maybe ScalarExpr))- | ParamAlias (Annotation) (NameComponent) (Integer)- | VarAlias (Annotation) (NameComponent) (Name)- deriving ( Data,Eq,Show,Typeable)--- cata-_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))--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 235, column 21)- _annOtpe =- ({-# LINE 235 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 29121 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- VarDef _annIannotatedTree name_ _typIannotatedTree value_- {-# LINE 29127 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- VarDef _annIoriginalTree name_ _typIoriginalTree value_- {-# LINE 29133 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 29139 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 29145 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 29151 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 29157 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 29163 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 29169 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 29175 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _typOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 29181 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 232, column 25)- _annOtpe =- ({-# LINE 232 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 29208 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ParamAlias _annIannotatedTree name_ i_- {-# LINE 29214 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- ParamAlias _annIoriginalTree name_ i_- {-# LINE 29220 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 29226 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 29232 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 29238 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 29244 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 29250 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 233, column 23)- _aliasedOtpe =- ({-# LINE 233 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 29281 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 234, column 23)- _annOtpe =- ({-# LINE 234 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}- Left []- {-# LINE 29287 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- VarAlias _annIannotatedTree name_ _aliasedIannotatedTree- {-# LINE 29293 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- VarAlias _annIoriginalTree name_ _aliasedIoriginalTree- {-# LINE 29299 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 29305 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 29311 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 29317 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 29323 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 29329 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _aliasedOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 29335 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _aliasedOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 29341 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _aliasedOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 29347 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- ( _annIannotatedTree,_annIoriginalTree) =- ann_ _annOcat _annOflags _annOimCast _annOtpe- ( _aliasedIannotatedTree,_aliasedIoriginalTree) =- aliased_ _aliasedOcat _aliasedOflags _aliasedOimCast _aliasedOtpe- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- VarDefList ---------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : VarDefList - originalTree : VarDefList - alternatives:- alternative Cons:- child hd : VarDef - child tl : VarDefList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type VarDefList = [VarDef]--- cata-_sem_VarDefList :: VarDefList ->- T_VarDefList-_sem_VarDefList list =- (Prelude.foldr _sem_VarDefList_Cons _sem_VarDefList_Nil (Prelude.map _sem_VarDef list))--- semantic domain-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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 29418 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 29424 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 29430 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 29436 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 29442 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 29448 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 29454 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 29460 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 29466 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 29472 "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- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 29490 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 29496 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 29502 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 29508 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- in ( _lhsOannotatedTree,_lhsOoriginalTree)))--- WithQuery ----------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- catExtIncomp : Either [TypeError] Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : WithQuery - colAliases : Maybe [NameComponent]- name : Text- originalTree : WithQuery - upType : Maybe [(Text,TypeExtra)]- alternatives:- alternative WithQuery:- child ann : Annotation - child name : {NameComponent}- child colAliases : {Maybe [NameComponent]}- child ex : QueryExpr - visit 0:- local tpee : {Either [TypeError] [(Text,TypeExtra)]}- local tpe : {Either [TypeError] TypeExtra}- local annotatedTree : _- local originalTree : _--}-data WithQuery = WithQuery (Annotation) (NameComponent) ((Maybe [NameComponent])) (QueryExpr)- deriving ( Data,Eq,Show,Typeable)--- cata-_sem_WithQuery :: WithQuery ->- T_WithQuery-_sem_WithQuery (WithQuery _ann _name _colAliases _ex) =- (_sem_WithQuery_WithQuery (_sem_Annotation _ann) _name _colAliases (_sem_QueryExpr _ex))--- semantic domain-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)])- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 56, column 9)- _lhsOname =- ({-# LINE 56 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- ncStrT name_- {-# LINE 29594 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 57, column 9)- _lhsOannotatedTree =- ({-# LINE 57 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- WithQuery _annIannotatedTree name_ colAliases_ _exIannotatedTree- {-# LINE 29600 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 58, column 9)- _lhsOcolAliases =- ({-# LINE 58 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- colAliases_- {-# LINE 29606 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 62, column 9)- _tpee =- ({-# LINE 62 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- maybe (Left []) Right _exIupType- {-# LINE 29612 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 64, column 9)- _tpe =- ({-# LINE 64 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- liftM (mkTypeExtra . CompositeType) _tpee- {-# LINE 29618 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 66, column 9)- _lhsOupType =- ({-# LINE 66 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- either (const Nothing) Just _tpee- {-# LINE 29624 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 95, column 15)- _exOouterDownEnv =- ({-# LINE 95 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- Nothing- {-# LINE 29630 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 101, column 9)- _annOtpe =- ({-# LINE 101 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- Left []- {-# LINE 29636 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 102, column 9)- _exOexpectedType =- ({-# LINE 102 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- liftM (map snd) _exIupType- {-# LINE 29642 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 845, column 27)- _exOassignmentCastContext =- ({-# LINE 845 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}- False- {-# LINE 29648 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- WithQuery _annIannotatedTree name_ colAliases_ _exIannotatedTree- {-# LINE 29654 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- WithQuery _annIoriginalTree name_ colAliases_ _exIoriginalTree- {-# LINE 29660 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 29666 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 29672 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 29678 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _annOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 29684 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 29690 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 29696 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _exOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 29702 "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)))--- WithQueryList ------------------------------------------------{-- visit 0:- inherited attributes:- cat : Catalog- catExtIncomp : Either [TypeError] Catalog- flags : TypeCheckFlags- imCast : Maybe TypeExtra- synthesized attributes:- annotatedTree : WithQueryList - catExtComp : Either [TypeError] Catalog- originalTree : WithQueryList - alternatives:- alternative Cons:- child hd : WithQuery - child tl : WithQueryList - visit 0:- local annotatedTree : _- local originalTree : _- alternative Nil:- visit 0:- local annotatedTree : _- local originalTree : _--}-type WithQueryList = [WithQuery]--- cata-_sem_WithQueryList :: WithQueryList ->- T_WithQueryList-_sem_WithQueryList list =- (Prelude.foldr _sem_WithQueryList_Cons _sem_WithQueryList_Nil (Prelude.map _sem_WithQuery list))--- semantic domain-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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 34, column 9)- _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 29795 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 47, column 9)- _hdOcat =- ({-# LINE 47 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- case _lhsIcatExtIncomp of- Right catExtIncomp -> catExtIncomp- Left _ -> _lhsIcat- {-# LINE 29803 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIannotatedTree _tlIannotatedTree- {-# LINE 29809 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- (:) _hdIoriginalTree _tlIoriginalTree- {-# LINE 29815 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 29821 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 29827 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (up)- _lhsOcatExtComp =- ({-# LINE 29 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _tlIcatExtComp- {-# LINE 29833 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOcatExtIncomp =- ({-# LINE 24 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIcatExtIncomp- {-# LINE 29839 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 29845 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _hdOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 29851 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOcat =- ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIcat- {-# LINE 29857 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOflags =- ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIflags- {-# LINE 29863 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- copy rule (down)- _tlOimCast =- ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _lhsIimCast- {-# LINE 29869 "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- -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 52, column 9)- _lhsOcatExtComp =- ({-# LINE 52 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}- _lhsIcatExtIncomp- {-# LINE 29889 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _annotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 29895 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _originalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- []- {-# LINE 29901 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOannotatedTree =- ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _annotatedTree- {-# LINE 29907 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}- )- -- self rule- _lhsOoriginalTree =- ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}- _originalTree- {-# LINE 29913 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+-- UUAGC 0.9.52.2 (hssqlppp/src/Database/HsSqlPpp/Internals/AstInterna)+module Database.HsSqlPpp.Internals.AstInternal(+ --from the ag files:+ --ast nodes+ 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+ --,SetClauseList+ ,CaseScalarExprListScalarExprPairList+ ,MaybeScalarExpr+ ,TableRefList+ ,ScalarExprListList+ ,SelectItemList+ ,OnExpr+ ,RowConstraintList+ ,VarDefList+ ,ScalarExprStatementListPair+ ,CaseScalarExprListScalarExprPair+ ,ScalarExprDirectionPair+ ,ScalarExprDirectionPairList+ ,MaybeBoolExpr+ ,MaybeSelectList+ ,SetValue(..)+ ,AlterTableActionList+ ,NameComponentList+ ,MaybeNameComponentList+ -- typechecking+ ,typeCheckStatements+ --,typeCheckParameterizedStatement+ ,typeCheckScalarExpr+ --,typeCheckScalarExprEnv+ ,typeCheckQueryExpr+ ,TypeCheckFlags(..)+ ,addExplicitCasts+ ,addImplicitCasts+ -- annotation+ ,Annotation(..)+ --,TypeExtra(..)+ ,SourcePosition+ ,ParameterizedStatementType+ ,getAnnotation+ ,updateAnnotation+ ,emptyAnnotation+ ,makeSelect+ --,canonicalizeTypeNames+) where++--import Data.Maybe+--import Data.Either+--import Data.List+--import Control.Applicative+import Data.Data+--import Data.Char+--import Control.Monad.State+--import Control.Arrow++import Data.Generics+import Data.Generics.Uniplate.Data+--import Debug.Trace+--import Text.Show.Pretty+++--import Database.HsSqlPpp.Internals.TypesInternal++--import Database.HsSqlPpp.Internals.TypeChecking.TypeConversion+--import Database.HsSqlPpp.Internals.TypeChecking.Environment hiding (JoinType(..))++--import Database.HsSqlPpp.Internals.Catalog.CatalogInternal (NameComponent(..),ncStr)++--import Database.HsSqlPpp.Utils.Utils+--import Database.HsSqlPpp.Internals.Dialect+--import Data.Text (Text)+import qualified Data.Text as T+--import qualified Data.Text.Lazy as LT++-- very bad, we use types in the syntax outside of the already exception+-- in the annotation (which can be removed when the annotation type+-- becomes a type parameters+-- can replace the use of type extra with (typename,int,int) triple+-- to fix this+--import Database.HsSqlPpp.Internals.TypesInternal (TypeExtra)++++{-# 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++-- todo: find a better way to do this, this information should come+-- via the dialect or catalog in the attributes+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" #-}++-- todo: replace the other nmcString function with this one+-- which uses either instead of error+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" #-}+++-- | thet name to choose for a column in a select list which doesn't+-- have an explicit name - these are postgresql's rules+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+-- this function appeared because nullability does not always influence the type to cast to+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+ -- assuming number literals are always positive+ 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" #-}+++-- | some options when typechecking+data TypeCheckFlags =+ TypeCheckFlags+ { -- | add qualifiers to unqualified ids where possible+ tcfAddQualifiers :: Bool+ -- | add full aliases to every tableref and subselect+ ,tcfAddFullTablerefAliases :: Bool+ -- | add explicit aliases to all select items+ ,tcfAddSelectItemAliases :: Bool+ -- | expand stars in select lists to explicit list columns+ ,tcfExpandStars :: Bool+ ,tcfDialect :: Dialect}+ deriving (Show,Eq)++-- | Typechecks the ast, and returns the updated catalog (which+-- includes changes from any ddl statements in the ast).+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+ {-,_lib_Inh_Root = emptyBindings+ ,_idenv_Inh_Root = emptyIDEnv "tcs"-}}+ tl = _annotatedTree_Syn_Root ta+ cat1 = cat --_producedCat_Syn_Root ta+ in case tl of+ Root r -> (cat1,fixTree (tcfDialect f) r)+-- | Typecheck a query expr+typeCheckQueryExpr :: TypeCheckFlags -> Catalog -> QueryExpr -> QueryExpr+typeCheckQueryExpr f cat qe =+ let (_,[QueryStatement _ qe']) = typeCheckStatements f cat [QueryStatement emptyAnnotation qe]+ in qe'++-- | Not working yet. Typechecks a statement possibly containing ?+-- placeholders. These are annotated with the 'inferred type', and the+-- stType annotation on the return value can be used to get this info+-- easily. Returns Left if the statement is not a query,insert,update or delete+-- statement+{-typeCheckParameterizedStatement :: TypeCheckFlags -> Catalog -> Statement -> Either String Statement+typeCheckParameterizedStatement f cat st =+ case st of+ QueryStatement _ _ -> tc+ Insert _ _ _ _ _ -> tc+ Update _ _ _ _ _ _ -> tc+ Delete _ _ _ _ _ -> tc+ _ -> Left "requires select, update, insert or delete statement"+ where+ tc = let tl = typeCheckStatements f cat [st]+ in case tl of+ (_,[st1]) -> Right st1+ _ -> error "impossible happened in typeCheckPS!"+-}+{-+-- | type check a scalar expr+typeCheckScalarExpr :: TypeCheckFlags -> Catalog -> ScalarExpr -> ScalarExpr+typeCheckScalarExpr f cat 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 = E.emptyEnvironment+ {-,_lib_Inh_ScalarExprRoot = emptyBindings+ ,_idenv_Inh_ScalarExprRoot = emptyIDEnv "t+cse"-}}))+ in case rt of+ ScalarExprRoot e -> fixTree e -}++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" #-}+++-- | run on a typechecked tree. Finds all the places where an implicit+-- cast has been used in the typechecking and inserts an explicit cast+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+ -- addCast isn't very smart, so remove any unneeded casts+ -- that it has inserted. Only do this when have two+ -- nested casts which cast to the same type, so this+ -- shouldn't cause problems with sane sql+ 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)+-- | variation of the above, which uses ImplicitCast ctor+addImplicitCasts :: Data a => Catalog -> a -> a+addImplicitCasts cat = transformBi removeDoubleCasts . transformBi addCast+ where+ addCast:: ScalarExpr -> ScalarExpr+ addCast e = fromMaybe e $ do+ te <- anImplicitCast ann'+ -- ImplicitCastToDo: why anImplicitCast is not Nothing above Star+ _ <- nameOfType $ teType te -- in order to preserve the old logic+ -- guard $ isCastable e $ 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+ -- For each implicit cast, if there is a sequence of implicit casts right under it,+ -- that remained after bottom-up application of the algorithm being described:+ -- 1. Check if there is a type in the sequence (of argument types of implicit casts),+ -- which is implicitly castable to the target type of the current implicit cast,+ -- according to the current catalog.+ -- 2. If there is such a type, replace a sequence of casts that starts at this type with+ -- a single cast, and shorten the list of casts to be further investigated (snd of+ -- output type of this function).+ -- 2.1. Analyze the list bottom-up, so that the longest possible sequence of casts is+ -- replaced.+ -- 3. If there is no such a type, just add the current cast to the list.+ -- Reset the list on a node other than ImplicitCast.+ 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,[]) -- cut here (should not happen in practice)+ 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])+-- a hack to support precision cast from string literals+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++-- hack for various fixups+fixTree :: Data a => Dialect -> a -> a+fixTree = fixMssqlDates++{-+++disgusting hack to fix up datediff,datepart, convert and other+functions which accept a fixed list of keywords for one or more of the+arguments for sql server: set the type for the first argument to type+in if it is in the acceptable list.++This is really bad. What happens is that the normal typechecker will+check the keyword as an identifier and (usually!) put in unknown+identifier error. Then, when the function is typechecked, it will+ignore the type for this argument. After we've finished, the type+error is replaced with int type here.++The proper fix:++I think a good way to look at these is to consider them fixed enums+which can only accept a literal (and not an enum valued+expression). We set a flag/enum thing in the typecheck environment of+the identifier, so that it can check the identifier fits one of the+valid functions in the identifier itself. Then, there doesn't need to+be a fix here, and typechecking the function should work without a+hack here too. The typechecking of the function itself still needs+some special casing (e.g. for the convert function in odbc (and+similar in regular sql server syntax), the result type depends on the+value of the 'enum'. This can be implemented in a similar way to the+literal ints being passed to the function type checker.++This will be fixed with the rewrite of the findcallmatch/matchapp/a+million different fns for precision and nullability/tcApplike mess.++-}++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"]+ -- todo: use canonical tsql name for typeInt+ nai ai = ai {anType = (mkTypeExtraNN . ScalarType) <$> ansiTypeNameToDialect d "int"+ ,anErrs = []}+++-- temp utility function++{-canonicalizeType :: Dialect -> Type -> Type+canonicalizeType d (ScalarType t) = ScalarType $ canonicalizeTypeName d t+canonicalizeType _ t = t-}++{-# LINE 522 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}++{-# LINE 20 "hssqlppp/src/Database/HsSqlPpp/Internals/Annotation.ag" #-}++-- | Represents a source file position, usually set by the parser.+type SourcePosition = (FilePath,Int,Int)++-- | Statement type is used for getting type information for a+-- parameterized statement. The first part is the args that the+-- parameterized statement needs, and the second is the names and types+-- of the output columns. No way to signal that a statement returns+-- exactly one row at the moment+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" #-}+++--some simple wrappers around uniplate for internal use. I'm not sure+--which of these are actually used++-- | An annotation value with no information.+emptyAnnotation :: Annotation+emptyAnnotation = Annotation Nothing Nothing [] Nothing []++-- | get the annotation for the root element of the tree passed+getAnnotation :: Data a => a -> Annotation+getAnnotation = head . childrenBi++--don't know how to do this one with uniplate++-- | Update the first annotation in a tree using the function supplied+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+-- todo: don't use error+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)++-- maybe should improve this, since you can have at least union+-- distinct and union all just like select distinct and select all++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)++-- todo: this needs fixing, it is currently based on limited frame options+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" #-}++-- | 'default' valued select, use for creating select values+--+-- > makeSelect :: QueryExpr+-- > makeSelect = Select+-- > {ann = emptyAnnotation+-- > ,selDistinct = All+-- > ,selSelectList = (SelectList emptyAnnotation [])+-- > ,selTref = []+-- > ,selWhere = Nothing+-- > ,selGroupBy = []+-- > ,selHaving = Nothing+-- > ,selOrderBy = []+-- > ,selLimit = Nothing+-- > ,selOffset = Nothing+-- > ,selOption = []}+--+-- On its own, it isn't valid syntax: to use it you have to replace+-- the select list at minimum+--+-- use something like this+--+-- > s = makeSelect {selSelectList = sl [se $ i "a"]+-- > ,selTref = [tref "t"]}+-- > where+-- > a = emptyAnnotation+-- > sl = SelectList a+-- > se = SelExp a+-- > i = Identifier a+-- > tref t = Tref a (Name a [Nmc t])++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)++-- todo: fix the fn body to support to support other languages+-- just as as string for now+-- probably change Language to be a string also++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" #-}++-- TODO: move this somewhere better+-- | run canonicalizeTypeName on all the TypeName nodes in an ast+{-canonicalizeTypeNames :: Data a => Dialect -> a -> a+canonicalizeTypeNames d =+ (transformBi $ \x ->+ case x of+ ScalarType s -> ScalarType $ canonicalizeTypeName d s+ x' -> x')+ . (transformBi $ \x ->+ case x of+ SimpleTypeName a tn -> SimpleTypeName a (c tn)+ PrecTypeName a tn i -> PrecTypeName a (c tn) i+ Prec2TypeName a tn i i1 -> Prec2TypeName a (c tn) i i1+ x' -> x')+ where+ c (Name a [Nmc nc]) = Name a [Nmc $ T.unpack $ canonicalizeTypeName d $ T.pack nc]+ c z = z-}++{-# LINE 834 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+-- AlterColumnAction -------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : AlterColumnAction + originalTree : AlterColumnAction + alternatives:+ alternative SetDataType:+ child ann : Annotation + child typ : TypeName + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative SetNotNull:+ child ann : Annotation + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative DropNotNull:+ child ann : Annotation + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative SetDefault:+ child ann : Annotation + child def : ScalarExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative DropDefault:+ child ann : Annotation + visit 0:+ local annotatedTree : _+ local originalTree : _+-}+data AlterColumnAction = SetDataType (Annotation) (TypeName)+ | SetNotNull (Annotation)+ | DropNotNull (Annotation)+ | SetDefault (Annotation) (ScalarExpr)+ | DropDefault (Annotation)+ deriving ( Data,Eq,Show,Typeable)+-- cata+_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))+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 24, column 37)+ _annOtpe =+ ({-# LINE 24 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 931 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SetDataType _annIannotatedTree _typIannotatedTree+ {-# LINE 937 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SetDataType _annIoriginalTree _typIoriginalTree+ {-# LINE 943 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 949 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 955 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 961 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 967 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 973 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _typOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 979 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _typOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 985 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 29, column 36)+ _annOtpe =+ ({-# LINE 29 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 1016 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SetNotNull _annIannotatedTree+ {-# LINE 1022 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SetNotNull _annIoriginalTree+ {-# LINE 1028 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 1034 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 1040 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 1046 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 1052 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 23, column 37)+ _annOtpe =+ ({-# LINE 23 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 1081 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ DropNotNull _annIannotatedTree+ {-# LINE 1087 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ DropNotNull _annIoriginalTree+ {-# LINE 1093 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 1099 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 1105 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 1111 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 1117 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 25, column 36)+ _annOtpe =+ ({-# LINE 25 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 1159 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 26, column 36)+ _defOdownEnv =+ ({-# LINE 26 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 1165 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 27, column 36)+ _defOexpectedCast =+ ({-# LINE 27 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 1171 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 28, column 36)+ _defOexpectedType =+ ({-# LINE 28 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 1177 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 131, column 18)+ _defOodbcFunction =+ ({-# LINE 131 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 1183 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 807, column 36)+ _defOassignmentCastContext =+ ({-# LINE 807 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 1189 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SetDefault _annIannotatedTree _defIannotatedTree+ {-# LINE 1195 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SetDefault _annIoriginalTree _defIoriginalTree+ {-# LINE 1201 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 1207 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 1213 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 1219 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 1225 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 1231 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _defOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 1237 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _defOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 1243 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 22, column 37)+ _annOtpe =+ ({-# LINE 22 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 1274 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ DropDefault _annIannotatedTree+ {-# LINE 1280 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ DropDefault _annIoriginalTree+ {-# LINE 1286 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 1292 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 1298 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 1304 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 1310 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- AlterDatabaseOperation --------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : AlterDatabaseOperation + originalTree : AlterDatabaseOperation + alternatives:+ alternative RenameDatabase:+ child ann : Annotation + child newName : Name + visit 0:+ local annotatedTree : _+ local originalTree : _+-}+data AlterDatabaseOperation = RenameDatabase (Annotation) (Name)+ deriving ( Data,Eq,Show,Typeable)+-- cata+_sem_AlterDatabaseOperation :: AlterDatabaseOperation ->+ T_AlterDatabaseOperation+_sem_AlterDatabaseOperation (RenameDatabase _ann _newName) =+ (_sem_AlterDatabaseOperation_RenameDatabase (_sem_Annotation _ann) (_sem_Name _newName))+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 30, column 45)+ _annOtpe =+ ({-# LINE 30 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 1384 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 31, column 45)+ _newNameOtpe =+ ({-# LINE 31 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 1390 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ RenameDatabase _annIannotatedTree _newNameIannotatedTree+ {-# LINE 1396 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ RenameDatabase _annIoriginalTree _newNameIoriginalTree+ {-# LINE 1402 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 1408 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 1414 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 1420 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 1426 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 1432 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _newNameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 1438 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _newNameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 1444 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- AlterSchemaOperation ----------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : AlterSchemaOperation + originalTree : AlterSchemaOperation + alternatives:+ alternative AlterSchemaName:+ child ann : Annotation + child newName : Name + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative AlterSchemaOwner:+ child ann : Annotation + child newName : Name + visit 0:+ local annotatedTree : _+ local originalTree : _+-}+data AlterSchemaOperation = AlterSchemaName (Annotation) (Name)+ | AlterSchemaOwner (Annotation) (Name)+ deriving ( Data,Eq,Show,Typeable)+-- cata+_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))+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 32, column 44)+ _annOtpe =+ ({-# LINE 32 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 1529 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSchemaName _annIannotatedTree _newNameIannotatedTree+ {-# LINE 1535 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSchemaName _annIoriginalTree _newNameIoriginalTree+ {-# LINE 1541 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 1547 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 1553 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 1559 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 1565 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 1571 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _newNameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 1577 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _newNameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 1583 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _newNameOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 1589 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (chain)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 33, column 45)+ _annOtpe =+ ({-# LINE 33 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 1627 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 34, column 45)+ _newNameOtpe =+ ({-# LINE 34 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 1633 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSchemaOwner _annIannotatedTree _newNameIannotatedTree+ {-# LINE 1639 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSchemaOwner _annIoriginalTree _newNameIoriginalTree+ {-# LINE 1645 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 1651 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 1657 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 1663 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 1669 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 1675 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _newNameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 1681 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _newNameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 1687 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- AlterSequenceAction -----------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : AlterSequenceAction + originalTree : AlterSequenceAction + alternatives:+ alternative AlterSequenceIncrement:+ child ann : Annotation + child incr : {Integer}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative AlterSequenceMin:+ child ann : Annotation + child min : {Maybe Integer}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative AlterSequenceMax:+ child ann : Annotation + child max : {Maybe Integer}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative AlterSequenceStart:+ child ann : Annotation + child start : {Integer}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative AlterSequenceRestart:+ child ann : Annotation + child restart : {Maybe Integer}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative AlterSequenceCache:+ child ann : Annotation + child cache : {Integer}+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+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)+-- cata+_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)+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 35, column 50)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 1802 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSequenceIncrement _annIannotatedTree incr_+ {-# LINE 1808 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSequenceIncrement _annIoriginalTree incr_+ {-# LINE 1814 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 1820 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 1826 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 1832 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 1838 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 36, column 44)+ _annOtpe =+ ({-# LINE 36 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 1868 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSequenceMin _annIannotatedTree min_+ {-# LINE 1874 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSequenceMin _annIoriginalTree min_+ {-# LINE 1880 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 1886 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 1892 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 1898 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 1904 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 37, column 44)+ _annOtpe =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 1934 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSequenceMax _annIannotatedTree max_+ {-# LINE 1940 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSequenceMax _annIoriginalTree max_+ {-# LINE 1946 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 1952 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 1958 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 1964 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 1970 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 38, column 46)+ _annOtpe =+ ({-# LINE 38 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 2000 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSequenceStart _annIannotatedTree start_+ {-# LINE 2006 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSequenceStart _annIoriginalTree start_+ {-# LINE 2012 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 2018 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 2024 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 2030 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 2036 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 39, column 48)+ _annOtpe =+ ({-# LINE 39 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 2066 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSequenceRestart _annIannotatedTree restart_+ {-# LINE 2072 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSequenceRestart _annIoriginalTree restart_+ {-# LINE 2078 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 2084 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 2090 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 2096 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 2102 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 40, column 46)+ _annOtpe =+ ({-# LINE 40 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 2132 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSequenceCache _annIannotatedTree cache_+ {-# LINE 2138 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSequenceCache _annIoriginalTree cache_+ {-# LINE 2144 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 2150 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 2156 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 2162 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 2168 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- AlterSequenceActionList -------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : AlterSequenceActionList + originalTree : AlterSequenceActionList + alternatives:+ alternative Cons:+ child hd : AlterSequenceAction + child tl : AlterSequenceActionList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type AlterSequenceActionList = [AlterSequenceAction]+-- cata+_sem_AlterSequenceActionList :: AlterSequenceActionList ->+ T_AlterSequenceActionList+_sem_AlterSequenceActionList list =+ (Prelude.foldr _sem_AlterSequenceActionList_Cons _sem_AlterSequenceActionList_Nil (Prelude.map _sem_AlterSequenceAction list))+-- semantic domain+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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 2243 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 2249 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 2255 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 2261 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 2267 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 2273 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 2279 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 2285 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 2291 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 2315 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 2321 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 2327 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 2333 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- AlterSequenceOperation --------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : AlterSequenceOperation + originalTree : AlterSequenceOperation + alternatives:+ alternative AlterSequenceOwned:+ child ann : Annotation + child owned : Name + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative AlterSequenceRename:+ child ann : Annotation + child name : Name + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative AlterSequenceActions:+ child ann : Annotation + child actions : AlterSequenceActionList + visit 0:+ local annotatedTree : _+ local originalTree : _+-}+data AlterSequenceOperation = AlterSequenceOwned (Annotation) (Name)+ | AlterSequenceRename (Annotation) (Name)+ | AlterSequenceActions (Annotation) (AlterSequenceActionList)+ deriving ( Data,Eq,Show,Typeable)+-- cata+_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))+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 41, column 49)+ _annOtpe =+ ({-# LINE 41 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 2417 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 42, column 49)+ _ownedOtpe =+ ({-# LINE 42 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 2423 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSequenceOwned _annIannotatedTree _ownedIannotatedTree+ {-# LINE 2429 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSequenceOwned _annIoriginalTree _ownedIoriginalTree+ {-# LINE 2435 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 2441 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 2447 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 2453 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 2459 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 2465 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _ownedOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 2471 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _ownedOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 2477 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 43, column 50)+ _annOtpe =+ ({-# LINE 43 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 2515 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 44, column 50)+ _nameOtpe =+ ({-# LINE 44 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 2521 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSequenceRename _annIannotatedTree _nameIannotatedTree+ {-# LINE 2527 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSequenceRename _annIoriginalTree _nameIoriginalTree+ {-# LINE 2533 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 2539 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 2545 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 2551 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 2557 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 2563 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 2569 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 2575 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 45, column 51)+ _annOtpe =+ ({-# LINE 45 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 2612 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSequenceActions _annIannotatedTree _actionsIannotatedTree+ {-# LINE 2618 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSequenceActions _annIoriginalTree _actionsIoriginalTree+ {-# LINE 2624 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 2630 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 2636 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 2642 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 2648 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 2654 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _actionsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 2660 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _actionsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 2666 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- AlterTableAction --------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : AlterTableAction + originalTree : AlterTableAction + alternatives:+ alternative AddColumn:+ child ann : Annotation + child att : AttributeDef + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative DropColumn:+ child ann : Annotation + child nm : {NameComponent}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative AlterColumn:+ child ann : Annotation + child nm : {NameComponent}+ child act : AlterColumnAction + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative AddConstraint:+ child ann : Annotation + child con : Constraint + visit 0:+ local annotatedTree : _+ local originalTree : _+-}+data AlterTableAction = AddColumn (Annotation) (AttributeDef)+ | DropColumn (Annotation) (NameComponent)+ | AlterColumn (Annotation) (NameComponent) (AlterColumnAction)+ | AddConstraint (Annotation) (Constraint)+ deriving ( Data,Eq,Show,Typeable)+-- cata+_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))+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 46, column 34)+ _annOtpe =+ ({-# LINE 46 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 2769 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AddColumn _annIannotatedTree _attIannotatedTree+ {-# LINE 2775 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AddColumn _annIoriginalTree _attIoriginalTree+ {-# LINE 2781 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 2787 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 2793 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 2799 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 2805 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 2811 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _attOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 2817 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _attOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 2823 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 49, column 35)+ _annOtpe =+ ({-# LINE 49 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 2855 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ DropColumn _annIannotatedTree nm_+ {-# LINE 2861 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ DropColumn _annIoriginalTree nm_+ {-# LINE 2867 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 2873 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 2879 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 2885 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 2891 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 48, column 36)+ _annOtpe =+ ({-# LINE 48 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 2927 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterColumn _annIannotatedTree nm_ _actIannotatedTree+ {-# LINE 2933 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterColumn _annIoriginalTree nm_ _actIoriginalTree+ {-# LINE 2939 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 2945 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 2951 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 2957 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 2963 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 2969 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _actOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 2975 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _actOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 2981 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 47, column 38)+ _annOtpe =+ ({-# LINE 47 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 3018 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AddConstraint _annIannotatedTree _conIannotatedTree+ {-# LINE 3024 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AddConstraint _annIoriginalTree _conIoriginalTree+ {-# LINE 3030 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 3036 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 3042 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 3048 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 3054 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 3060 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _conOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 3066 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _conOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 3072 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- AlterTableActionList ----------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : AlterTableActionList + originalTree : AlterTableActionList + alternatives:+ alternative Cons:+ child hd : AlterTableAction + child tl : AlterTableActionList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type AlterTableActionList = [AlterTableAction]+-- cata+_sem_AlterTableActionList :: AlterTableActionList ->+ T_AlterTableActionList+_sem_AlterTableActionList list =+ (Prelude.foldr _sem_AlterTableActionList_Cons _sem_AlterTableActionList_Nil (Prelude.map _sem_AlterTableAction list))+-- semantic domain+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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 3149 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 3155 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 3161 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 3167 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 3173 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 3179 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 3185 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 3191 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 3197 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 3221 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 3227 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 3233 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 3239 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- AlterTableOperation -----------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : AlterTableOperation + originalTree : AlterTableOperation + alternatives:+ alternative RenameTable:+ child ann : Annotation + child newName : Name + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative RenameColumn:+ child ann : Annotation + child oldName : {NameComponent}+ child newName : {NameComponent}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative AlterTableActions:+ child ann : Annotation + child actions : AlterTableActionList + visit 0:+ local annotatedTree : _+ local originalTree : _+-}+data AlterTableOperation = RenameTable (Annotation) (Name)+ | RenameColumn (Annotation) (NameComponent) (NameComponent)+ | AlterTableActions (Annotation) (AlterTableActionList)+ deriving ( Data,Eq,Show,Typeable)+-- cata+_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))+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 52, column 39)+ _annOtpe =+ ({-# LINE 52 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 3324 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 53, column 39)+ _newNameOtpe =+ ({-# LINE 53 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 3330 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ RenameTable _annIannotatedTree _newNameIannotatedTree+ {-# LINE 3336 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ RenameTable _annIoriginalTree _newNameIoriginalTree+ {-# LINE 3342 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 3348 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 3354 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 3360 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 3366 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 3372 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _newNameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 3378 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _newNameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 3384 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 51, column 40)+ _annOtpe =+ ({-# LINE 51 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 3417 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ RenameColumn _annIannotatedTree oldName_ newName_+ {-# LINE 3423 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ RenameColumn _annIoriginalTree oldName_ newName_+ {-# LINE 3429 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 3435 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 3441 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 3447 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 3453 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 50, column 45)+ _annOtpe =+ ({-# LINE 50 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 3488 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterTableActions _annIannotatedTree _actionsIannotatedTree+ {-# LINE 3494 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterTableActions _annIoriginalTree _actionsIoriginalTree+ {-# LINE 3500 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 3506 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 3512 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 3518 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 3524 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 3530 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _actionsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 3536 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _actionsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 3542 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- Annotation --------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ tpe : Either [TypeError] TypeExtra+ synthesized attributes:+ annotatedTree : Annotation + originalTree : Annotation + alternatives:+ alternative Annotation:+ child anSrc : {Maybe SourcePosition}+ child anType : {Maybe T.TypeExtra}+ child anErrs : {[T.TypeError]}+ child anImplicitCast : {Maybe T.TypeExtra}+ child anCatUpd : {[C.CatalogUpdate]}+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}++-- | Annotation type - one of these is attached to most of the+-- data types used in the ast.+-- the fields in order are:+data Annotation = Annotation {+ -- | source position for this node+ anSrc :: ( Maybe SourcePosition)+ -- | type of the node, 'Nothing' if the tree hasn't been typechecked or if a type error elsewhere prevents determining this node's type+ ,anType :: ( Maybe T.TypeExtra)+ -- | any type errors+ ,anErrs :: ( [T.TypeError])+ -- | if an implicit cast is needed between this node an its parent, this the target type of cast. If no implicit cast is needed, this is Nothing+ ,anImplicitCast :: ( Maybe T.TypeExtra)+ -- | any catalog updates that a statement produces, used only for ddl Statements+ ,anCatUpd :: ( [C.CatalogUpdate])++ } deriving (Eq,Show,Data,Typeable)++-- cata+_sem_Annotation :: Annotation ->+ T_Annotation+_sem_Annotation (Annotation _anSrc _anType _anErrs _anImplicitCast _anCatUpd) =+ (_sem_Annotation_Annotation _anSrc _anType _anErrs _anImplicitCast _anCatUpd)+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag"(line 140, column 7)+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 3635 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- AttributeDef ------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : AttributeDef + originalTree : AttributeDef + alternatives:+ alternative AttributeDef:+ child ann : Annotation + child name : {NameComponent}+ child typ : TypeName + child cons : RowConstraintList + child options : {[TableOption]}+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+data AttributeDef = AttributeDef (Annotation) (NameComponent) (TypeName) (RowConstraintList) (([TableOption]))+ deriving ( Data,Eq,Show,Typeable)+-- cata+_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)+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 54, column 33)+ _annOtpe =+ ({-# LINE 54 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 3712 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 3730 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 3736 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 3742 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 3748 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 3754 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _typOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 3760 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _typOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 3766 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _typOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 3772 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _consOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 3778 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _consOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 3784 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- AttributeDefList --------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : AttributeDefList + originalTree : AttributeDefList + alternatives:+ alternative Cons:+ child hd : AttributeDef + child tl : AttributeDefList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type AttributeDefList = [AttributeDef]+-- cata+_sem_AttributeDefList :: AttributeDefList ->+ T_AttributeDefList+_sem_AttributeDefList list =+ (Prelude.foldr _sem_AttributeDefList_Cons _sem_AttributeDefList_Nil (Prelude.map _sem_AttributeDef list))+-- semantic domain+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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 3863 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 3869 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 3875 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 3881 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 3887 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 3893 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 3899 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 3905 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 3911 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 3935 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 3941 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 3947 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 3953 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- CaseScalarExprListScalarExprPair ----------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ downEnv : Environment+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ thenExpectedType : Maybe TypeExtra+ whenExpectedType : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : CaseScalarExprListScalarExprPair + originalTree : CaseScalarExprListScalarExprPair + thenType : Maybe TypeExtra+ upTypes : [Maybe TypeExtra]+ whenTypes : [Maybe TypeExtra]+ alternatives:+ alternative Tuple:+ child x1 : ScalarExprList + child x2 : ScalarExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type CaseScalarExprListScalarExprPair = ( ScalarExprList,ScalarExpr)+-- cata+_sem_CaseScalarExprListScalarExprPair :: CaseScalarExprListScalarExprPair ->+ T_CaseScalarExprListScalarExprPair+_sem_CaseScalarExprListScalarExprPair ( x1,x2) =+ (_sem_CaseScalarExprListScalarExprPair_Tuple (_sem_ScalarExprList x1) (_sem_ScalarExpr x2))+-- semantic domain+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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 134, column 13)+ _x2OodbcFunction =+ ({-# LINE 134 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 4043 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 550, column 13)+ _lhsOwhenTypes =+ ({-# LINE 550 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _x1IupTypes+ {-# LINE 4049 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 551, column 13)+ _lhsOthenType =+ ({-# LINE 551 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _x2IupType+ {-# LINE 4055 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 606, column 11)+ _x1OexpectedTypes =+ ({-# LINE 606 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ maybe [] repeat _lhsIwhenExpectedType+ {-# LINE 4061 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 607, column 11)+ _x1OexpectedCast =+ ({-# LINE 607 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 4067 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 608, column 11)+ _x2OexpectedType =+ ({-# LINE 608 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIthenExpectedType+ {-# LINE 4073 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 609, column 11)+ _x2OexpectedCast =+ ({-# LINE 609 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ True+ {-# LINE 4079 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 808, column 46)+ _x1OassignmentCastContext =+ ({-# LINE 808 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 4085 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 809, column 46)+ _x2OassignmentCastContext =+ ({-# LINE 809 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 4091 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (_x1IannotatedTree,_x2IannotatedTree)+ {-# LINE 4097 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (_x1IoriginalTree,_x2IoriginalTree)+ {-# LINE 4103 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 4109 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 4115 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (up)+ _lhsOupTypes =+ ({-# LINE 555 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _x1IupTypes+ {-# LINE 4121 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x1Ocat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 4127 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x1OdownEnv =+ ({-# LINE 190 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 4133 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x1Oflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 4139 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x1OimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 4145 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x2Ocat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 4151 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x2OdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 4157 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x2Oflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 4163 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- CaseScalarExprListScalarExprPairList ------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ downEnv : Environment+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ thenExpectedType : Maybe TypeExtra+ whenExpectedType : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : CaseScalarExprListScalarExprPairList + originalTree : CaseScalarExprListScalarExprPairList + thenTypes : [Maybe TypeExtra]+ upTypes : [Maybe TypeExtra]+ whenTypes : [[Maybe TypeExtra]]+ alternatives:+ alternative Cons:+ child hd : CaseScalarExprListScalarExprPair + child tl : CaseScalarExprListScalarExprPairList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type CaseScalarExprListScalarExprPairList = [CaseScalarExprListScalarExprPair]+-- cata+_sem_CaseScalarExprListScalarExprPairList :: CaseScalarExprListScalarExprPairList ->+ T_CaseScalarExprListScalarExprPairList+_sem_CaseScalarExprListScalarExprPairList list =+ (Prelude.foldr _sem_CaseScalarExprListScalarExprPairList_Cons _sem_CaseScalarExprListScalarExprPairList_Nil (Prelude.map _sem_CaseScalarExprListScalarExprPair list))+-- semantic domain+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]])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 539, column 10)+ _lhsOwhenTypes =+ ({-# LINE 539 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _hdIwhenTypes : _tlIwhenTypes+ {-# LINE 4267 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 540, column 10)+ _lhsOthenTypes =+ ({-# LINE 540 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _hdIthenType : _tlIthenTypes+ {-# LINE 4273 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 4279 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 4285 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 4291 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 4297 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (up)+ _lhsOupTypes =+ ({-# LINE 555 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tlIupTypes+ {-# LINE 4303 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 4309 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOdownEnv =+ ({-# LINE 554 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 4315 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 4321 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 4327 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOthenExpectedType =+ ({-# LINE 602 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIthenExpectedType+ {-# LINE 4333 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOwhenExpectedType =+ ({-# LINE 603 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIwhenExpectedType+ {-# LINE 4339 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 4345 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOdownEnv =+ ({-# LINE 554 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 4351 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 4357 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 4363 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOthenExpectedType =+ ({-# LINE 602 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIthenExpectedType+ {-# LINE 4369 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 541, column 9)+ _lhsOwhenTypes =+ ({-# LINE 541 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ []+ {-# LINE 4399 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 542, column 9)+ _lhsOthenTypes =+ ({-# LINE 542 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ []+ {-# LINE 4405 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 543, column 9)+ _lhsOupTypes =+ ({-# LINE 543 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ []+ {-# LINE 4411 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 4417 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 4423 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 4429 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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)))+-- Constraint --------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : Constraint + originalTree : Constraint + alternatives:+ alternative UniqueConstraint:+ child ann : Annotation + child name : {String}+ child x : {[NameComponent]}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative PrimaryKeyConstraint:+ child ann : Annotation + child name : {String}+ child x : {[NameComponent]}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative CheckConstraint:+ child ann : Annotation + child name : {String}+ child expr : ScalarExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative ReferenceConstraint:+ child ann : Annotation + child name : {String}+ child atts : {[NameComponent]}+ child table : Name + child tableAtts : {[NameComponent]}+ child onUpdate : {Cascade}+ child onDelete : {Cascade}+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+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)+-- cata+_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)+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 62, column 35)+ _annOtpe =+ ({-# LINE 62 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 4531 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ UniqueConstraint _annIannotatedTree name_ x_+ {-# LINE 4537 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ UniqueConstraint _annIoriginalTree name_ x_+ {-# LINE 4543 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 4549 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 4555 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 4561 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 4567 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 59, column 39)+ _annOtpe =+ ({-# LINE 59 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 4598 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ PrimaryKeyConstraint _annIannotatedTree name_ x_+ {-# LINE 4604 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ PrimaryKeyConstraint _annIoriginalTree name_ x_+ {-# LINE 4610 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 4616 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 4622 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 4628 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 4634 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 55, column 34)+ _annOtpe =+ ({-# LINE 55 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 4677 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 56, column 34)+ _exprOdownEnv =+ ({-# LINE 56 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 4683 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 57, column 34)+ _exprOexpectedCast =+ ({-# LINE 57 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 4689 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 58, column 34)+ _exprOexpectedType =+ ({-# LINE 58 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 4695 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 137, column 23)+ _exprOodbcFunction =+ ({-# LINE 137 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 4701 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 810, column 34)+ _exprOassignmentCastContext =+ ({-# LINE 810 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 4707 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ CheckConstraint _annIannotatedTree name_ _exprIannotatedTree+ {-# LINE 4713 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ CheckConstraint _annIoriginalTree name_ _exprIoriginalTree+ {-# LINE 4719 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 4725 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 4731 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 4737 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 4743 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 4749 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 4755 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 4761 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 60, column 38)+ _annOtpe =+ ({-# LINE 60 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 4804 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 61, column 38)+ _tableOtpe =+ ({-# LINE 61 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 4810 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 4828 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 4834 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 4840 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 4846 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 4852 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tableOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 4858 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tableOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 4864 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- ConstraintList ----------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : ConstraintList + originalTree : ConstraintList + alternatives:+ alternative Cons:+ child hd : Constraint + child tl : ConstraintList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type ConstraintList = [Constraint]+-- cata+_sem_ConstraintList :: ConstraintList ->+ T_ConstraintList+_sem_ConstraintList list =+ (Prelude.foldr _sem_ConstraintList_Cons _sem_ConstraintList_Nil (Prelude.map _sem_Constraint list))+-- semantic domain+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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 4941 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 4947 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 4953 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 4959 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 4965 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 4971 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 4977 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 4983 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 4989 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 5013 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 5019 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 5025 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 5031 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- FnBody ------------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : FnBody + originalTree : FnBody + alternatives:+ alternative SqlFnBody:+ child ann : Annotation + child sts : StatementList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative PlpgsqlFnBody:+ child ann : Annotation + child blk : Statement + visit 0:+ local annotatedTree : _+ local originalTree : _+-}+data FnBody = SqlFnBody (Annotation) (StatementList)+ | PlpgsqlFnBody (Annotation) (Statement)+ deriving ( Data,Eq,Show,Typeable)+-- cata+_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))+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 64, column 24)+ _annOtpe =+ ({-# LINE 64 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 5105 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SqlFnBody _annIannotatedTree _stsIannotatedTree+ {-# LINE 5111 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SqlFnBody _annIoriginalTree _stsIoriginalTree+ {-# LINE 5117 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 5123 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 5129 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 5135 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 5141 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 5147 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _stsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 5153 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _stsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 5159 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 63, column 28)+ _annOtpe =+ ({-# LINE 63 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 5196 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ PlpgsqlFnBody _annIannotatedTree _blkIannotatedTree+ {-# LINE 5202 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ PlpgsqlFnBody _annIoriginalTree _blkIoriginalTree+ {-# LINE 5208 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 5214 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 5220 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 5226 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 5232 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 5238 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _blkOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 5244 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _blkOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 5250 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- InList ------------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ downEnv : Environment+ expectedCast : Bool+ expectedType : Maybe TypeExtra+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : InList + listType : Either [TypeError] TypeExtra+ originalTree : InList + alternatives:+ alternative InList:+ child ann : Annotation + child exprs : ScalarExprList + visit 0:+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative InQueryExpr:+ child ann : Annotation + child sel : QueryExpr + visit 0:+ local tpe : _+ local annotatedTree : _+ local originalTree : _+-}+data InList = InList (Annotation) (ScalarExprList)+ | InQueryExpr (Annotation) (QueryExpr)+ deriving ( Data,Eq,Show,Typeable)+-- cata+_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))+-- semantic domain+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])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 219, column 9)+ _tpe =+ ({-# LINE 219 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ Left []+ {-# LINE 5352 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 682, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 684, column 9)+ _exprsOexpectedTypes =+ ({-# LINE 684 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ maybe [] repeat _lhsIexpectedType+ {-# LINE 5365 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 686, column 9)+ _exprsOexpectedCast =+ ({-# LINE 686 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 5371 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 782, column 12)+ _annOimCast =+ ({-# LINE 782 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Nothing+ {-# LINE 5377 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 811, column 21)+ _exprsOassignmentCastContext =+ ({-# LINE 811 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 5383 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ InList _annIannotatedTree _exprsIannotatedTree+ {-# LINE 5389 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ InList _annIoriginalTree _exprsIoriginalTree+ {-# LINE 5395 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 5401 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 5407 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 5413 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 5419 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (from local)+ _annOtpe =+ ({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _tpe+ {-# LINE 5425 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 5431 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprsOdownEnv =+ ({-# LINE 190 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 5437 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 5443 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 97, column 17)+ _selOouterDownEnv =+ ({-# LINE 97 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ Nothing+ {-# LINE 5488 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 219, column 9)+ _tpe =+ ({-# LINE 219 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ Left []+ {-# LINE 5494 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 689, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 699, column 9)+ _selOexpectedType =+ ({-# LINE 699 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ liftM (map snd) _selIupType+ {-# LINE 5513 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 783, column 17)+ _annOimCast =+ ({-# LINE 783 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Nothing+ {-# LINE 5519 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 812, column 26)+ _selOassignmentCastContext =+ ({-# LINE 812 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 5525 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ InQueryExpr _annIannotatedTree _selIannotatedTree+ {-# LINE 5531 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ InQueryExpr _annIoriginalTree _selIoriginalTree+ {-# LINE 5537 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 5543 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 5549 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 5555 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 5561 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (from local)+ _annOtpe =+ ({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _tpe+ {-# LINE 5567 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 5573 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 5579 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- JoinExpr ----------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ downEnv : Environment+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : JoinExpr + originalTree : JoinExpr + alternatives:+ alternative JoinOn:+ child ann : Annotation + child expr : ScalarExpr + visit 0:+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative JoinUsing:+ child ann : Annotation + child x : {[NameComponent]}+ visit 0:+ local tpe : _+ local annotatedTree : _+ local originalTree : _+-}+data JoinExpr = JoinOn (Annotation) (ScalarExpr)+ | JoinUsing (Annotation) (([NameComponent]))+ deriving ( Data,Eq,Show,Typeable)+-- cata+_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)+-- semantic domain+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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 223, column 9)+ _tpe =+ ({-# LINE 223 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ Left []+ {-# LINE 5675 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 140, column 14)+ _exprOodbcFunction =+ ({-# LINE 140 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 5681 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 746, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 750, column 7)+ _exprOexpectedCast =+ ({-# LINE 750 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 5696 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 813, column 23)+ _exprOassignmentCastContext =+ ({-# LINE 813 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 5702 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ JoinOn _annIannotatedTree _exprIannotatedTree+ {-# LINE 5708 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ JoinOn _annIoriginalTree _exprIoriginalTree+ {-# LINE 5714 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 5720 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 5726 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 5732 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 5738 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 5744 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (from local)+ _annOtpe =+ ({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _tpe+ {-# LINE 5750 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 5756 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 5762 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 5768 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 223, column 9)+ _tpe =+ ({-# LINE 223 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ Left []+ {-# LINE 5801 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ JoinUsing _annIannotatedTree x_+ {-# LINE 5807 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ JoinUsing _annIoriginalTree x_+ {-# LINE 5813 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 5819 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 5825 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 5831 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 5837 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 5843 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (from local)+ _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)))+-- MaybeBoolExpr -----------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ downEnv : Environment+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : MaybeBoolExpr + originalTree : MaybeBoolExpr + alternatives:+ alternative Just:+ child just : ScalarExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nothing:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type MaybeBoolExpr = Maybe (ScalarExpr)+-- cata+_sem_MaybeBoolExpr :: MaybeBoolExpr ->+ T_MaybeBoolExpr+_sem_MaybeBoolExpr (Prelude.Just x) =+ (_sem_MaybeBoolExpr_Just (_sem_ScalarExpr x))+_sem_MaybeBoolExpr Prelude.Nothing =+ _sem_MaybeBoolExpr_Nothing+-- semantic domain+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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 143, column 12)+ _justOodbcFunction =+ ({-# LINE 143 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 5923 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 762, column 7)+ _justOexpectedType =+ ({-# LINE 762 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Nothing+ {-# LINE 5929 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 763, column 7)+ _justOexpectedCast =+ ({-# LINE 763 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 5935 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 814, column 26)+ _justOassignmentCastContext =+ ({-# LINE 814 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 5941 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Just _justIannotatedTree+ {-# LINE 5947 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Just _justIoriginalTree+ {-# LINE 5953 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 5959 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 5965 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _justOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 5971 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _justOdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 5977 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _justOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 5983 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Nothing+ {-# LINE 6006 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Nothing+ {-# LINE 6012 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 6018 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 6024 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- MaybeNameComponentList --------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : MaybeNameComponentList + originalTree : MaybeNameComponentList + alternatives:+ alternative Just:+ child just : NameComponentList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nothing:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type MaybeNameComponentList = Maybe (NameComponentList)+-- cata+_sem_MaybeNameComponentList :: MaybeNameComponentList ->+ T_MaybeNameComponentList+_sem_MaybeNameComponentList (Prelude.Just x) =+ (_sem_MaybeNameComponentList_Just (_sem_NameComponentList x))+_sem_MaybeNameComponentList Prelude.Nothing =+ _sem_MaybeNameComponentList_Nothing+-- semantic domain+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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Just _justIannotatedTree+ {-# LINE 6086 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Just _justIoriginalTree+ {-# LINE 6092 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 6098 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 6104 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _justOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 6110 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _justOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 6116 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Nothing+ {-# LINE 6138 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Nothing+ {-# LINE 6144 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 6150 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 6156 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- MaybeScalarExpr ---------------------------------------------+{-+ visit 0:+ inherited attributes:+ assignmentCastContext : Bool+ cat : Catalog+ downEnv : Environment+ expectedCast : Bool+ expectedType : Maybe TypeExtra+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : MaybeScalarExpr + originalTree : MaybeScalarExpr + upType : Maybe TypeExtra+ alternatives:+ alternative Just:+ child just : ScalarExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nothing:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type MaybeScalarExpr = Maybe (ScalarExpr)+-- cata+_sem_MaybeScalarExpr :: MaybeScalarExpr ->+ T_MaybeScalarExpr+_sem_MaybeScalarExpr (Prelude.Just x) =+ (_sem_MaybeScalarExpr_Just (_sem_ScalarExpr x))+_sem_MaybeScalarExpr Prelude.Nothing =+ _sem_MaybeScalarExpr_Nothing+-- semantic domain+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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 146, column 12)+ _justOodbcFunction =+ ({-# LINE 146 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 6239 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Just _justIannotatedTree+ {-# LINE 6245 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Just _justIoriginalTree+ {-# LINE 6251 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 6257 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 6263 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (up)+ _lhsOupType =+ ({-# LINE 109 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _justIupType+ {-# LINE 6269 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _justOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 6275 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _justOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 6281 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _justOdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 6287 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _justOexpectedCast =+ ({-# LINE 111 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIexpectedCast+ {-# LINE 6293 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _justOexpectedType =+ ({-# LINE 110 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIexpectedType+ {-# LINE 6299 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _justOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 6305 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 120, column 15)+ _lhsOupType =+ ({-# LINE 120 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Nothing+ {-# LINE 6332 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Nothing+ {-# LINE 6338 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Nothing+ {-# LINE 6344 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 6350 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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)))+-- MaybeSelectList ---------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : MaybeSelectList + originalTree : MaybeSelectList + alternatives:+ alternative Just:+ child just : SelectList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nothing:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type MaybeSelectList = Maybe (SelectList)+-- cata+_sem_MaybeSelectList :: MaybeSelectList ->+ T_MaybeSelectList+_sem_MaybeSelectList (Prelude.Just x) =+ (_sem_MaybeSelectList_Just (_sem_SelectList x))+_sem_MaybeSelectList Prelude.Nothing =+ _sem_MaybeSelectList_Nothing+-- semantic domain+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)])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 65, column 28)+ _justOdownEnv =+ ({-# LINE 65 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 6425 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 66, column 28)+ _justOexpectedCast =+ ({-# LINE 66 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 6431 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 67, column 28)+ _justOexpectedType =+ ({-# LINE 67 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 6437 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 815, column 28)+ _justOassignmentCastContext =+ ({-# LINE 815 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 6443 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Just _justIannotatedTree+ {-# LINE 6449 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Just _justIoriginalTree+ {-# LINE 6455 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 6461 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 6467 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _justOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 6473 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _justOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 6479 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Nothing+ {-# LINE 6501 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Nothing+ {-# LINE 6507 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 6513 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 6519 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- MaybeTablePartitionDef --------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : MaybeTablePartitionDef + originalTree : MaybeTablePartitionDef + alternatives:+ alternative Just:+ child just : TablePartitionDef + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nothing:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type MaybeTablePartitionDef = Maybe (TablePartitionDef)+-- cata+_sem_MaybeTablePartitionDef :: MaybeTablePartitionDef ->+ T_MaybeTablePartitionDef+_sem_MaybeTablePartitionDef (Prelude.Just x) =+ (_sem_MaybeTablePartitionDef_Just (_sem_TablePartitionDef x))+_sem_MaybeTablePartitionDef Prelude.Nothing =+ _sem_MaybeTablePartitionDef_Nothing+-- semantic domain+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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Just _justIannotatedTree+ {-# LINE 6581 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Just _justIoriginalTree+ {-# LINE 6587 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 6593 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 6599 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _justOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 6605 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _justOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 6611 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Nothing+ {-# LINE 6633 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Nothing+ {-# LINE 6639 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 6645 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 6651 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- Name --------------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ tpe : Either [TypeError] TypeExtra+ synthesized attributes:+ annotatedTree : Name + originalTree : Name + alternatives:+ alternative Name:+ child ann : Annotation + child is : {[NameComponent]}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative AntiName:+ child string : {String}+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+data Name = Name (Annotation) (([NameComponent]))+ | AntiName (String)+ deriving ( Data,Eq,Show,Typeable)+-- cata+_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)+-- semantic domain+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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Name _annIannotatedTree is_+ {-# LINE 6722 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Name _annIoriginalTree is_+ {-# LINE 6728 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 6734 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 6740 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 6746 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 6752 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 6758 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AntiName string_+ {-# LINE 6782 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AntiName string_+ {-# LINE 6788 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 6794 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 6800 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- NameComponentList -------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : NameComponentList + originalTree : NameComponentList + alternatives:+ alternative Cons:+ child hd : {NameComponent}+ child tl : NameComponentList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type NameComponentList = [(NameComponent)]+-- cata+_sem_NameComponentList :: NameComponentList ->+ T_NameComponentList+_sem_NameComponentList list =+ (Prelude.foldr _sem_NameComponentList_Cons _sem_NameComponentList_Nil list)+-- semantic domain+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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) hd_ _tlIannotatedTree+ {-# LINE 6862 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) hd_ _tlIoriginalTree+ {-# LINE 6868 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 6874 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 6880 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 6886 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 6892 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 6914 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 6920 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 6926 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 6932 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- NameTypeNameListPair ----------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : NameTypeNameListPair + originalTree : NameTypeNameListPair + alternatives:+ alternative Tuple:+ child x1 : Name + child x2 : TypeNameList + visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type NameTypeNameListPair = ( Name,TypeNameList)+-- cata+_sem_NameTypeNameListPair :: NameTypeNameListPair ->+ T_NameTypeNameListPair+_sem_NameTypeNameListPair ( x1,x2) =+ (_sem_NameTypeNameListPair_Tuple (_sem_Name x1) (_sem_TypeNameList x2))+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 68, column 34)+ _x1Otpe =+ ({-# LINE 68 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 6996 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (_x1IannotatedTree,_x2IannotatedTree)+ {-# LINE 7002 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (_x1IoriginalTree,_x2IoriginalTree)+ {-# LINE 7008 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 7014 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 7020 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x1Ocat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 7026 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x1Oflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 7032 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x1OimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 7038 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x2Ocat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 7044 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x2Oflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 7050 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- NameTypeNameListPairList ------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : NameTypeNameListPairList + originalTree : NameTypeNameListPairList + alternatives:+ alternative Cons:+ child hd : NameTypeNameListPair + child tl : NameTypeNameListPairList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type NameTypeNameListPairList = [NameTypeNameListPair]+-- cata+_sem_NameTypeNameListPairList :: NameTypeNameListPairList ->+ T_NameTypeNameListPairList+_sem_NameTypeNameListPairList list =+ (Prelude.foldr _sem_NameTypeNameListPairList_Cons _sem_NameTypeNameListPairList_Nil (Prelude.map _sem_NameTypeNameListPair list))+-- semantic domain+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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 7127 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 7133 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 7139 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 7145 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 7151 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 7157 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 7163 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 7169 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 7175 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 7199 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 7205 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 7211 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 7217 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- OnExpr ------------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ downEnv : Environment+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : OnExpr + originalTree : OnExpr + alternatives:+ alternative Just:+ child just : JoinExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nothing:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type OnExpr = Maybe (JoinExpr)+-- cata+_sem_OnExpr :: OnExpr ->+ T_OnExpr+_sem_OnExpr (Prelude.Just x) =+ (_sem_OnExpr_Just (_sem_JoinExpr x))+_sem_OnExpr Prelude.Nothing =+ _sem_OnExpr_Nothing+-- semantic domain+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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Just _justIannotatedTree+ {-# LINE 7283 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Just _justIoriginalTree+ {-# LINE 7289 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 7295 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 7301 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _justOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 7307 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _justOdownEnv =+ ({-# LINE 215 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 7313 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _justOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 7319 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Nothing+ {-# LINE 7342 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Nothing+ {-# LINE 7348 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 7354 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 7360 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- ParamDef ----------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : ParamDef + originalTree : ParamDef + alternatives:+ alternative ParamDef:+ child ann : Annotation + child name : {NameComponent}+ child typ : TypeName + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative ParamDefTp:+ child ann : Annotation + child typ : TypeName + visit 0:+ local annotatedTree : _+ local originalTree : _+-}+data ParamDef = ParamDef (Annotation) (NameComponent) (TypeName)+ | ParamDefTp (Annotation) (TypeName)+ deriving ( Data,Eq,Show,Typeable)+-- cata+_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))+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 69, column 25)+ _annOtpe =+ ({-# LINE 69 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 7437 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ParamDef _annIannotatedTree name_ _typIannotatedTree+ {-# LINE 7443 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ParamDef _annIoriginalTree name_ _typIoriginalTree+ {-# LINE 7449 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 7455 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 7461 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 7467 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 7473 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 7479 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _typOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 7485 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _typOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 7491 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 70, column 27)+ _annOtpe =+ ({-# LINE 70 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 7529 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ParamDefTp _annIannotatedTree _typIannotatedTree+ {-# LINE 7535 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ParamDefTp _annIoriginalTree _typIoriginalTree+ {-# LINE 7541 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 7547 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 7553 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 7559 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 7565 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 7571 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _typOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 7577 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _typOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 7583 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- ParamDefList ------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : ParamDefList + originalTree : ParamDefList + alternatives:+ alternative Cons:+ child hd : ParamDef + child tl : ParamDefList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type ParamDefList = [ParamDef]+-- cata+_sem_ParamDefList :: ParamDefList ->+ T_ParamDefList+_sem_ParamDefList list =+ (Prelude.foldr _sem_ParamDefList_Cons _sem_ParamDefList_Nil (Prelude.map _sem_ParamDef list))+-- semantic domain+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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 7660 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 7666 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 7672 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 7678 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 7684 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 7690 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 7696 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 7702 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 7708 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 7732 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 7738 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 7744 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 7750 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- QueryExpr ---------------------------------------------------+{-+ visit 0:+ inherited attributes:+ assignmentCastContext : Bool+ cat : Catalog+ expectedType : Maybe [TypeExtra]+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ outerDownEnv : Maybe Environment+ synthesized attributes:+ annotatedTree : QueryExpr + originalTree : QueryExpr + upType : Maybe [(Text,TypeExtra)]+ alternatives:+ alternative Select:+ child ann : Annotation + child selDistinct : {Distinct}+ child selSelectList : SelectList + child selTref : TableRefList + child selWhere : MaybeBoolExpr + child selGroupBy : ScalarExprList + child selHaving : MaybeBoolExpr + child selOrderBy : ScalarExprDirectionPairList + child selLimit : MaybeScalarExpr + child selOffset : MaybeScalarExpr + child selOption : {[QueryHint]}+ visit 0:+ local tpee : {Either [TypeError] [(Text,TypeExtra)]}+ local tpe : {Either [TypeError] TypeExtra}+ local selGroupBy : _+ local annotatedTree : _+ local originalTree : _+ alternative CombineQueryExpr:+ child ann : Annotation + child cqType : {CombineType}+ child cqQe0 : QueryExpr + child cqQe1 : QueryExpr + visit 0:+ local tpe : {Either [TypeError] TypeExtra}+ local tpee : {Either [TypeError] [(Text,TypeExtra)]}+ local annotatedTree : _+ local originalTree : _+ alternative Values:+ child ann : Annotation + child qeValues : ScalarExprListList + visit 0:+ local tpe : {Either [TypeError] TypeExtra}+ local tpee : {Either [TypeError] [(Text,TypeExtra)]}+ local annotatedTree : _+ local originalTree : _+ alternative WithQueryExpr:+ child ann : Annotation + child withs : WithQueryList + child withQe : QueryExpr + visit 0:+ local tpe : {Either [TypeError] TypeExtra}+ local tpee : {Either [TypeError] [(Text,TypeExtra)]}+ local annotatedTree : _+ local originalTree : _+-}++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)++-- todo: represent parens explicitly in queryexpr+-- | QueryExprParens ex:: QueryExpr+++ } deriving (Eq,Show,Data,Typeable)++-- cata+_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))+-- semantic domain+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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 71, column 24)+ _selGroupByOexpectedCast =+ ({-# LINE 71 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 7946 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 72, column 24)+ _selLimitOdownEnv =+ ({-# LINE 72 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 7952 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 73, column 24)+ _selLimitOexpectedCast =+ ({-# LINE 73 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 7958 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 74, column 24)+ _selOffsetOdownEnv =+ ({-# LINE 74 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 7964 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 75, column 24)+ _selOffsetOexpectedCast =+ ({-# LINE 75 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 7970 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 76, column 24)+ _selSelectListOexpectedCast =+ ({-# LINE 76 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 7976 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 106, column 9)+ _selSelectListOdownEnv =+ ({-# LINE 106 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _selTrefIupEnv+ {-# LINE 7982 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 107, column 9)+ _selGroupByOdownEnv =+ ({-# LINE 107 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _selTrefIupEnv+ {-# LINE 7988 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 108, column 9)+ _selHavingOdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _selTrefIupEnv+ {-# LINE 7994 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 128, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 129, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 132, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 142, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 145, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 239, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 248, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 767, column 7)+ _selGroupByOexpectedTypes =+ ({-# LINE 767 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ []+ {-# LINE 8059 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 768, column 7)+ _selLimitOexpectedType =+ ({-# LINE 768 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Nothing+ {-# LINE 8065 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 769, column 7)+ _selOffsetOexpectedType =+ ({-# LINE 769 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Nothing+ {-# LINE 8071 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 8089 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 8095 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 8101 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 8107 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (from local)+ _annOtpe =+ ({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _tpe+ {-# LINE 8113 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selSelectListOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 8119 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selSelectListOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 8125 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selSelectListOexpectedType =+ ({-# LINE 159 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ _lhsIexpectedType+ {-# LINE 8131 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selSelectListOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 8137 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selSelectListOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 8143 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selTrefOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 8149 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selTrefOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 8155 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selTrefOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 8161 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selWhereOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 8167 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selWhereOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 8173 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selWhereOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 8179 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selGroupByOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 8185 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selGroupByOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 8191 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selGroupByOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 8197 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selGroupByOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 8203 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selHavingOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 8209 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selHavingOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 8215 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selHavingOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 8221 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selOrderByOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 8227 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selOrderByOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 8233 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selOrderByOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 8239 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selLimitOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 8245 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selLimitOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 8251 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selLimitOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 8257 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selLimitOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 8263 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selOffsetOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 8269 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selOffsetOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 8275 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selOffsetOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 8281 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 142, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 145, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 156, column 9)+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 8391 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 8397 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 8403 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 8409 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 8415 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (from local)+ _annOtpe =+ ({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _tpe+ {-# LINE 8421 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _cqQe0OassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 8427 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _cqQe0Ocat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 8433 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _cqQe0OexpectedType =+ ({-# LINE 18 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _lhsIexpectedType+ {-# LINE 8439 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _cqQe0Oflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 8445 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _cqQe0OimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 8451 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _cqQe0OouterDownEnv =+ ({-# LINE 89 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _lhsIouterDownEnv+ {-# LINE 8457 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _cqQe1OassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 8463 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _cqQe1Ocat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 8469 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _cqQe1OexpectedType =+ ({-# LINE 18 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _lhsIexpectedType+ {-# LINE 8475 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _cqQe1Oflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 8481 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _cqQe1OimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 8487 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 77, column 24)+ _qeValuesOdownEnv =+ ({-# LINE 77 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 8537 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 142, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 145, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 153, column 9)+ _tpee =+ ({-# LINE 153 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _qeValuesIupType+ {-# LINE 8555 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 154, column 9)+ _qeValuesOexpectedCast =+ ({-# LINE 154 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ True+ {-# LINE 8561 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Values _annIannotatedTree _qeValuesIannotatedTree+ {-# LINE 8567 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Values _annIoriginalTree _qeValuesIoriginalTree+ {-# LINE 8573 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 8579 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 8585 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 8591 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 8597 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 8603 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (from local)+ _annOtpe =+ ({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _tpe+ {-# LINE 8609 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _qeValuesOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 8615 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _qeValuesOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 8621 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _qeValuesOexpectedType =+ ({-# LINE 186 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _lhsIexpectedType+ {-# LINE 8627 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _qeValuesOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 8633 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 70, column 8)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 74, column 8)+ _withsOcatExtIncomp =+ ({-# LINE 74 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ return _lhsIcat+ {-# LINE 8696 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 76, column 8)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 142, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 145, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 151, column 9)+ _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" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ WithQueryExpr _annIannotatedTree _withsIannotatedTree _withQeIannotatedTree+ {-# LINE 8729 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ WithQueryExpr _annIoriginalTree _withsIoriginalTree _withQeIoriginalTree+ {-# LINE 8735 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 8741 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 8747 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 8753 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 8759 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (from local)+ _annOtpe =+ ({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _tpe+ {-# LINE 8765 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _withsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 8771 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _withsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 8777 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _withsOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 8783 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _withQeOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 8789 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _withQeOexpectedType =+ ({-# LINE 18 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _lhsIexpectedType+ {-# LINE 8795 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _withQeOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 8801 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _withQeOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 8807 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- Root --------------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ synthesized attributes:+ annotatedTree : Root + originalTree : Root + alternatives:+ alternative Root:+ child statements : StatementList + visit 0:+ local annotatedTree : _+ local originalTree : _+-}+data Root = Root (StatementList)+ deriving ( Show)+-- cata+_sem_Root :: Root ->+ T_Root+_sem_Root (Root _statements) =+ (_sem_Root_Root (_sem_StatementList _statements))+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag"(line 133, column 8)+ _statementsOimCast =+ ({-# LINE 133 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Nothing+ {-# LINE 8873 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Root _statementsIannotatedTree+ {-# LINE 8879 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Root _statementsIoriginalTree+ {-# LINE 8885 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 8891 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 8897 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _statementsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 8903 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- RowConstraint -----------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : RowConstraint + originalTree : RowConstraint + alternatives:+ alternative DefaultConstraint:+ child ann : Annotation + child name : {String}+ child expr : ScalarExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative NullConstraint:+ child ann : Annotation + child name : {String}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative NotNullConstraint:+ child ann : Annotation + child name : {String}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative IdentityConstraint:+ child ann : Annotation + child name : {String}+ child seedAndInc : {(Maybe (Integer,Integer))}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative RowCheckConstraint:+ child ann : Annotation + child name : {String}+ child expr : ScalarExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative RowUniqueConstraint:+ child ann : Annotation + child name : {String}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative RowPrimaryKeyConstraint:+ child ann : Annotation + child name : {String}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative RowReferenceConstraint:+ child ann : Annotation + child name : {String}+ child table : Name + child att : {Maybe NameComponent}+ child onUpdate : {Cascade}+ child onDelete : {Cascade}+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+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)+-- cata+_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)+-- semantic domain+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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 81, column 39)+ _annOtpe =+ ({-# LINE 81 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 9054 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 82, column 39)+ _exprOdownEnv =+ ({-# LINE 82 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 9060 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 83, column 39)+ _exprOexpectedCast =+ ({-# LINE 83 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 9066 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 84, column 39)+ _exprOexpectedType =+ ({-# LINE 84 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 9072 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 149, column 25)+ _exprOodbcFunction =+ ({-# LINE 149 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 9078 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 816, column 39)+ _exprOassignmentCastContext =+ ({-# LINE 816 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 9084 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ DefaultConstraint _annIannotatedTree name_ _exprIannotatedTree+ {-# LINE 9090 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ DefaultConstraint _annIoriginalTree name_ _exprIoriginalTree+ {-# LINE 9096 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 9102 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 9108 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 9114 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 9120 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 9126 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 9132 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 9138 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 80, column 36)+ _annOtpe =+ ({-# LINE 80 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 9170 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ NullConstraint _annIannotatedTree name_+ {-# LINE 9176 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ NullConstraint _annIoriginalTree name_+ {-# LINE 9182 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 9188 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 9194 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 9200 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 9206 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 79, column 39)+ _annOtpe =+ ({-# LINE 79 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 9236 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ NotNullConstraint _annIannotatedTree name_+ {-# LINE 9242 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ NotNullConstraint _annIoriginalTree name_+ {-# LINE 9248 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 9254 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 9260 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 9266 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 9272 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 78, column 40)+ _annOtpe =+ ({-# LINE 78 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 9303 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ IdentityConstraint _annIannotatedTree name_ seedAndInc_+ {-# LINE 9309 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ IdentityConstraint _annIoriginalTree name_ seedAndInc_+ {-# LINE 9315 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 9321 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 9327 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 9333 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 9339 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 85, column 40)+ _annOtpe =+ ({-# LINE 85 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 9382 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 86, column 40)+ _exprOdownEnv =+ ({-# LINE 86 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 9388 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 87, column 40)+ _exprOexpectedCast =+ ({-# LINE 87 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 9394 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 88, column 40)+ _exprOexpectedType =+ ({-# LINE 88 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 9400 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 150, column 26)+ _exprOodbcFunction =+ ({-# LINE 150 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 9406 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 817, column 40)+ _exprOassignmentCastContext =+ ({-# LINE 817 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 9412 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ RowCheckConstraint _annIannotatedTree name_ _exprIannotatedTree+ {-# LINE 9418 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ RowCheckConstraint _annIoriginalTree name_ _exprIoriginalTree+ {-# LINE 9424 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 9430 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 9436 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 9442 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 9448 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 9454 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 9460 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 9466 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 92, column 41)+ _annOtpe =+ ({-# LINE 92 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 9498 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ RowUniqueConstraint _annIannotatedTree name_+ {-# LINE 9504 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ RowUniqueConstraint _annIoriginalTree name_+ {-# LINE 9510 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 9516 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 9522 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 9528 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 9534 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 89, column 45)+ _annOtpe =+ ({-# LINE 89 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 9564 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ RowPrimaryKeyConstraint _annIannotatedTree name_+ {-# LINE 9570 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ RowPrimaryKeyConstraint _annIoriginalTree name_+ {-# LINE 9576 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 9582 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 9588 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 9594 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 9600 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 90, column 44)+ _annOtpe =+ ({-# LINE 90 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 9640 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 91, column 44)+ _tableOtpe =+ ({-# LINE 91 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 9646 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 9664 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 9670 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 9676 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 9682 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 9688 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tableOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 9694 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tableOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 9700 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- RowConstraintList -------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : RowConstraintList + originalTree : RowConstraintList + alternatives:+ alternative Cons:+ child hd : RowConstraint + child tl : RowConstraintList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type RowConstraintList = [RowConstraint]+-- cata+_sem_RowConstraintList :: RowConstraintList ->+ T_RowConstraintList+_sem_RowConstraintList list =+ (Prelude.foldr _sem_RowConstraintList_Cons _sem_RowConstraintList_Nil (Prelude.map _sem_RowConstraint list))+-- semantic domain+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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 9777 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 9783 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 9789 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 9795 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 9801 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 9807 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 9813 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 9819 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 9825 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 9849 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 9855 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 9861 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 9867 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- ScalarExpr --------------------------------------------------+{-+ visit 0:+ inherited attributes:+ assignmentCastContext : Bool+ cat : Catalog+ downEnv : Environment+ expectedCast : Bool+ expectedType : Maybe TypeExtra+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ odbcFunction : Bool+ synthesized attributes:+ annotatedTree : ScalarExpr + colExprs : [(NameComponent,Maybe TypeExtra,ScalarExpr)]+ originalTree : ScalarExpr + upType : Maybe TypeExtra+ alternatives:+ alternative NumberLit:+ child ann : Annotation + child d : {String}+ visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : _+ local digChars : _+ local annotatedTree : _+ local originalTree : _+ alternative StringLit:+ child ann : Annotation + child value : {String}+ visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative NullLit:+ child ann : Annotation + visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative BooleanLit:+ child ann : Annotation + child b : {Bool}+ visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative TypedStringLit:+ child ann : Annotation + child tn : TypeName + child value : {String}+ visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative Interval:+ child ann : Annotation + child value : {String}+ child field : {IntervalField}+ child prec : {Maybe Int}+ visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative Identifier:+ child ann : Annotation + child i : Name + visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local elkp : _+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative Star:+ child ann : Annotation + visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : {Either [TypeError] TypeExtra}+ local starCS : _+ local annotatedTree : _+ local originalTree : _+ alternative QStar:+ child ann : Annotation + child q : {NameComponent}+ visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : {Either [TypeError] TypeExtra}+ local starCS : _+ local annotatedTree : _+ local originalTree : _+ alternative PositionalArg:+ child ann : Annotation + child p : {Integer}+ visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative Placeholder:+ child ann : Annotation + visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative PrefixOp:+ child ann : Annotation + child opName : Name + child arg : ScalarExpr + visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : {Either [TypeError] TypeExtra}+ local ttpe : {Either [TypeError] ([TypeExtra],TypeExtra)}+ local annotatedTree : _+ local originalTree : _+ alternative PostfixOp:+ child ann : Annotation + child opName : Name + child arg : ScalarExpr + visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : {Either [TypeError] TypeExtra}+ local ttpe : {Either [TypeError] ([TypeExtra],TypeExtra)}+ local annotatedTree : _+ local originalTree : _+ alternative BinaryOp:+ child ann : Annotation + child opName : Name + child arg0 : ScalarExpr + child arg1 : ScalarExpr + visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : {Either [TypeError] TypeExtra}+ local ttpe : {Either [TypeError] ([TypeExtra],TypeExtra)}+ local annotatedTree : _+ local originalTree : _+ alternative SpecialOp:+ child ann : Annotation + child opName : Name + child args : ScalarExprList + visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : {Either [TypeError] TypeExtra}+ local ttpe : {Either [TypeError] ([TypeExtra],TypeExtra)}+ local annotatedTree : _+ local originalTree : _+ alternative Extract:+ child ann : Annotation + child field : {ExtractField}+ child e : ScalarExpr + visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative App:+ child ann : Annotation + child funName : Name + child args : ScalarExprList + visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : {Either [TypeError] TypeExtra}+ local funName : _+ local ttpe : {Either [TypeError] ([TypeExtra],TypeExtra)}+ local annotatedTree : _+ local originalTree : _+ alternative AggregateApp:+ child ann : Annotation + child aggDistinct : {Distinct}+ child fn : ScalarExpr + child orderBy : ScalarExprDirectionPairList + visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative WindowApp:+ child ann : Annotation + child fn : ScalarExpr + child partitionBy : ScalarExprList + child orderBy : ScalarExprDirectionPairList + child frm : {Maybe FrameClause}+ visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative Cast:+ child ann : Annotation + child expr : ScalarExpr + child tn : TypeName + visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative ImplicitCast:+ child ann : Annotation + child expr : ScalarExpr + child te : {TypeExtra}+ visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative Case:+ child ann : Annotation + child cases : CaseScalarExprListScalarExprPairList + child els : MaybeScalarExpr + visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local whenTypes : _+ local thenTypes : _+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative CaseSimple:+ child ann : Annotation + child value : ScalarExpr + child cases : CaseScalarExprListScalarExprPairList + child els : MaybeScalarExpr + visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local whenTypes : _+ local thenTypes : _+ local whent : _+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative Parens:+ child ann : Annotation + child ex : ScalarExpr + visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative InPredicate:+ child ann : Annotation + child expr : ScalarExpr + child i : {Bool}+ child list : InList + visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local rt : {Either [TypeError] TypeExtra}+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative Exists:+ child ann : Annotation + child sel : QueryExpr + visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative ScalarSubQuery:+ child ann : Annotation + child sel : QueryExpr + visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative LiftApp:+ child ann : Annotation + child oper : Name + child flav : {LiftFlavour}+ child args : ScalarExprList + visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative OdbcLiteral:+ child ann : Annotation + child olt : {OdbcLiteralType}+ child val : {String}+ visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative OdbcFunc:+ child ann : Annotation + child ex : ScalarExpr + visit 0:+ local upType : _+ local dialectTypeName : {Text -> Either [TypeError] Text}+ local tpe : _+ local annotatedTree : _+ local originalTree : _+ alternative AntiScalarExpr:+ child string : {String}+ visit 0:+ local tpe : _+ local annotatedTree : _+ local originalTree : _+-}+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)+-- cata+_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)+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 10366 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 10378 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 250, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 254, column 9)+ _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" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ NumberLit _annIannotatedTree d_+ {-# LINE 10415 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ NumberLit _annIoriginalTree d_+ {-# LINE 10421 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 10427 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 10433 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 10439 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 10498 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 10510 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 258, column 9)+ _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" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ StringLit _annIannotatedTree value_+ {-# LINE 10539 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ StringLit _annIoriginalTree value_+ {-# LINE 10545 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 10551 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 10557 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 10563 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 10621 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 10633 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 261, column 10)+ _tpe =+ ({-# LINE 261 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Right $ mkTypeExtra UnknownType+ {-# LINE 10656 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ NullLit _annIannotatedTree+ {-# LINE 10662 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ NullLit _annIoriginalTree+ {-# LINE 10668 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 10674 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 10680 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 10686 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 10745 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 10757 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 241, column 9)+ _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" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ BooleanLit _annIannotatedTree b_+ {-# LINE 10786 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ BooleanLit _annIoriginalTree b_+ {-# LINE 10792 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 10798 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 10804 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 10810 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 10876 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 10888 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 271, column 10)+ _tpe =+ ({-# LINE 271 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ maybe (Left []) Right _tnInamedType+ {-# LINE 10911 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ TypedStringLit _annIannotatedTree _tnIannotatedTree value_+ {-# LINE 10917 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ TypedStringLit _annIoriginalTree _tnIoriginalTree value_+ {-# LINE 10923 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 10929 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 10935 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 10941 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 10947 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tnOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 10953 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tnOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 10959 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 11022 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 11034 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 283, column 9)+ _tpe =+ ({-# LINE 283 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Right $ mkTypeExtraNN $ ScalarType "interval"+ {-# LINE 11057 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 11075 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 11081 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 11087 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 11152 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 11164 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 326, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 327, column 10)+ _tpe =+ ({-# LINE 327 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ fmap snd _elkp+ {-# LINE 11193 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 329, column 10)+ _lhsOannotatedTree =+ ({-# LINE 329 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _annotatedTree+ {-# LINE 11199 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 330, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 350, column 10)+ _iOtpe =+ ({-# LINE 350 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Left []+ {-# LINE 11221 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Identifier _annIoriginalTree _iIoriginalTree+ {-# LINE 11227 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 11233 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 11239 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 11245 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _iOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 11251 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _iOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 11257 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 11318 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 11330 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 714, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 723, column 9)+ _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" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Star _annIannotatedTree+ {-# LINE 11372 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Star _annIoriginalTree+ {-# LINE 11378 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 11384 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 11390 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 11396 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 11456 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 11468 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 714, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 723, column 9)+ _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" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ QStar _annIannotatedTree q_+ {-# LINE 11510 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ QStar _annIoriginalTree q_+ {-# LINE 11516 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 11522 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 11528 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 11534 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 11593 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 11605 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 735, column 9)+ _tpe =+ ({-# LINE 735 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Left []+ {-# LINE 11628 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ PositionalArg _annIannotatedTree p_+ {-# LINE 11634 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ PositionalArg _annIoriginalTree p_+ {-# LINE 11640 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 11646 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 11652 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 11658 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 11716 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 11728 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 301, column 10)+ _tpe =+ ({-# LINE 301 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Right $ mkTypeExtraNN UnknownType+ {-# LINE 11751 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Placeholder _annIannotatedTree+ {-# LINE 11757 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Placeholder _annIoriginalTree+ {-# LINE 11763 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 11769 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 11775 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 11781 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 11861 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 11873 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 176, column 26)+ _argOodbcFunction =+ ({-# LINE 176 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 11896 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 211, column 9)+ _opNameOtpe =+ ({-# LINE 211 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Left []+ {-# LINE 11902 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 365, column 10)+ _tpe =+ ({-# LINE 365 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ fmap snd _ttpe+ {-# LINE 11908 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 434, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 435, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 457, column 9)+ _argOexpectedCast =+ ({-# LINE 457 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 11928 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ PrefixOp _annIannotatedTree _opNameIannotatedTree _argIannotatedTree+ {-# LINE 11934 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ PrefixOp _annIoriginalTree _opNameIoriginalTree _argIoriginalTree+ {-# LINE 11940 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 11946 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 11952 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 11958 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 11964 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _opNameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 11970 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _opNameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 11976 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _opNameOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 11982 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 11988 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 11994 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argOdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 12000 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 12006 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 12090 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 12102 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 176, column 26)+ _argOodbcFunction =+ ({-# LINE 176 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 12125 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 211, column 9)+ _opNameOtpe =+ ({-# LINE 211 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Left []+ {-# LINE 12131 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 365, column 10)+ _tpe =+ ({-# LINE 365 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ fmap snd _ttpe+ {-# LINE 12137 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 434, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 435, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 457, column 9)+ _argOexpectedCast =+ ({-# LINE 457 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 12157 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ PostfixOp _annIannotatedTree _opNameIannotatedTree _argIannotatedTree+ {-# LINE 12163 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ PostfixOp _annIoriginalTree _opNameIoriginalTree _argIoriginalTree+ {-# LINE 12169 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 12175 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 12181 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 12187 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 12193 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _opNameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 12199 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _opNameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 12205 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _opNameOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 12211 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 12217 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 12223 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argOdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 12229 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 12235 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 12332 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 12344 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 177, column 16)+ _arg0OodbcFunction =+ ({-# LINE 177 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 12367 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 178, column 16)+ _arg1OodbcFunction =+ ({-# LINE 178 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 12373 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 211, column 9)+ _opNameOtpe =+ ({-# LINE 211 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Left []+ {-# LINE 12379 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 365, column 10)+ _tpe =+ ({-# LINE 365 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ fmap snd _ttpe+ {-# LINE 12385 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 426, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 429, column 10)+ (_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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 459, column 9)+ _arg0OexpectedCast =+ ({-# LINE 459 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 12407 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 460, column 9)+ _arg1OexpectedCast =+ ({-# LINE 460 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 12413 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 12431 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 12437 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 12443 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 12449 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _opNameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 12455 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _opNameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 12461 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _opNameOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 12467 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _arg0OassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 12473 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _arg0Ocat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 12479 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _arg0OdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 12485 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _arg0Oflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 12491 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _arg0OimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 12497 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _arg1OassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 12503 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _arg1Ocat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 12509 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _arg1OdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 12515 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _arg1Oflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 12521 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 12605 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 12617 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 211, column 9)+ _opNameOtpe =+ ({-# LINE 211 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Left []+ {-# LINE 12640 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 365, column 10)+ _tpe =+ ({-# LINE 365 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ fmap snd _ttpe+ {-# LINE 12646 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 440, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 441, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 455, column 9)+ _argsOexpectedCast =+ ({-# LINE 455 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 12664 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SpecialOp _annIannotatedTree _opNameIannotatedTree _argsIannotatedTree+ {-# LINE 12670 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SpecialOp _annIoriginalTree _opNameIoriginalTree _argsIoriginalTree+ {-# LINE 12676 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 12682 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 12688 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 12694 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 12700 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _opNameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 12706 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _opNameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 12712 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _opNameOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 12718 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argsOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 12724 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 12730 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argsOdownEnv =+ ({-# LINE 190 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 12736 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 12742 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 12818 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 12830 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 172, column 15)+ _eOodbcFunction =+ ({-# LINE 172 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 12853 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 285, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 293, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 299, column 9)+ _eOexpectedCast =+ ({-# LINE 299 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 12881 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Extract _annIannotatedTree field_ _eIannotatedTree+ {-# LINE 12887 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Extract _annIoriginalTree field_ _eIoriginalTree+ {-# LINE 12893 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 12899 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 12905 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 12911 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 12917 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _eOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 12923 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _eOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 12929 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _eOdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 12935 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _eOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 12941 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 13021 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 13033 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 209, column 9)+ _funNameOtpe =+ ({-# LINE 209 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Left []+ {-# LINE 13056 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 365, column 10)+ _tpe =+ ({-# LINE 365 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ fmap snd _ttpe+ {-# LINE 13062 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 367, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 381, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 404, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 455, column 9)+ _argsOexpectedCast =+ ({-# LINE 455 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 13111 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ App _annIannotatedTree _funNameIannotatedTree _argsIannotatedTree+ {-# LINE 13117 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ App _annIoriginalTree _funNameIoriginalTree _argsIoriginalTree+ {-# LINE 13123 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 13129 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 13135 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 13141 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 13147 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _funNameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 13153 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _funNameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 13159 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _funNameOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 13165 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argsOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 13171 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 13177 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argsOdownEnv =+ ({-# LINE 190 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 13183 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 13189 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 13272 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 13284 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 179, column 20)+ _fnOodbcFunction =+ ({-# LINE 179 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 13307 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 443, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 462, column 9)+ _fnOexpectedCast =+ ({-# LINE 462 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 13322 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 753, column 28)+ _fnOexpectedType =+ ({-# LINE 753 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Nothing+ {-# LINE 13328 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 13346 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 13352 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 13358 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 13364 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fnOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 13370 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fnOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 13376 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fnOdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 13382 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fnOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 13388 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fnOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 13394 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _orderByOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 13400 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _orderByOdownEnv =+ ({-# LINE 215 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 13406 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _orderByOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 13412 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 13506 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 13518 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 180, column 17)+ _fnOodbcFunction =+ ({-# LINE 180 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 13541 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 449, column 10)+ _tpe =+ ({-# LINE 449 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ maybe (Left []) Right _fnIupType+ {-# LINE 13547 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 462, column 9)+ _fnOexpectedCast =+ ({-# LINE 462 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 13553 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 465, column 9)+ _partitionByOexpectedCast =+ ({-# LINE 465 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 13559 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 753, column 28)+ _fnOexpectedType =+ ({-# LINE 753 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Nothing+ {-# LINE 13565 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 775, column 15)+ _partitionByOexpectedTypes =+ ({-# LINE 775 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ []+ {-# LINE 13571 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 13589 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 13595 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 13601 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 13607 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fnOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 13613 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fnOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 13619 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fnOdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 13625 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fnOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 13631 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fnOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 13637 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _partitionByOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 13643 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _partitionByOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 13649 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _partitionByOdownEnv =+ ({-# LINE 190 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 13655 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _partitionByOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 13661 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _partitionByOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 13667 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _orderByOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 13673 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _orderByOdownEnv =+ ({-# LINE 215 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 13679 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _orderByOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 13685 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 13769 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 13781 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 173, column 12)+ _exprOodbcFunction =+ ({-# LINE 173 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 13804 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 273, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 277, column 10)+ _exprOexpectedType =+ ({-# LINE 277 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Nothing+ {-# LINE 13818 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 278, column 10)+ _exprOexpectedCast =+ ({-# LINE 278 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 13824 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Cast _annIannotatedTree _exprIannotatedTree _tnIannotatedTree+ {-# LINE 13830 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Cast _annIoriginalTree _exprIoriginalTree _tnIoriginalTree+ {-# LINE 13836 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 13842 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 13848 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 13854 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 13860 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 13866 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 13872 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 13878 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 13884 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 13890 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tnOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 13896 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tnOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 13902 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 13978 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 13990 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 174, column 20)+ _exprOodbcFunction =+ ({-# LINE 174 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 14013 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 280, column 9)+ _tpe =+ ({-# LINE 280 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Right te_+ {-# LINE 14019 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 281, column 9)+ _exprOexpectedType =+ ({-# LINE 281 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Nothing+ {-# LINE 14025 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ImplicitCast _annIannotatedTree _exprIannotatedTree te_+ {-# LINE 14031 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ImplicitCast _annIoriginalTree _exprIoriginalTree te_+ {-# LINE 14037 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 14043 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 14049 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 14055 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 14061 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 14067 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 14073 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 14079 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOexpectedCast =+ ({-# LINE 111 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIexpectedCast+ {-# LINE 14085 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 14091 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 14174 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 14186 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 559, column 9)+ _whenTypes =+ ({-# LINE 559 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _casesIwhenTypes+ {-# LINE 14209 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 560, column 9)+ _thenTypes =+ ({-# LINE 560 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _casesIthenTypes ++ maybe [] ((:[]) . Just) _elsIupType+ {-# LINE 14215 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 562, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 574, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 580, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 581, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 582, column 9)+ _elsOexpectedCast =+ ({-# LINE 582 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ True+ {-# LINE 14258 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Case _annIannotatedTree _casesIannotatedTree _elsIannotatedTree+ {-# LINE 14264 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Case _annIoriginalTree _casesIoriginalTree _elsIoriginalTree+ {-# LINE 14270 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 14276 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 14282 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 14288 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 14294 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _casesOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 14300 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _casesOdownEnv =+ ({-# LINE 554 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 14306 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _casesOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 14312 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _casesOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 14318 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _elsOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 14324 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _elsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 14330 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _elsOdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 14336 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _elsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 14342 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 14440 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 14452 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 175, column 18)+ _valueOodbcFunction =+ ({-# LINE 175 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 14475 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 559, column 9)+ _whenTypes =+ ({-# LINE 559 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _casesIwhenTypes+ {-# LINE 14481 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 560, column 9)+ _thenTypes =+ ({-# LINE 560 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _casesIthenTypes ++ maybe [] ((:[]) . Just) _elsIupType+ {-# LINE 14487 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 584, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 589, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 594, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 595, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 596, column 9)+ _valueOexpectedCast =+ ({-# LINE 596 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 14523 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 597, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 598, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 599, column 9)+ _elsOexpectedCast =+ ({-# LINE 599 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ True+ {-# LINE 14541 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 14559 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 14565 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 14571 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 14577 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _valueOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 14583 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _valueOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 14589 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _valueOdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 14595 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _valueOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 14601 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _valueOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 14607 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _casesOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 14613 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _casesOdownEnv =+ ({-# LINE 554 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 14619 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _casesOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 14625 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _casesOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 14631 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _elsOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 14637 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _elsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 14643 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _elsOdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 14649 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _elsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 14655 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 14732 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 14744 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 182, column 14)+ _exOodbcFunction =+ ({-# LINE 182 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 14767 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 615, column 5)+ _tpe =+ ({-# LINE 615 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ maybe (Left []) Right _exIupType+ {-# LINE 14773 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Parens _annIannotatedTree _exIannotatedTree+ {-# LINE 14779 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Parens _annIoriginalTree _exIoriginalTree+ {-# LINE 14785 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 14791 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 14797 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 14803 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 14809 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 14815 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 14821 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 14827 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOexpectedCast =+ ({-# LINE 111 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIexpectedCast+ {-# LINE 14833 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOexpectedType =+ ({-# LINE 110 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIexpectedType+ {-# LINE 14839 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 14845 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 14930 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 14942 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 181, column 19)+ _exprOodbcFunction =+ ({-# LINE 181 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 14965 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 669, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 673, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 677, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 678, column 9)+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 15013 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 15019 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 15025 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 15031 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 15037 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 15043 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 15049 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOexpectedCast =+ ({-# LINE 111 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIexpectedCast+ {-# LINE 15055 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 15061 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 15067 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _listOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 15073 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _listOdownEnv =+ ({-# LINE 215 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 15079 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _listOexpectedCast =+ ({-# LINE 662 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIexpectedCast+ {-# LINE 15085 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _listOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 15091 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 15163 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 15175 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 628, column 9)+ _tpe =+ ({-# LINE 628 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ (mkTypeExtraNN . ScalarType) <$> (_dialectTypeName "boolean")+ {-# LINE 15198 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 650, column 9)+ _selOouterDownEnv =+ ({-# LINE 650 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Just _lhsIdownEnv+ {-# LINE 15204 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 652, column 9)+ _selOexpectedType =+ ({-# LINE 652 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ liftM (map snd) _selIupType+ {-# LINE 15210 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Exists _annIannotatedTree _selIannotatedTree+ {-# LINE 15216 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Exists _annIoriginalTree _selIoriginalTree+ {-# LINE 15222 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 15228 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 15234 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 15240 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 15246 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 15252 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 15258 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 15264 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 15334 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 15346 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 638, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 648, column 9)+ _selOouterDownEnv =+ ({-# LINE 648 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Just _lhsIdownEnv+ {-# LINE 15381 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 652, column 9)+ _selOexpectedType =+ ({-# LINE 652 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ liftM (map snd) _selIupType+ {-# LINE 15387 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ScalarSubQuery _annIannotatedTree _selIannotatedTree+ {-# LINE 15393 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ScalarSubQuery _annIoriginalTree _selIoriginalTree+ {-# LINE 15399 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 15405 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 15411 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 15417 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 15423 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 15429 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 15435 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 15441 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 15520 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 15532 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 455, column 9)+ _argsOexpectedCast =+ ({-# LINE 455 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 15555 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 735, column 9)+ _tpe =+ ({-# LINE 735 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Left []+ {-# LINE 15561 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 772, column 13)+ _argsOexpectedTypes =+ ({-# LINE 772 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ []+ {-# LINE 15567 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 15585 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 15591 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 15597 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 15603 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _operOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 15609 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _operOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 15615 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _operOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 15621 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (from local)+ _operOtpe =+ ({-# LINE 46 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}+ _tpe+ {-# LINE 15627 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argsOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 15633 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 15639 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argsOdownEnv =+ ({-# LINE 190 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 15645 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 15651 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 15715 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 15727 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 307, column 10)+ _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" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ OdbcLiteral _annIannotatedTree olt_ val_+ {-# LINE 15759 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ OdbcLiteral _annIoriginalTree olt_ val_+ {-# LINE 15765 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 15771 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 15777 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 15783 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 35, column 9)+ _annOtpe =+ ({-# LINE 35 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _tpe+ {-# LINE 15854 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 36, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 37, column 9)+ _lhsOupType =+ ({-# LINE 37 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _upType+ {-# LINE 15866 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 38, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 45, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 183, column 16)+ _exOodbcFunction =+ ({-# LINE 183 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ True+ {-# LINE 15889 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 313, column 10)+ _exOcat =+ ({-# LINE 313 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ id _lhsIcat+ {-# LINE 15895 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 314, column 10)+ _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" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ OdbcFunc _annIannotatedTree _exIannotatedTree+ {-# LINE 15910 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ OdbcFunc _annIoriginalTree _exIoriginalTree+ {-# LINE 15916 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 15922 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 15928 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 15934 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 15940 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 15946 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 15952 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOexpectedCast =+ ({-# LINE 111 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIexpectedCast+ {-# LINE 15958 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOexpectedType =+ ({-# LINE 110 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIexpectedType+ {-# LINE 15964 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 15970 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 232, column 21)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 102, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 735, column 9)+ _tpe =+ ({-# LINE 735 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Left []+ {-# LINE 16014 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AntiScalarExpr string_+ {-# LINE 16020 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AntiScalarExpr string_+ {-# LINE 16026 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 16032 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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)))+-- ScalarExprDirectionPair -------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ downEnv : Environment+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : ScalarExprDirectionPair + originalTree : ScalarExprDirectionPair + alternatives:+ alternative Tuple:+ child x1 : ScalarExpr + child x2 : {Direction}+ child x3 : {NullsOrder}+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type ScalarExprDirectionPair = ( ScalarExpr,(Direction),(NullsOrder))+-- cata+_sem_ScalarExprDirectionPair :: ScalarExprDirectionPair ->+ T_ScalarExprDirectionPair+_sem_ScalarExprDirectionPair ( x1,x2,x3) =+ (_sem_ScalarExprDirectionPair_Tuple (_sem_ScalarExpr x1) x2 x3)+-- semantic domain+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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 93, column 37)+ _x1OexpectedCast =+ ({-# LINE 93 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 16108 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 153, column 13)+ _x1OodbcFunction =+ ({-# LINE 153 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 16114 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 758, column 11)+ _x1OexpectedType =+ ({-# LINE 758 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Nothing+ {-# LINE 16120 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 818, column 37)+ _x1OassignmentCastContext =+ ({-# LINE 818 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 16126 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (_x1IannotatedTree,x2_,x3_)+ {-# LINE 16132 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (_x1IoriginalTree,x2_,x3_)+ {-# LINE 16138 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 16144 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 16150 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x1Ocat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 16156 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x1OdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 16162 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x1Oflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 16168 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- ScalarExprDirectionPairList ---------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ downEnv : Environment+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : ScalarExprDirectionPairList + originalTree : ScalarExprDirectionPairList + alternatives:+ alternative Cons:+ child hd : ScalarExprDirectionPair + child tl : ScalarExprDirectionPairList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type ScalarExprDirectionPairList = [ScalarExprDirectionPair]+-- cata+_sem_ScalarExprDirectionPairList :: ScalarExprDirectionPairList ->+ T_ScalarExprDirectionPairList+_sem_ScalarExprDirectionPairList list =+ (Prelude.foldr _sem_ScalarExprDirectionPairList_Cons _sem_ScalarExprDirectionPairList_Nil (Prelude.map _sem_ScalarExprDirectionPair list))+-- semantic domain+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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 16248 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 16254 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 16260 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 16266 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 16272 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOdownEnv =+ ({-# LINE 215 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 16278 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 16284 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 16290 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 16296 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOdownEnv =+ ({-# LINE 215 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 16302 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 16308 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 16333 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 16339 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 16345 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 16351 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- ScalarExprList ----------------------------------------------+{-+ visit 0:+ inherited attributes:+ assignmentCastContext : Bool+ cat : Catalog+ downEnv : Environment+ expectedCast : Bool+ expectedTypes : [TypeExtra]+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : ScalarExprList + originalTree : ScalarExprList + upTypes : [Maybe TypeExtra]+ alternatives:+ alternative Cons:+ child hd : ScalarExpr + child tl : ScalarExprList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type ScalarExprList = [ScalarExpr]+-- cata+_sem_ScalarExprList :: ScalarExprList ->+ T_ScalarExprList+_sem_ScalarExprList list =+ (Prelude.foldr _sem_ScalarExprList_Cons _sem_ScalarExprList_Nil (Prelude.map _sem_ScalarExpr list))+-- semantic domain+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])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 156, column 12)+ _hdOodbcFunction =+ ({-# LINE 156 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 16444 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 197, column 9)+ _lhsOupTypes =+ ({-# LINE 197 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _hdIupType : _tlIupTypes+ {-# LINE 16450 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 198, column 9)+ (_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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 202, column 9)+ _hdOexpectedCast =+ ({-# LINE 202 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIexpectedCast+ {-# LINE 16464 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 16470 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 16476 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 16482 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 16488 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 16494 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 16500 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 16506 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 16512 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 16518 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 16524 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 16530 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOdownEnv =+ ({-# LINE 190 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 16536 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOexpectedCast =+ ({-# LINE 193 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIexpectedCast+ {-# LINE 16542 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 16548 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 203, column 11)+ _lhsOupTypes =+ ({-# LINE 203 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ []+ {-# LINE 16577 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 16583 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 16589 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 16595 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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)))+-- ScalarExprListList ------------------------------------------+{-+ visit 0:+ inherited attributes:+ assignmentCastContext : Bool+ cat : Catalog+ downEnv : Environment+ expectedCast : Bool+ expectedType : Maybe [TypeExtra]+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : ScalarExprListList + originalTree : ScalarExprListList + upType : Either [TypeError] [(Text,TypeExtra)]+ alternatives:+ alternative Cons:+ child hd : ScalarExprTransposedList + child tl : ScalarExprListList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type ScalarExprListList = [ScalarExprTransposedList]+-- cata+_sem_ScalarExprListList :: ScalarExprListList ->+ T_ScalarExprListList+_sem_ScalarExprListList list =+ (Prelude.foldr _sem_ScalarExprListList_Cons _sem_ScalarExprListList_Nil (Prelude.map _sem_ScalarExprTransposedList list))+-- semantic domain+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)])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 191, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 209, column 9)+ _hdOexpectedCast =+ ({-# LINE 209 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _lhsIexpectedCast+ {-# LINE 16711 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 210, column 9)+ _tlOexpectedCast =+ ({-# LINE 210 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _lhsIexpectedCast+ {-# LINE 16717 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 16723 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 16729 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 16735 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 16741 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 16747 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOexpectedType =+ ({-# LINE 169 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _lhsIexpectedType+ {-# LINE 16753 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 16759 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 16765 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 16771 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 16777 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOdownEnv =+ ({-# LINE 183 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 16783 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOexpectedType =+ ({-# LINE 186 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _lhsIexpectedType+ {-# LINE 16789 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 16795 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 211, column 11)+ _lhsOupType =+ ({-# LINE 211 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ Right []+ {-# LINE 16824 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 16830 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 16836 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 16842 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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)))+-- ScalarExprListStatementListTriple ---------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : ScalarExprListStatementListTriple + originalTree : ScalarExprListStatementListTriple + alternatives:+ alternative Tuple:+ child x1 : ScalarExprList + child x2 : StatementList + visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type ScalarExprListStatementListTriple = ( ScalarExprList,StatementList)+-- cata+_sem_ScalarExprListStatementListTriple :: ScalarExprListStatementListTriple ->+ T_ScalarExprListStatementListTriple+_sem_ScalarExprListStatementListTriple ( x1,x2) =+ (_sem_ScalarExprListStatementListTriple_Tuple (_sem_ScalarExprList x1) (_sem_StatementList x2))+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 94, column 47)+ _x1OdownEnv =+ ({-# LINE 94 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 16916 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 95, column 47)+ _x1OexpectedCast =+ ({-# LINE 95 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 16922 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 96, column 47)+ _x1OexpectedTypes =+ ({-# LINE 96 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ []+ {-# LINE 16928 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 819, column 47)+ _x1OassignmentCastContext =+ ({-# LINE 819 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 16934 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (_x1IannotatedTree,_x2IannotatedTree)+ {-# LINE 16940 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (_x1IoriginalTree,_x2IoriginalTree)+ {-# LINE 16946 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 16952 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 16958 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x1Ocat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 16964 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x1Oflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 16970 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x1OimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 16976 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x2Ocat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 16982 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x2Oflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 16988 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- ScalarExprListStatementListTripleList -----------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : ScalarExprListStatementListTripleList + originalTree : ScalarExprListStatementListTripleList + alternatives:+ alternative Cons:+ child hd : ScalarExprListStatementListTriple + child tl : ScalarExprListStatementListTripleList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type ScalarExprListStatementListTripleList = [ScalarExprListStatementListTriple]+-- cata+_sem_ScalarExprListStatementListTripleList :: ScalarExprListStatementListTripleList ->+ T_ScalarExprListStatementListTripleList+_sem_ScalarExprListStatementListTripleList list =+ (Prelude.foldr _sem_ScalarExprListStatementListTripleList_Cons _sem_ScalarExprListStatementListTripleList_Nil (Prelude.map _sem_ScalarExprListStatementListTriple list))+-- semantic domain+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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 17065 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 17071 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 17077 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 17083 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 17089 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 17095 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 17101 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 17107 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 17113 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 17137 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 17143 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 17149 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 17155 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- ScalarExprRoot ----------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ downEnv : Environment+ flags : TypeCheckFlags+ synthesized attributes:+ annotatedTree : ScalarExprRoot + originalTree : ScalarExprRoot + alternatives:+ alternative ScalarExprRoot:+ child expr : ScalarExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+-}+data ScalarExprRoot = ScalarExprRoot (ScalarExpr)+ deriving ( Show)+-- cata+_sem_ScalarExprRoot :: ScalarExprRoot ->+ T_ScalarExprRoot+_sem_ScalarExprRoot (ScalarExprRoot _expr) =+ (_sem_ScalarExprRoot_ScalarExprRoot (_sem_ScalarExpr _expr))+-- semantic domain+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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 97, column 37)+ _exprOexpectedCast =+ ({-# LINE 97 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 17219 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 159, column 22)+ _exprOodbcFunction =+ ({-# LINE 159 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 17225 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 237, column 9)+ _exprOdownEnv =+ ({-# LINE 237 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 17231 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 741, column 20)+ _exprOexpectedType =+ ({-# LINE 741 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ Nothing+ {-# LINE 17237 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 820, column 37)+ _exprOassignmentCastContext =+ ({-# LINE 820 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 17243 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag"(line 136, column 8)+ _exprOimCast =+ ({-# LINE 136 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Nothing+ {-# LINE 17249 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ScalarExprRoot _exprIannotatedTree+ {-# LINE 17255 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ScalarExprRoot _exprIoriginalTree+ {-# LINE 17261 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 17267 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 17273 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 17279 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- ScalarExprStatementListPair ---------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : ScalarExprStatementListPair + originalTree : ScalarExprStatementListPair + alternatives:+ alternative Tuple:+ child x1 : ScalarExpr + child x2 : StatementList + visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type ScalarExprStatementListPair = ( ScalarExpr,StatementList)+-- cata+_sem_ScalarExprStatementListPair :: ScalarExprStatementListPair ->+ T_ScalarExprStatementListPair+_sem_ScalarExprStatementListPair ( x1,x2) =+ (_sem_ScalarExprStatementListPair_Tuple (_sem_ScalarExpr x1) (_sem_StatementList x2))+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 98, column 41)+ _x1OdownEnv =+ ({-# LINE 98 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 17357 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 99, column 41)+ _x1OexpectedCast =+ ({-# LINE 99 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 17363 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 100, column 41)+ _x1OexpectedType =+ ({-# LINE 100 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 17369 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 101, column 41)+ _x1OodbcFunction =+ ({-# LINE 101 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 17375 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 821, column 41)+ _x1OassignmentCastContext =+ ({-# LINE 821 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 17381 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (_x1IannotatedTree,_x2IannotatedTree)+ {-# LINE 17387 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (_x1IoriginalTree,_x2IoriginalTree)+ {-# LINE 17393 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 17399 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 17405 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x1Ocat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 17411 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x1Oflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 17417 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x1OimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 17423 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x2Ocat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 17429 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _x2Oflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 17435 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- ScalarExprStatementListPairList -----------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : ScalarExprStatementListPairList + originalTree : ScalarExprStatementListPairList + alternatives:+ alternative Cons:+ child hd : ScalarExprStatementListPair + child tl : ScalarExprStatementListPairList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type ScalarExprStatementListPairList = [ScalarExprStatementListPair]+-- cata+_sem_ScalarExprStatementListPairList :: ScalarExprStatementListPairList ->+ T_ScalarExprStatementListPairList+_sem_ScalarExprStatementListPairList list =+ (Prelude.foldr _sem_ScalarExprStatementListPairList_Cons _sem_ScalarExprStatementListPairList_Nil (Prelude.map _sem_ScalarExprStatementListPair list))+-- semantic domain+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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 17512 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 17518 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 17524 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 17530 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 17536 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 17542 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 17548 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 17554 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 17560 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 17584 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 17590 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 17596 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 17602 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- ScalarExprTransposedList ------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ expectedCast : Bool+ expectedType : Maybe [TypeExtra]+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : ScalarExprTransposedList + originalTree : ScalarExprTransposedList + upType : Maybe [TypeExtra]+ alternatives:+ alternative Cons:+ child hd : ScalarExpr + child tl : ScalarExprTransposedList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type ScalarExprTransposedList = [ScalarExpr]+-- cata+_sem_ScalarExprTransposedList :: ScalarExprTransposedList ->+ T_ScalarExprTransposedList+_sem_ScalarExprTransposedList list =+ (Prelude.foldr _sem_ScalarExprTransposedList_Cons _sem_ScalarExprTransposedList_Nil (Prelude.map _sem_ScalarExpr list))+-- semantic domain+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])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 102, column 37)+ _hdOdownEnv =+ ({-# LINE 102 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 17687 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 174, column 9)+ _lhsOupType =+ ({-# LINE 174 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ liftM2 (:) _hdIupType _tlIupType+ {-# LINE 17693 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 175, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 176, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 177, column 9)+ _hdOexpectedCast =+ ({-# LINE 177 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _lhsIexpectedCast+ {-# LINE 17711 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 178, column 9)+ _tlOexpectedCast =+ ({-# LINE 178 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _lhsIexpectedCast+ {-# LINE 17717 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 163, column 12)+ _hdOodbcFunction =+ ({-# LINE 163 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 17723 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 822, column 37)+ _hdOassignmentCastContext =+ ({-# LINE 822 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 17729 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 17735 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 17741 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 17747 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 17753 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 17759 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 17765 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 17771 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 17777 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 17783 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 180, column 9)+ _lhsOupType =+ ({-# LINE 180 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ Just []+ {-# LINE 17810 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 17816 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 17822 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 17828 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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)))+-- SelectItem --------------------------------------------------+{-+ visit 0:+ inherited attributes:+ assignmentCastContext : Bool+ cat : Catalog+ downEnv : Environment+ expectedCast : Bool+ expectedType : Maybe TypeExtra+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : SelectItem + colExprs : [(NameComponent,Maybe TypeExtra,ScalarExpr)]+ originalTree : SelectItem + alternatives:+ alternative SelExp:+ child ann : Annotation + child ex : ScalarExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative SelectItem:+ child ann : Annotation + child ex : ScalarExpr + child name : {NameComponent}+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+data SelectItem = SelExp (Annotation) (ScalarExpr)+ | SelectItem (Annotation) (ScalarExpr) (NameComponent)+ deriving ( Data,Eq,Show,Typeable)+-- cata+_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)+-- semantic domain+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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 117, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 208, column 7)+ _annOtpe =+ ({-# LINE 208 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ Left []+ {-# LINE 17941 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 209, column 7)+ _exOexpectedType =+ ({-# LINE 209 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ _lhsIexpectedType+ {-# LINE 17947 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 210, column 7)+ _exOexpectedCast =+ ({-# LINE 210 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ _lhsIexpectedCast+ {-# LINE 17953 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 166, column 25)+ _exOodbcFunction =+ ({-# LINE 166 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 17959 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SelExp _annIannotatedTree _exIannotatedTree+ {-# LINE 17965 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SelExp _annIoriginalTree _exIoriginalTree+ {-# LINE 17971 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 17977 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (up)+ _lhsOcolExprs =+ ({-# LINE 150 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ _exIcolExprs+ {-# LINE 17983 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 17989 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 17995 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 18001 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 18007 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 18013 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 18019 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 18025 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 112, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 208, column 7)+ _annOtpe =+ ({-# LINE 208 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ Left []+ {-# LINE 18083 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 209, column 7)+ _exOexpectedType =+ ({-# LINE 209 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ _lhsIexpectedType+ {-# LINE 18089 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 210, column 7)+ _exOexpectedCast =+ ({-# LINE 210 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ _lhsIexpectedCast+ {-# LINE 18095 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 166, column 25)+ _exOodbcFunction =+ ({-# LINE 166 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 18101 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SelectItem _annIannotatedTree _exIannotatedTree name_+ {-# LINE 18107 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SelectItem _annIoriginalTree _exIoriginalTree name_+ {-# LINE 18113 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 18119 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 18125 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 18131 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 18137 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 18143 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 18149 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 18155 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIdownEnv+ {-# LINE 18161 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 18167 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- SelectItemList ----------------------------------------------+{-+ visit 0:+ inherited attributes:+ assignmentCastContext : Bool+ cat : Catalog+ downEnv : Environment+ expectedCast : Bool+ expectedType : Maybe [TypeExtra]+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : SelectItemList + colExprs : [(NameComponent,Maybe TypeExtra,ScalarExpr)]+ originalTree : SelectItemList + upEnv : Environment+ upType : Maybe [(Text,TypeExtra)]+ alternatives:+ alternative Cons:+ child hd : SelectItem + child tl : SelectItemList + visit 0:+ local colExprs : _+ local upType : _+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local upType : _+ local annotatedTree : _+ local originalTree : _+-}+type SelectItemList = [SelectItem]+-- cata+_sem_SelectItemList :: SelectItemList ->+ T_SelectItemList+_sem_SelectItemList list =+ (Prelude.foldr _sem_SelectItemList_Cons _sem_SelectItemList_Nil (Prelude.map _sem_SelectItem list))+-- semantic domain+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)])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 132, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 177, column 9)+ _colExprs =+ ({-# LINE 177 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ _hdIcolExprs ++ _tlIcolExprs+ {-# LINE 18288 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 178, column 9)+ _lhsOcolExprs =+ ({-# LINE 178 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ _colExprs+ {-# LINE 18294 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 179, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 181, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 182, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 183, column 9)+ _hdOexpectedCast =+ ({-# LINE 183 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ _lhsIexpectedCast+ {-# LINE 18319 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 184, column 9)+ _tlOexpectedCast =+ ({-# LINE 184 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ _lhsIexpectedCast+ {-# LINE 18325 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 186, column 7)+ _lhsOupType =+ ({-# LINE 186 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ _upType+ {-# LINE 18331 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 187, column 7)+ _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" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 18345 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 18351 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 18357 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 18363 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 18369 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOdownEnv =+ ({-# LINE 151 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ _lhsIdownEnv+ {-# LINE 18375 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 18381 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 18387 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 18393 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 18399 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOdownEnv =+ ({-# LINE 156 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ _lhsIdownEnv+ {-# LINE 18405 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 18411 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 131, column 9)+ _lhsOannotatedTree =+ ({-# LINE 131 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ []+ {-# LINE 18442 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 174, column 9)+ _lhsOcolExprs =+ ({-# LINE 174 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ []+ {-# LINE 18448 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 175, column 9)+ _upType =+ ({-# LINE 175 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ Nothing+ {-# LINE 18454 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 186, column 7)+ _lhsOupType =+ ({-# LINE 186 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ _upType+ {-# LINE 18460 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 187, column 7)+ _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" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 18474 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 18480 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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)))+-- SelectList --------------------------------------------------+{-+ visit 0:+ inherited attributes:+ assignmentCastContext : Bool+ cat : Catalog+ downEnv : Environment+ expectedCast : Bool+ expectedType : Maybe [TypeExtra]+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : SelectList + colExprs : [(NameComponent,Maybe TypeExtra,ScalarExpr)]+ originalTree : SelectList + upEnv : Environment+ upType : Maybe [(Text,TypeExtra)]+ alternatives:+ alternative SelectList:+ child ann : Annotation + child items : SelectItemList + visit 0:+ local annotatedTree : _+ local originalTree : _+-}+data SelectList = SelectList (Annotation) (SelectItemList)+ deriving ( Data,Eq,Show,Typeable)+-- cata+_sem_SelectList :: SelectList ->+ T_SelectList+_sem_SelectList (SelectList _ann _items) =+ (_sem_SelectList_SelectList (_sem_Annotation _ann) (_sem_SelectItemList _items))+-- semantic domain+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)])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 204, column 7)+ _annOtpe =+ ({-# LINE 204 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ Left []+ {-# LINE 18576 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag"(line 205, column 7)+ _itemsOexpectedCast =+ ({-# LINE 205 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ True+ {-# LINE 18582 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SelectList _annIannotatedTree _itemsIannotatedTree+ {-# LINE 18588 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SelectList _annIoriginalTree _itemsIoriginalTree+ {-# LINE 18594 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 18600 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 18606 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (up)+ _lhsOcolExprs =+ ({-# LINE 157 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ _itemsIcolExprs+ {-# LINE 18612 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (up)+ _lhsOupEnv =+ ({-# LINE 161 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ _itemsIupEnv+ {-# LINE 18618 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (up)+ _lhsOupType =+ ({-# LINE 158 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ _itemsIupType+ {-# LINE 18624 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 18630 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 18636 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 18642 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _itemsOassignmentCastContext =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ _lhsIassignmentCastContext+ {-# LINE 18648 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _itemsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 18654 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _itemsOdownEnv =+ ({-# LINE 156 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ _lhsIdownEnv+ {-# LINE 18660 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _itemsOexpectedType =+ ({-# LINE 159 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/SelectLists.ag" #-}+ _lhsIexpectedType+ {-# LINE 18666 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _itemsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 18672 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- SetClause ---------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : SetClause + originalTree : SetClause + alternatives:+ alternative SetClause:+ child ann : Annotation + child setTarget : {NameComponent}+ child ex : ScalarExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative MultiSetClause:+ child ann : Annotation + child setTargets : {[NameComponent]}+ child ex : ScalarExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+-}+data SetClause = SetClause (Annotation) (NameComponent) (ScalarExpr)+ | MultiSetClause (Annotation) (([NameComponent])) (ScalarExpr)+ deriving ( Data,Eq,Show,Typeable)+-- cata+_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))+-- semantic domain+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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 107, column 27)+ _annOtpe =+ ({-# LINE 107 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 18766 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 108, column 27)+ _exOdownEnv =+ ({-# LINE 108 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 18772 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 109, column 27)+ _exOexpectedCast =+ ({-# LINE 109 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 18778 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 110, column 27)+ _exOexpectedType =+ ({-# LINE 110 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 18784 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 169, column 32)+ _exOodbcFunction =+ ({-# LINE 169 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 18790 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 824, column 27)+ _exOassignmentCastContext =+ ({-# LINE 824 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 18796 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SetClause _annIannotatedTree setTarget_ _exIannotatedTree+ {-# LINE 18802 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SetClause _annIoriginalTree setTarget_ _exIoriginalTree+ {-# LINE 18808 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 18814 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 18820 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 18826 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 18832 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 18838 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 18844 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 18850 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 103, column 32)+ _annOtpe =+ ({-# LINE 103 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 18895 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 104, column 32)+ _exOdownEnv =+ ({-# LINE 104 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 18901 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 105, column 32)+ _exOexpectedCast =+ ({-# LINE 105 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 18907 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 106, column 32)+ _exOexpectedType =+ ({-# LINE 106 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 18913 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 169, column 32)+ _exOodbcFunction =+ ({-# LINE 169 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 18919 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 823, column 32)+ _exOassignmentCastContext =+ ({-# LINE 823 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 18925 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ MultiSetClause _annIannotatedTree setTargets_ _exIannotatedTree+ {-# LINE 18931 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ MultiSetClause _annIoriginalTree setTargets_ _exIoriginalTree+ {-# LINE 18937 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 18943 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 18949 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 18955 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 18961 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 18967 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 18973 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 18979 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- SetClauseList -----------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : SetClauseList + originalTree : SetClauseList + alternatives:+ alternative Cons:+ child hd : SetClause + child tl : SetClauseList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type SetClauseList = [SetClause]+-- cata+_sem_SetClauseList :: SetClauseList ->+ T_SetClauseList+_sem_SetClauseList list =+ (Prelude.foldr _sem_SetClauseList_Cons _sem_SetClauseList_Nil (Prelude.map _sem_SetClause list))+-- semantic domain+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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 19056 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 19062 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 19068 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 19074 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 19080 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 19086 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 19092 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 19098 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 19104 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 19128 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 19134 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 19140 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 19146 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- Statement ---------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : Statement + originalTree : Statement + alternatives:+ alternative QueryStatement:+ child ann : Annotation + child ex : QueryExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Insert:+ child ann : Annotation + child table : Name + child targetCols : {[NameComponent]}+ child insData : QueryExpr + child returning : MaybeSelectList + visit 0:+ local tpe : {Either [TypeError] [TypeExtra]}+ local tooManyCols : {Maybe [TypeError]}+ local annotatedTree : _+ local originalTree : _+ alternative Update:+ child ann : Annotation + child table : Name + child assigns : SetClauseList + child fromList : TableRefList + child whr : MaybeBoolExpr + child returning : MaybeSelectList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Delete:+ child ann : Annotation + child table : Name + child using : TableRefList + child whr : MaybeBoolExpr + child returning : MaybeSelectList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative CopyFrom:+ child ann : Annotation + child table : Name + child targetCols : {[NameComponent]}+ child source : {CopyFromSource}+ child opts : {[CopyFromOption]}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative CopyData:+ child ann : Annotation + child insData : {String}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative CopyTo:+ child ann : Annotation + child cp : {CopyToSource}+ child fn : {String}+ child opts : {[CopyToOption]}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Truncate:+ child ann : Annotation + child tables : {[Name]}+ child restartIdentity : {RestartIdentity}+ child cascade : {Cascade}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative CreateTable:+ child ann : Annotation + child name : Name + child atts : AttributeDefList + child cons : ConstraintList + child partition : MaybeTablePartitionDef + child rep : {Replace}+ child options : {[TableOption]}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative AlterTable:+ child ann : Annotation + child name : Name + child operation : AlterTableOperation + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative AlterDatabase:+ child ann : Annotation + child name : Name + child operation : AlterDatabaseOperation + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative CreateSequence:+ child ann : Annotation + child name : Name + child incr : {Integer}+ child min : {Maybe Integer}+ child max : {Maybe Integer}+ child start : {Integer}+ child cache : {Integer}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative AlterSequence:+ child ann : Annotation + child name : Name + child operation : AlterSequenceOperation + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative CreateTableAs:+ child ann : Annotation + child name : Name + child rep : {Replace}+ child expr : QueryExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative CreateView:+ child ann : Annotation + child name : Name + child colNames : {MaybeNameComponentList}+ child expr : QueryExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative AlterView:+ child ann : Annotation + child name : Name + child colNames : {MaybeNameComponentList}+ child expr : QueryExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative CreateType:+ child ann : Annotation + child name : Name + child atts : TypeAttributeDefList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative CreateUser:+ child ann : Annotation + child name : Name + child password : {String}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative CreateLogin:+ child ann : Annotation + child name : Name + child password : {String}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative AlterUser:+ child ann : Annotation + child name : Name + child password : {String}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative AlterLogin:+ child ann : Annotation + child name : Name + child password : {String}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative CreateSchema:+ child ann : Annotation + child name : Name + child owner : {Maybe Name}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative AlterSchema:+ child ann : Annotation + child name : Name + child operation : AlterSchemaOperation + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative CreateFunction:+ child ann : Annotation + child name : Name + child params : ParamDefList + child rettype : TypeName + child rep : {Replace}+ child lang : {Language}+ child body : FnBody + child vol : {Volatility}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative CreateDomain:+ child ann : Annotation + child name : Name + child typ : TypeName + child constraintName : {String}+ child check : MaybeBoolExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative CreateLanguage:+ child ann : Annotation + child name : {String}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative CreateTrigger:+ child ann : Annotation + child name : {NameComponent}+ child wh : {TriggerWhen}+ child events : {[TriggerEvent]}+ child tbl : Name + child firing : {TriggerFire}+ child fnName : Name + child fnArgs : ScalarExprList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative DropFunction:+ child ann : Annotation + child ifE : {IfExists}+ child sigs : NameTypeNameListPairList + child cascade : {Cascade}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative DropSomething:+ child ann : Annotation + child dropType : {DropType}+ child ifE : {IfExists}+ child names : {[Name]}+ child cascade : {Cascade}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative DropTrigger:+ child ann : Annotation + child ifE : {IfExists}+ child name : {NameComponent}+ child tbl : Name + child cascade : {Cascade}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative CreateDatabase:+ child ann : Annotation + child nm : Name + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Set:+ child ann : Annotation + child name : {String}+ child values : {[SetValue]}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Notify:+ child ann : Annotation + child name : {String}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Into:+ child ann : Annotation + child strict : {Bool}+ child into : {[Name]}+ child stmt : Statement + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Assignment:+ child ann : Annotation + child target : Name + child value : ScalarExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Return:+ child ann : Annotation + child value : MaybeScalarExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative ReturnNext:+ child ann : Annotation + child expr : ScalarExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative ReturnQuery:+ child ann : Annotation + child sel : QueryExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Raise:+ child ann : Annotation + child level : {RaiseType}+ child message : {String}+ child args : ScalarExprList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative NullStatement:+ child ann : Annotation + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Perform:+ child ann : Annotation + child expr : ScalarExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Execute:+ child ann : Annotation + child expr : ScalarExpr + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative ForQueryStatement:+ child ann : Annotation + child lb : {Maybe String}+ child var : {NameComponent}+ child sel : QueryExpr + child sts : StatementList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative ForIntegerStatement:+ child ann : Annotation + child lb : {Maybe String}+ child var : {NameComponent}+ child from : ScalarExpr + child to : ScalarExpr + child sts : StatementList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative LoopStatement:+ child ann : Annotation + child lb : {Maybe String}+ child sts : StatementList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative WhileStatement:+ child ann : Annotation + child lb : {Maybe String}+ child expr : ScalarExpr + child sts : StatementList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative ContinueStatement:+ child ann : Annotation + child lb : {Maybe String}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative ExitStatement:+ child ann : Annotation + child lb : {Maybe String}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative CaseStatementSimple:+ child ann : Annotation + child val : ScalarExpr + child cases : ScalarExprListStatementListTripleList + child els : StatementList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative CaseStatement:+ child ann : Annotation + child cases : ScalarExprListStatementListTripleList + child els : StatementList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative If:+ child ann : Annotation + child cases : ScalarExprStatementListPairList + child els : StatementList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Block:+ child ann : Annotation + child lb : {Maybe String}+ child vars : VarDefList + child sts : StatementList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative AntiStatement:+ child string : {String}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative DeclareStatement:+ child ann : Annotation + child ds : {[(String,TypeName,Maybe ScalarExpr)]}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative ExecStatement:+ child ann : Annotation + child spName : Name + child args : ScalarExprList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative CreateIndexTSQL:+ child ann : Annotation + child nm : {NameComponent}+ child obj : Name + child cols : {[NameComponent]}+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+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)+-- cata+_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)+-- semantic domain+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)])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 13, column 5)+ _annOtpe =+ ({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}+ Left []+ {-# LINE 19801 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 16, column 5)+ _exOexpectedType =+ ({-# LINE 16 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}+ liftM (map snd) _exIupType+ {-# LINE 19807 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 91, column 20)+ _exOouterDownEnv =+ ({-# LINE 91 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ Nothing+ {-# LINE 19813 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 838, column 32)+ _exOassignmentCastContext =+ ({-# LINE 838 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 19819 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ QueryStatement _annIannotatedTree _exIannotatedTree+ {-# LINE 19825 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ QueryStatement _annIoriginalTree _exIoriginalTree+ {-# LINE 19831 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 19837 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 19843 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 19849 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 19855 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 19861 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 19867 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 19873 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 19, column 5)+ _annOtpe =+ ({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}+ Left []+ {-# LINE 19930 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 25, column 5)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 44, column 5)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 47, column 5)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 49, column 5)+ _insDataOouterDownEnv =+ ({-# LINE 49 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}+ Nothing+ {-# LINE 19968 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 54, column 5)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 836, column 24)+ _insDataOassignmentCastContext =+ ({-# LINE 836 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 19985 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 20003 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 20009 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20015 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20021 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 20027 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tableOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20033 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tableOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20039 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tableOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 20045 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _insDataOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20051 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _insDataOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20057 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _insDataOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 20063 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _returningOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20069 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _returningOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20075 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 220, column 24)+ _tableOtpe =+ ({-# LINE 220 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 20143 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 221, column 24)+ _whrOdownEnv =+ ({-# LINE 221 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 20149 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 19, column 5)+ _annOtpe =+ ({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}+ Left []+ {-# LINE 20155 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 20173 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 20179 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20185 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20191 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 20197 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tableOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20203 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tableOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20209 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tableOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 20215 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _assignsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20221 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _assignsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20227 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _assignsOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 20233 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fromListOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20239 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fromListOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20245 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fromListOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 20251 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _whrOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20257 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _whrOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20263 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _whrOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 20269 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _returningOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20275 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _returningOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20281 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 171, column 24)+ _tableOtpe =+ ({-# LINE 171 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 20347 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 172, column 24)+ _whrOdownEnv =+ ({-# LINE 172 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 20353 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 19, column 5)+ _annOtpe =+ ({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}+ Left []+ {-# LINE 20359 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 20377 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 20383 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20389 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20395 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 20401 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tableOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20407 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tableOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20413 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tableOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 20419 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _usingOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20425 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _usingOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20431 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _usingOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 20437 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _whrOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20443 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _whrOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20449 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _whrOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 20455 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _returningOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20461 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _returningOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20467 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 138, column 26)+ _tableOtpe =+ ({-# LINE 138 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 20514 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 19, column 5)+ _annOtpe =+ ({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}+ Left []+ {-# LINE 20520 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 20538 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 20544 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20550 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20556 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 20562 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tableOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20568 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tableOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20574 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 137, column 26)+ _annOtpe =+ ({-# LINE 137 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 20606 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ CopyData _annIannotatedTree insData_+ {-# LINE 20612 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ CopyData _annIoriginalTree insData_+ {-# LINE 20618 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 20624 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 20630 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20636 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20642 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 19, column 5)+ _annOtpe =+ ({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}+ Left []+ {-# LINE 20674 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 20692 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 20698 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20704 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20710 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag"(line 19, column 5)+ _annOtpe =+ ({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Updates.ag" #-}+ Left []+ {-# LINE 20742 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 20760 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 20766 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20772 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20778 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 153, column 29)+ _annOtpe =+ ({-# LINE 153 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 20834 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 154, column 29)+ _nameOtpe =+ ({-# LINE 154 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 20840 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 20858 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 20864 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20870 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20876 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 20882 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20888 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20894 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 20900 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _attsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20906 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _attsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20912 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _attsOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 20918 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _consOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20924 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _consOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20930 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _consOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 20936 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _partitionOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 20942 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _partitionOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 20948 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 118, column 28)+ _annOtpe =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 20998 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 119, column 28)+ _nameOtpe =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 21004 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterTable _annIannotatedTree _nameIannotatedTree _operationIannotatedTree+ {-# LINE 21010 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterTable _annIoriginalTree _nameIoriginalTree _operationIoriginalTree+ {-# LINE 21016 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 21022 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 21028 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21034 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21040 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 21046 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21052 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21058 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 21064 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _operationOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21070 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _operationOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21076 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 111, column 31)+ _annOtpe =+ ({-# LINE 111 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 21122 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 112, column 31)+ _nameOtpe =+ ({-# LINE 112 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 21128 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterDatabase _annIannotatedTree _nameIannotatedTree _operationIannotatedTree+ {-# LINE 21134 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterDatabase _annIoriginalTree _nameIoriginalTree _operationIoriginalTree+ {-# LINE 21140 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 21146 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 21152 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21158 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21164 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 21170 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21176 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21182 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 21188 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _operationOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21194 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _operationOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21200 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 151, column 32)+ _annOtpe =+ ({-# LINE 151 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 21245 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 152, column 32)+ _nameOtpe =+ ({-# LINE 152 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 21251 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 21269 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 21275 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21281 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21287 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 21293 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21299 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21305 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 116, column 31)+ _annOtpe =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 21349 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 117, column 31)+ _nameOtpe =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 21355 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSequence _annIannotatedTree _nameIannotatedTree _operationIannotatedTree+ {-# LINE 21361 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSequence _annIoriginalTree _nameIoriginalTree _operationIoriginalTree+ {-# LINE 21367 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 21373 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 21379 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21385 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21391 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 21397 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21403 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21409 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 21415 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _operationOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21421 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _operationOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21427 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 155, column 31)+ _annOtpe =+ ({-# LINE 155 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 21478 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 156, column 31)+ _exprOouterDownEnv =+ ({-# LINE 156 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 21484 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 157, column 31)+ _nameOtpe =+ ({-# LINE 157 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 21490 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 19, column 5)+ _exprOexpectedType =+ ({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}+ liftM (map snd) _exprIupType+ {-# LINE 21496 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 828, column 31)+ _exprOassignmentCastContext =+ ({-# LINE 828 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 21502 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 21520 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 21526 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21532 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21538 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 21544 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21550 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21556 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 21562 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21568 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21574 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 168, column 28)+ _annOtpe =+ ({-# LINE 168 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 21625 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 169, column 28)+ _exprOouterDownEnv =+ ({-# LINE 169 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 21631 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 170, column 28)+ _nameOtpe =+ ({-# LINE 170 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 21637 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 19, column 5)+ _exprOexpectedType =+ ({-# LINE 19 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}+ liftM (map snd) _exprIupType+ {-# LINE 21643 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 830, column 28)+ _exprOassignmentCastContext =+ ({-# LINE 830 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 21649 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 21667 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 21673 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21679 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21685 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 21691 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21697 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21703 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 21709 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21715 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21721 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 122, column 27)+ _annOtpe =+ ({-# LINE 122 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 21772 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 123, column 27)+ _exprOexpectedType =+ ({-# LINE 123 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 21778 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 124, column 27)+ _exprOouterDownEnv =+ ({-# LINE 124 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 21784 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 125, column 27)+ _nameOtpe =+ ({-# LINE 125 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 21790 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 825, column 27)+ _exprOassignmentCastContext =+ ({-# LINE 825 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 21796 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 21814 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 21820 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21826 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21832 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 21838 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21844 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21850 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 21856 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21862 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21868 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 164, column 28)+ _annOtpe =+ ({-# LINE 164 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 21914 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 165, column 28)+ _nameOtpe =+ ({-# LINE 165 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 21920 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ CreateType _annIannotatedTree _nameIannotatedTree _attsIannotatedTree+ {-# LINE 21926 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ CreateType _annIoriginalTree _nameIoriginalTree _attsIoriginalTree+ {-# LINE 21932 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 21938 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 21944 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21950 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21956 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 21962 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21968 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21974 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 21980 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _attsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 21986 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _attsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 21992 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 166, column 28)+ _annOtpe =+ ({-# LINE 166 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 22033 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 167, column 28)+ _nameOtpe =+ ({-# LINE 167 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 22039 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ CreateUser _annIannotatedTree _nameIannotatedTree password_+ {-# LINE 22045 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ CreateUser _annIoriginalTree _nameIoriginalTree password_+ {-# LINE 22051 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 22057 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 22063 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22069 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22075 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 22081 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22087 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22093 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 148, column 29)+ _annOtpe =+ ({-# LINE 148 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 22132 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 149, column 29)+ _nameOtpe =+ ({-# LINE 149 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 22138 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ CreateLogin _annIannotatedTree _nameIannotatedTree password_+ {-# LINE 22144 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ CreateLogin _annIoriginalTree _nameIoriginalTree password_+ {-# LINE 22150 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 22156 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 22162 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22168 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22174 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 22180 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22186 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22192 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 120, column 27)+ _annOtpe =+ ({-# LINE 120 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 22231 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 121, column 27)+ _nameOtpe =+ ({-# LINE 121 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 22237 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterUser _annIannotatedTree _nameIannotatedTree password_+ {-# LINE 22243 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterUser _annIoriginalTree _nameIoriginalTree password_+ {-# LINE 22249 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 22255 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 22261 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22267 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22273 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 22279 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22285 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22291 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 113, column 28)+ _annOtpe =+ ({-# LINE 113 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 22330 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 114, column 28)+ _nameOtpe =+ ({-# LINE 114 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 22336 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterLogin _annIannotatedTree _nameIannotatedTree password_+ {-# LINE 22342 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterLogin _annIoriginalTree _nameIoriginalTree password_+ {-# LINE 22348 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 22354 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 22360 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22366 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22372 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 22378 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22384 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22390 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 150, column 30)+ _annOtpe =+ ({-# LINE 150 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 22429 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ CreateSchema _annIannotatedTree _nameIannotatedTree owner_+ {-# LINE 22435 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ CreateSchema _annIoriginalTree _nameIoriginalTree owner_+ {-# LINE 22441 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 22447 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 22453 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22459 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22465 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 22471 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22477 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22483 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 22489 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (chain)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 115, column 29)+ _annOtpe =+ ({-# LINE 115 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 22533 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSchema _annIannotatedTree _nameIannotatedTree _operationIannotatedTree+ {-# LINE 22539 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AlterSchema _annIoriginalTree _nameIoriginalTree _operationIoriginalTree+ {-# LINE 22545 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 22551 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 22557 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22563 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22569 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 22575 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22581 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22587 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 22593 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (chain)+ _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" #-}+ )+ -- copy rule (down)+ _operationOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22605 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _operationOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22611 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 144, column 32)+ _annOtpe =+ ({-# LINE 144 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 22673 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 145, column 32)+ _nameOtpe =+ ({-# LINE 145 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 22679 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 22697 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 22703 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22709 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22715 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 22721 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22727 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22733 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 22739 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _paramsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22745 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _paramsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22751 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _paramsOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 22757 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _rettypeOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22763 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _rettypeOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22769 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _rettypeOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 22775 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _bodyOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22781 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _bodyOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22787 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 141, column 30)+ _annOtpe =+ ({-# LINE 141 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 22846 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 142, column 30)+ _checkOdownEnv =+ ({-# LINE 142 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 22852 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 143, column 30)+ _nameOtpe =+ ({-# LINE 143 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 22858 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 22876 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 22882 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22888 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22894 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 22900 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22906 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22912 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nameOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 22918 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _typOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22924 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _typOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22930 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _typOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 22936 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _checkOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 22942 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _checkOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 22948 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 147, column 32)+ _annOtpe =+ ({-# LINE 147 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 22984 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ CreateLanguage _annIannotatedTree name_+ {-# LINE 22990 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ CreateLanguage _annIoriginalTree name_+ {-# LINE 22996 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 23002 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 23008 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 23014 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 23020 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 158, column 31)+ _annOtpe =+ ({-# LINE 158 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 23078 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 159, column 31)+ _fnArgsOdownEnv =+ ({-# LINE 159 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 23084 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 160, column 31)+ _fnArgsOexpectedCast =+ ({-# LINE 160 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 23090 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 161, column 31)+ _fnArgsOexpectedTypes =+ ({-# LINE 161 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ []+ {-# LINE 23096 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 162, column 31)+ _fnNameOtpe =+ ({-# LINE 162 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 23102 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 163, column 31)+ _tblOtpe =+ ({-# LINE 163 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 23108 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 829, column 31)+ _fnArgsOassignmentCastContext =+ ({-# LINE 829 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 23114 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 23132 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 23138 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 23144 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 23150 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 23156 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tblOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 23162 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tblOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 23168 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tblOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 23174 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fnNameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 23180 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fnNameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 23186 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fnNameOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 23192 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fnArgsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 23198 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fnArgsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 23204 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 173, column 30)+ _annOtpe =+ ({-# LINE 173 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 23247 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 23265 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 23271 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 23277 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 23283 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 23289 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _sigsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 23295 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _sigsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 23301 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 13, column 5)+ _annOtpe =+ ({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}+ Left []+ {-# LINE 23336 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 23354 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 23360 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 23366 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 23372 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 174, column 29)+ _tblOtpe =+ ({-# LINE 174 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 23411 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 13, column 5)+ _annOtpe =+ ({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}+ Left []+ {-# LINE 23417 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 23435 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 23441 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 23447 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 23453 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 23459 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tblOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 23465 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tblOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 23471 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 139, column 32)+ _annOtpe =+ ({-# LINE 139 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 23509 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 140, column 32)+ _nmOtpe =+ ({-# LINE 140 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 23515 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ CreateDatabase _annIannotatedTree _nmIannotatedTree+ {-# LINE 23521 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ CreateDatabase _annIoriginalTree _nmIoriginalTree+ {-# LINE 23527 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 23533 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 23539 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 23545 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 23551 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 23557 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nmOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 23563 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _nmOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 23569 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 219, column 21)+ _annOtpe =+ ({-# LINE 219 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 23602 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Set _annIannotatedTree name_ values_+ {-# LINE 23608 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Set _annIoriginalTree name_ values_+ {-# LINE 23614 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 23620 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 23626 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 23632 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 23638 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 197, column 24)+ _annOtpe =+ ({-# LINE 197 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 23668 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Notify _annIannotatedTree name_+ {-# LINE 23674 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Notify _annIoriginalTree name_+ {-# LINE 23680 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 23686 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 23692 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 23698 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 23704 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 13, column 5)+ _annOtpe =+ ({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}+ Left []+ {-# LINE 23741 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 23759 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 23765 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 23771 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 23777 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 23783 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _stmtOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 23789 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _stmtOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 23795 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 126, column 28)+ _valueOexpectedCast =+ ({-# LINE 126 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 23846 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 127, column 28)+ _valueOexpectedType =+ ({-# LINE 127 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 23852 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 128, column 28)+ _valueOodbcFunction =+ ({-# LINE 128 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 23858 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 13, column 5)+ _annOtpe =+ ({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}+ Left []+ {-# LINE 23864 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 26, column 5)+ _targetOtpe =+ ({-# LINE 26 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}+ Left []+ {-# LINE 23870 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 27, column 5)+ _valueOdownEnv =+ ({-# LINE 27 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}+ E.emptyEnvironment+ {-# LINE 23876 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 826, column 28)+ _valueOassignmentCastContext =+ ({-# LINE 826 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 23882 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Assignment _annIannotatedTree _targetIannotatedTree _valueIannotatedTree+ {-# LINE 23888 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Assignment _annIoriginalTree _targetIoriginalTree _valueIoriginalTree+ {-# LINE 23894 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 23900 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 23906 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 23912 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 23918 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 23924 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _targetOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 23930 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _targetOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 23936 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _targetOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 23942 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _valueOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 23948 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _valueOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 23954 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 208, column 24)+ _annOtpe =+ ({-# LINE 208 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 23998 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 209, column 24)+ _valueOdownEnv =+ ({-# LINE 209 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 24004 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 210, column 24)+ _valueOexpectedCast =+ ({-# LINE 210 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 24010 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 211, column 24)+ _valueOexpectedType =+ ({-# LINE 211 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 24016 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 840, column 24)+ _valueOassignmentCastContext =+ ({-# LINE 840 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 24022 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Return _annIannotatedTree _valueIannotatedTree+ {-# LINE 24028 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Return _annIoriginalTree _valueIoriginalTree+ {-# LINE 24034 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 24040 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 24046 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 24052 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 24058 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 24064 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _valueOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 24070 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _valueOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 24076 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 212, column 28)+ _annOtpe =+ ({-# LINE 212 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 24120 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 213, column 28)+ _exprOdownEnv =+ ({-# LINE 213 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 24126 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 214, column 28)+ _exprOexpectedCast =+ ({-# LINE 214 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 24132 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 215, column 28)+ _exprOexpectedType =+ ({-# LINE 215 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 24138 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 216, column 28)+ _exprOodbcFunction =+ ({-# LINE 216 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 24144 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 841, column 28)+ _exprOassignmentCastContext =+ ({-# LINE 841 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 24150 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ReturnNext _annIannotatedTree _exprIannotatedTree+ {-# LINE 24156 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ReturnNext _annIoriginalTree _exprIoriginalTree+ {-# LINE 24162 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 24168 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 24174 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 24180 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 24186 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 24192 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 24198 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 24204 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 217, column 29)+ _annOtpe =+ ({-# LINE 217 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 24245 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 218, column 29)+ _selOouterDownEnv =+ ({-# LINE 218 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 24251 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 22, column 5)+ _selOexpectedType =+ ({-# LINE 22 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}+ liftM (map snd) _selIupType+ {-# LINE 24257 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 842, column 29)+ _selOassignmentCastContext =+ ({-# LINE 842 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 24263 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ReturnQuery _annIannotatedTree _selIannotatedTree+ {-# LINE 24269 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ReturnQuery _annIoriginalTree _selIoriginalTree+ {-# LINE 24275 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 24281 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 24287 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 24293 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 24299 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 24305 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 24311 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 24317 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 204, column 23)+ _annOtpe =+ ({-# LINE 204 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 24361 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 205, column 23)+ _argsOdownEnv =+ ({-# LINE 205 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 24367 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 206, column 23)+ _argsOexpectedCast =+ ({-# LINE 206 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 24373 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 207, column 23)+ _argsOexpectedTypes =+ ({-# LINE 207 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ []+ {-# LINE 24379 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 839, column 23)+ _argsOassignmentCastContext =+ ({-# LINE 839 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 24385 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 24403 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 24409 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 24415 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 24421 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 24427 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 24433 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 24439 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 198, column 31)+ _annOtpe =+ ({-# LINE 198 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 24470 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ NullStatement _annIannotatedTree+ {-# LINE 24476 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ NullStatement _annIoriginalTree+ {-# LINE 24482 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 24488 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 24494 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 24500 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 24506 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 199, column 25)+ _annOtpe =+ ({-# LINE 199 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 24548 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 200, column 25)+ _exprOdownEnv =+ ({-# LINE 200 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 24554 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 201, column 25)+ _exprOexpectedCast =+ ({-# LINE 201 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 24560 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 202, column 25)+ _exprOexpectedType =+ ({-# LINE 202 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 24566 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 203, column 25)+ _exprOodbcFunction =+ ({-# LINE 203 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 24572 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 837, column 25)+ _exprOassignmentCastContext =+ ({-# LINE 837 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 24578 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Perform _annIannotatedTree _exprIannotatedTree+ {-# LINE 24584 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Perform _annIoriginalTree _exprIoriginalTree+ {-# LINE 24590 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 24596 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 24602 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 24608 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 24614 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 24620 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 24626 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 24632 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 179, column 25)+ _annOtpe =+ ({-# LINE 179 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 24676 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 180, column 25)+ _exprOdownEnv =+ ({-# LINE 180 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 24682 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 181, column 25)+ _exprOexpectedCast =+ ({-# LINE 181 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 24688 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 182, column 25)+ _exprOexpectedType =+ ({-# LINE 182 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 24694 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 183, column 25)+ _exprOodbcFunction =+ ({-# LINE 183 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 24700 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 832, column 25)+ _exprOassignmentCastContext =+ ({-# LINE 832 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 24706 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Execute _annIannotatedTree _exprIannotatedTree+ {-# LINE 24712 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Execute _annIoriginalTree _exprIoriginalTree+ {-# LINE 24718 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 24724 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 24730 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 24736 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 24742 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 24748 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 24754 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 24760 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 194, column 35)+ _annOtpe =+ ({-# LINE 194 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 24809 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 195, column 35)+ _selOouterDownEnv =+ ({-# LINE 195 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 24815 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 22, column 5)+ _selOexpectedType =+ ({-# LINE 22 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}+ liftM (map snd) _selIupType+ {-# LINE 24821 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 835, column 35)+ _selOassignmentCastContext =+ ({-# LINE 835 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 24827 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 24845 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 24851 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 24857 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 24863 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 24869 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 24875 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 24881 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 24887 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _stsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 24893 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _stsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 24899 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 185, column 37)+ _annOtpe =+ ({-# LINE 185 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 24966 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 186, column 37)+ _fromOdownEnv =+ ({-# LINE 186 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 24972 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 187, column 37)+ _fromOexpectedCast =+ ({-# LINE 187 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 24978 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 188, column 37)+ _fromOexpectedType =+ ({-# LINE 188 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 24984 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 189, column 37)+ _fromOodbcFunction =+ ({-# LINE 189 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 24990 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 190, column 37)+ _toOdownEnv =+ ({-# LINE 190 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 24996 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 191, column 37)+ _toOexpectedCast =+ ({-# LINE 191 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 25002 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 192, column 37)+ _toOexpectedType =+ ({-# LINE 192 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 25008 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 193, column 37)+ _toOodbcFunction =+ ({-# LINE 193 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 25014 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 833, column 37)+ _fromOassignmentCastContext =+ ({-# LINE 833 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 25020 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 834, column 37)+ _toOassignmentCastContext =+ ({-# LINE 834 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 25026 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 25044 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 25050 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25056 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25062 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 25068 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fromOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25074 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fromOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25080 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fromOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 25086 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _toOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25092 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _toOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25098 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _toOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 25104 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _stsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25110 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _stsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25116 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 196, column 31)+ _annOtpe =+ ({-# LINE 196 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 25158 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ LoopStatement _annIannotatedTree lb_ _stsIannotatedTree+ {-# LINE 25164 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ LoopStatement _annIoriginalTree lb_ _stsIoriginalTree+ {-# LINE 25170 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 25176 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 25182 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25188 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25194 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 25200 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _stsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25206 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _stsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25212 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 222, column 32)+ _annOtpe =+ ({-# LINE 222 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 25263 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 223, column 32)+ _exprOdownEnv =+ ({-# LINE 223 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 25269 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 224, column 32)+ _exprOexpectedCast =+ ({-# LINE 224 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 25275 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 225, column 32)+ _exprOexpectedType =+ ({-# LINE 225 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 25281 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 226, column 32)+ _exprOodbcFunction =+ ({-# LINE 226 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 25287 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 843, column 32)+ _exprOassignmentCastContext =+ ({-# LINE 843 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 25293 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 25311 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 25317 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25323 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25329 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 25335 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25341 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25347 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exprOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 25353 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _stsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25359 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _stsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25365 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 136, column 35)+ _annOtpe =+ ({-# LINE 136 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 25399 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ContinueStatement _annIannotatedTree lb_+ {-# LINE 25405 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ContinueStatement _annIoriginalTree lb_+ {-# LINE 25411 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 25417 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 25423 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25429 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25435 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 184, column 31)+ _annOtpe =+ ({-# LINE 184 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 25465 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ExitStatement _annIannotatedTree lb_+ {-# LINE 25471 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ExitStatement _annIoriginalTree lb_+ {-# LINE 25477 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 25483 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 25489 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25495 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25501 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 131, column 37)+ _annOtpe =+ ({-# LINE 131 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 25555 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 132, column 37)+ _valOdownEnv =+ ({-# LINE 132 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 25561 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 133, column 37)+ _valOexpectedCast =+ ({-# LINE 133 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 25567 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 134, column 37)+ _valOexpectedType =+ ({-# LINE 134 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 25573 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 135, column 37)+ _valOodbcFunction =+ ({-# LINE 135 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 25579 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 827, column 37)+ _valOassignmentCastContext =+ ({-# LINE 827 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 25585 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 25603 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 25609 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25615 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25621 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 25627 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _valOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25633 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _valOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25639 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _valOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 25645 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _casesOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25651 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _casesOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25657 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _casesOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 25663 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _elsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25669 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _elsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25675 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 130, column 31)+ _annOtpe =+ ({-# LINE 130 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 25722 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ CaseStatement _annIannotatedTree _casesIannotatedTree _elsIannotatedTree+ {-# LINE 25728 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ CaseStatement _annIoriginalTree _casesIoriginalTree _elsIoriginalTree+ {-# LINE 25734 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 25740 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 25746 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25752 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25758 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 25764 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _casesOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25770 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _casesOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25776 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _casesOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 25782 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _elsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25788 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _elsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25794 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 13, column 5)+ _annOtpe =+ ({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}+ Left []+ {-# LINE 25839 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ If _annIannotatedTree _casesIannotatedTree _elsIannotatedTree+ {-# LINE 25845 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ If _annIoriginalTree _casesIoriginalTree _elsIoriginalTree+ {-# LINE 25851 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 25857 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 25863 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25869 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25875 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 25881 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _casesOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25887 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _casesOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25893 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _casesOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 25899 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _elsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25905 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _elsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25911 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 129, column 23)+ _annOtpe =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 25957 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 25975 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 25981 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 25987 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 25993 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 25999 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _varsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 26005 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _varsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 26011 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _varsOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 26017 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _stsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 26023 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _stsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 26029 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AntiStatement string_+ {-# LINE 26056 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ AntiStatement string_+ {-# LINE 26062 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 26068 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 13, column 5)+ _annOtpe =+ ({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}+ Left []+ {-# LINE 26096 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ DeclareStatement _annIannotatedTree ds_+ {-# LINE 26102 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ DeclareStatement _annIoriginalTree ds_+ {-# LINE 26108 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 26114 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 26120 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 26126 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 26132 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 175, column 31)+ _argsOdownEnv =+ ({-# LINE 175 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 26179 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 176, column 31)+ _argsOexpectedCast =+ ({-# LINE 176 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 26185 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 177, column 31)+ _argsOexpectedTypes =+ ({-# LINE 177 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ []+ {-# LINE 26191 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 178, column 31)+ _spNameOtpe =+ ({-# LINE 178 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 26197 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 13, column 5)+ _annOtpe =+ ({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}+ Left []+ {-# LINE 26203 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 831, column 31)+ _argsOassignmentCastContext =+ ({-# LINE 831 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 26209 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ExecStatement _annIannotatedTree _spNameIannotatedTree _argsIannotatedTree+ {-# LINE 26215 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ExecStatement _annIoriginalTree _spNameIoriginalTree _argsIoriginalTree+ {-# LINE 26221 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 26227 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 26233 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 26239 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 26245 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 26251 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _spNameOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 26257 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _spNameOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 26263 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _spNameOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 26269 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argsOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 26275 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _argsOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 26281 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 146, column 33)+ _objOtpe =+ ({-# LINE 146 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 26323 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag"(line 13, column 5)+ _annOtpe =+ ({-# LINE 13 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Statements.ag" #-}+ Left []+ {-# LINE 26329 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 26347 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 26353 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 26359 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 26365 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 26371 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _objOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 26377 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _objOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 26383 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- StatementList -----------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : StatementList + originalTree : StatementList + alternatives:+ alternative Cons:+ child hd : Statement + child tl : StatementList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type StatementList = [Statement]+-- cata+_sem_StatementList :: StatementList ->+ T_StatementList+_sem_StatementList list =+ (Prelude.foldr _sem_StatementList_Cons _sem_StatementList_Nil (Prelude.map _sem_Statement list))+-- semantic domain+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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 26460 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 26466 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 26472 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 26478 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 26484 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 26490 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 26496 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 26502 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 26508 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 26532 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 26538 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 26544 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 26550 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- TablePartitionDef -------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : TablePartitionDef + originalTree : TablePartitionDef + alternatives:+ alternative TablePartitionDef:+ child ann : Annotation + child colname : {NameComponent}+ child interval : {Integer}+ child timeframe : {TablePartitionDateTimeInterval}+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+data TablePartitionDef = TablePartitionDef (Annotation) (NameComponent) (Integer) (TablePartitionDateTimeInterval)+ deriving ( Data,Eq,Show,Typeable)+-- cata+_sem_TablePartitionDef :: TablePartitionDef ->+ T_TablePartitionDef+_sem_TablePartitionDef (TablePartitionDef _ann _colname _interval _timeframe) =+ (_sem_TablePartitionDef_TablePartitionDef (_sem_Annotation _ann) _colname _interval _timeframe)+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 227, column 43)+ _annOtpe =+ ({-# LINE 227 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 26614 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 26632 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 26638 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 26644 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 26650 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- TableRef ----------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : TableRef + originalTree : TableRef + upEnv : Environment+ alternatives:+ alternative Tref:+ child ann : Annotation + child tbl : Name + visit 0:+ local eEnv : {Either [TypeError] Environment}+ local newAlias : _+ local annotatedTree : _+ local originalTree : _+ alternative FunTref:+ child ann : Annotation + child fn : ScalarExpr + visit 0:+ local eEnv : {Either [TypeError] Environment}+ local newAlias : _+ local annotatedTree : _+ local originalTree : _+ alternative SubTref:+ child ann : Annotation + child sel : QueryExpr + visit 0:+ local eEnv : {Either [TypeError] Environment}+ local newAlias : _+ local annotatedTree : _+ local originalTree : _+ alternative JoinTref:+ child ann : Annotation + child tref0 : TableRef + child nat : {Natural}+ child joinType : {JoinType}+ child joinHint : {Maybe JoinHint}+ child tref1 : TableRef + child onExpr : OnExpr + visit 0:+ local eEnv : {Either [TypeError] Environment}+ local newAlias : _+ local annotatedTree : _+ local originalTree : _+ alternative TableAlias:+ child ann : Annotation + child tb : {NameComponent}+ child tref : TableRef + visit 0:+ local eEnv : {Either [TypeError] Environment}+ local annotatedTree : _+ local originalTree : _+ alternative FullAlias:+ child ann : Annotation + child tb : {NameComponent}+ child cols : {[NameComponent]}+ child tref : TableRef + visit 0:+ local eEnv : {Either [TypeError] Environment}+ local annotatedTree : _+ local originalTree : _+ alternative TableRefParens:+ child ann : Annotation + child tref : TableRef + visit 0:+ local eEnv : {Either [TypeError] Environment}+ local newAlias : _+ local annotatedTree : _+ local originalTree : _+ alternative OdbcTableRef:+ child ann : Annotation + child tref : TableRef + visit 0:+ local eEnv : {Either [TypeError] Environment}+ local newAlias : _+ local annotatedTree : _+ local originalTree : _+-}+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)+-- cata+_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))+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 33, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 36, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 42, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 43, column 7)+ _tblOtpe =+ ({-# LINE 43 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}+ Left []+ {-# LINE 26831 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 75, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 150, column 7)+ _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" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Tref _annIannotatedTree _tblIannotatedTree+ {-# LINE 26862 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ Tref _annIoriginalTree _tblIoriginalTree+ {-# LINE 26868 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 26874 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 26880 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 26886 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 26892 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tblOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 26898 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tblOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 26904 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 228, column 24)+ _fnOdownEnv =+ ({-# LINE 228 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ E.emptyEnvironment+ {-# LINE 26950 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 229, column 24)+ _fnOexpectedCast =+ ({-# LINE 229 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 26956 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 230, column 24)+ _fnOexpectedType =+ ({-# LINE 230 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Nothing+ {-# LINE 26962 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 231, column 24)+ _fnOodbcFunction =+ ({-# LINE 231 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ False+ {-# LINE 26968 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 33, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 36, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 71, column 7)+ _eEnv =+ ({-# LINE 71 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}+ Left []+ {-# LINE 26987 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 75, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 135, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 844, column 24)+ _fnOassignmentCastContext =+ ({-# LINE 844 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 27021 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ FunTref _annIannotatedTree _fnIannotatedTree+ {-# LINE 27027 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ FunTref _annIoriginalTree _fnIoriginalTree+ {-# LINE 27033 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 27039 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 27045 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 27051 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 27057 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fnOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 27063 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _fnOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 27069 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 33, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 36, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 58, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 60, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 75, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 135, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 93, column 13)+ _selOouterDownEnv =+ ({-# LINE 93 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ Nothing+ {-# LINE 27166 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 845, column 24)+ _selOassignmentCastContext =+ ({-# LINE 845 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 27172 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SubTref _annIannotatedTree _selIannotatedTree+ {-# LINE 27178 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SubTref _annIoriginalTree _selIoriginalTree+ {-# LINE 27184 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 27190 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 27196 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 27202 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 27208 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 27214 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _selOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 27220 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 33, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 36, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 46, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 56, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 75, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 135, column 7)+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 27347 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 27353 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 27359 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 27365 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tref0Ocat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 27371 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tref0Oflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 27377 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tref0OimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 27383 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tref1Ocat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 27389 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tref1Oflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 27395 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tref1OimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 27401 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _onExprOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 27407 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _onExprOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 27413 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 33, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 36, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 68, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 124, column 7)+ _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" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ TableAlias _annIannotatedTree tb_ _trefIannotatedTree+ {-# LINE 27487 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ TableAlias _annIoriginalTree tb_ _trefIoriginalTree+ {-# LINE 27493 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 27499 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 27505 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 27511 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 27517 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _trefOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 27523 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _trefOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 27529 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 33, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 36, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 65, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 103, column 7)+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 27613 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 27619 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 27625 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 27631 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _trefOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 27637 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _trefOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 27643 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 33, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 36, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 63, column 7)+ _eEnv =+ ({-# LINE 63 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}+ Right $ _trefIupEnv+ {-# LINE 27696 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 75, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 135, column 7)+ _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" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ TableRefParens _annIannotatedTree _trefIannotatedTree+ {-# LINE 27730 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ TableRefParens _annIoriginalTree _trefIoriginalTree+ {-# LINE 27736 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 27742 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 27748 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 27754 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 27760 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _trefOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 27766 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _trefOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 27772 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 33, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 36, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 63, column 7)+ _eEnv =+ ({-# LINE 63 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}+ Right $ _trefIupEnv+ {-# LINE 27825 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 75, column 7)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 135, column 7)+ _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" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ OdbcTableRef _annIannotatedTree _trefIannotatedTree+ {-# LINE 27859 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ OdbcTableRef _annIoriginalTree _trefIoriginalTree+ {-# LINE 27865 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 27871 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 27877 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 27883 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 27889 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _trefOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 27895 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _trefOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 27901 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- TableRefList ------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : TableRefList + originalTree : TableRefList + upEnv : Environment+ alternatives:+ alternative Cons:+ child hd : TableRef + child tl : TableRefList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type TableRefList = [TableRef]+-- cata+_sem_TableRefList :: TableRefList ->+ T_TableRefList+_sem_TableRefList list =+ (Prelude.foldr _sem_TableRefList_Cons _sem_TableRefList_Nil (Prelude.map _sem_TableRef list))+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 20, column 7)+ _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" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 27992 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 27998 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 28004 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 28010 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 28016 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 28022 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 28028 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 28034 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 28040 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag"(line 18, column 9)+ _lhsOupEnv =+ ({-# LINE 18 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/TableRefs.ag" #-}+ E.emptyEnvironment+ {-# LINE 28065 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 28071 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 28077 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 28083 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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)))+-- TypeAttributeDef --------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : TypeAttributeDef + originalTree : TypeAttributeDef + alternatives:+ alternative TypeAttDef:+ child ann : Annotation + child name : {NameComponent}+ child typ : TypeName + visit 0:+ local annotatedTree : _+ local originalTree : _+-}+data TypeAttributeDef = TypeAttDef (Annotation) (NameComponent) (TypeName)+ deriving ( Data,Eq,Show,Typeable)+-- cata+_sem_TypeAttributeDef :: TypeAttributeDef ->+ T_TypeAttributeDef+_sem_TypeAttributeDef (TypeAttDef _ann _name _typ) =+ (_sem_TypeAttributeDef_TypeAttDef (_sem_Annotation _ann) _name (_sem_TypeName _typ))+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 232, column 35)+ _annOtpe =+ ({-# LINE 232 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 28157 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ TypeAttDef _annIannotatedTree name_ _typIannotatedTree+ {-# LINE 28163 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ TypeAttDef _annIoriginalTree name_ _typIoriginalTree+ {-# LINE 28169 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 28175 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 28181 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 28187 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 28193 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 28199 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _typOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 28205 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _typOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 28211 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- TypeAttributeDefList ----------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : TypeAttributeDefList + originalTree : TypeAttributeDefList + alternatives:+ alternative Cons:+ child hd : TypeAttributeDef + child tl : TypeAttributeDefList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type TypeAttributeDefList = [TypeAttributeDef]+-- cata+_sem_TypeAttributeDefList :: TypeAttributeDefList ->+ T_TypeAttributeDefList+_sem_TypeAttributeDefList list =+ (Prelude.foldr _sem_TypeAttributeDefList_Cons _sem_TypeAttributeDefList_Nil (Prelude.map _sem_TypeAttributeDef list))+-- semantic domain+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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 28288 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 28294 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 28300 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 28306 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 28312 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 28318 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 28324 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 28330 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 28336 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 28360 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 28366 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 28372 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 28378 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- TypeName ----------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : TypeName + namedType : Maybe TypeExtra+ originalTree : TypeName + alternatives:+ alternative SimpleTypeName:+ child ann : Annotation + child tn : Name + visit 0:+ local canType : {[NameComponent] -> [NameComponent]}+ local tpe : {Either [TypeError] TypeExtra}+ local annotatedTree : _+ local originalTree : _+ alternative PrecTypeName:+ child ann : Annotation + child tn : Name + child prec : {Integer}+ visit 0:+ local canType : {[NameComponent] -> [NameComponent]}+ local tpe : {Either [TypeError] TypeExtra}+ local annotatedTree : _+ local originalTree : _+ alternative Prec2TypeName:+ child ann : Annotation + child tn : Name + child prec : {Integer}+ child prec1 : {Integer}+ visit 0:+ local canType : {[NameComponent] -> [NameComponent]}+ local tpe : {Either [TypeError] TypeExtra}+ local annotatedTree : _+ local originalTree : _+ alternative ArrayTypeName:+ child ann : Annotation + child typ : TypeName + visit 0:+ local canType : {[NameComponent] -> [NameComponent]}+ local tpe : {Either [TypeError] TypeExtra}+ local annotatedTree : _+ local originalTree : _+ alternative SetOfTypeName:+ child ann : Annotation + child typ : TypeName + visit 0:+ local canType : {[NameComponent] -> [NameComponent]}+ local tpe : {Either [TypeError] TypeExtra}+ local annotatedTree : _+ local originalTree : _+-}+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)+-- cata+_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))+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 36, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 37, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 39, column 10)+ _tnOtpe =+ ({-# LINE 39 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}+ Left []+ {-# LINE 28509 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 51, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 63, column 10)+ _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" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SimpleTypeName _annIannotatedTree _tnIannotatedTree+ {-# LINE 28529 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SimpleTypeName _annIoriginalTree _tnIoriginalTree+ {-# LINE 28535 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 28541 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 28547 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 28553 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 28559 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 28565 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tnOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 28571 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tnOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 28577 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 36, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 37, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 39, column 10)+ _tnOtpe =+ ({-# LINE 39 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}+ Left []+ {-# LINE 28631 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 51, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 77, column 9)+ _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" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ PrecTypeName _annIannotatedTree _tnIannotatedTree prec_+ {-# LINE 28652 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ PrecTypeName _annIoriginalTree _tnIoriginalTree prec_+ {-# LINE 28658 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 28664 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 28670 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 28676 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 28682 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 28688 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tnOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 28694 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tnOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 28700 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 36, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 37, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 39, column 10)+ _tnOtpe =+ ({-# LINE 39 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag" #-}+ Left []+ {-# LINE 28755 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 51, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 80, column 9)+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 28790 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 28796 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 28802 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 28808 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 28814 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tnOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 28820 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tnOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 28826 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 36, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 37, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 51, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 71, column 9)+ _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" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ArrayTypeName _annIannotatedTree _typIannotatedTree+ {-# LINE 28894 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ArrayTypeName _annIoriginalTree _typIoriginalTree+ {-# LINE 28900 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 28906 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 28912 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 28918 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 28924 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 28930 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _typOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 28936 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _typOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 28942 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 36, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 37, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 51, column 10)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Misc.ag"(line 74, column 9)+ _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" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SetOfTypeName _annIannotatedTree _typIannotatedTree+ {-# LINE 29010 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ SetOfTypeName _annIoriginalTree _typIoriginalTree+ {-# LINE 29016 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 29022 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 29028 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 29034 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 29040 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 29046 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _typOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 29052 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _typOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 29058 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- TypeNameList ------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : TypeNameList + originalTree : TypeNameList + alternatives:+ alternative Cons:+ child hd : TypeName + child tl : TypeNameList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type TypeNameList = [TypeName]+-- cata+_sem_TypeNameList :: TypeNameList ->+ T_TypeNameList+_sem_TypeNameList list =+ (Prelude.foldr _sem_TypeNameList_Cons _sem_TypeNameList_Nil (Prelude.map _sem_TypeName list))+-- semantic domain+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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 29136 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 29142 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 29148 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 29154 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 29160 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 29166 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 29172 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 29178 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 29184 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 29208 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 29214 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 29220 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 29226 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- VarDef ------------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : VarDef + originalTree : VarDef + alternatives:+ alternative VarDef:+ child ann : Annotation + child name : {NameComponent}+ child typ : TypeName + child value : {Maybe ScalarExpr}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative ParamAlias:+ child ann : Annotation + child name : {NameComponent}+ child i : {Integer}+ visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative VarAlias:+ child ann : Annotation + child name : {NameComponent}+ child aliased : Name + visit 0:+ local annotatedTree : _+ local originalTree : _+-}+data VarDef = VarDef (Annotation) (NameComponent) (TypeName) ((Maybe ScalarExpr))+ | ParamAlias (Annotation) (NameComponent) (Integer)+ | VarAlias (Annotation) (NameComponent) (Name)+ deriving ( Data,Eq,Show,Typeable)+-- cata+_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))+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 236, column 21)+ _annOtpe =+ ({-# LINE 236 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 29316 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 29334 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 29340 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 29346 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 29352 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 29358 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _typOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 29364 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _typOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 29370 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 233, column 25)+ _annOtpe =+ ({-# LINE 233 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 29403 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ParamAlias _annIannotatedTree name_ i_+ {-# LINE 29409 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ ParamAlias _annIoriginalTree name_ i_+ {-# LINE 29415 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 29421 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 29427 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 29433 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 29439 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 234, column 23)+ _aliasedOtpe =+ ({-# LINE 234 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 29476 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag"(line 235, column 23)+ _annOtpe =+ ({-# LINE 235 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/Boilerplate.ag" #-}+ Left []+ {-# LINE 29482 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ VarAlias _annIannotatedTree name_ _aliasedIannotatedTree+ {-# LINE 29488 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ VarAlias _annIoriginalTree name_ _aliasedIoriginalTree+ {-# LINE 29494 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 29500 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 29506 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 29512 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 29518 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 29524 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _aliasedOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 29530 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _aliasedOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 29536 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- VarDefList --------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : VarDefList + originalTree : VarDefList + alternatives:+ alternative Cons:+ child hd : VarDef + child tl : VarDefList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type VarDefList = [VarDef]+-- cata+_sem_VarDefList :: VarDefList ->+ T_VarDefList+_sem_VarDefList list =+ (Prelude.foldr _sem_VarDefList_Cons _sem_VarDefList_Nil (Prelude.map _sem_VarDef list))+-- semantic domain+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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 29613 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 29619 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 29625 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 29631 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 29637 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 29643 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 29649 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 29655 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 29661 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 29685 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 29691 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 29697 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 29703 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ in ( _lhsOannotatedTree,_lhsOoriginalTree)))+-- WithQuery ---------------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ catExtIncomp : Either [TypeError] Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : WithQuery + colAliases : Maybe [NameComponent]+ name : Text+ originalTree : WithQuery + upType : Maybe [(Text,TypeExtra)]+ alternatives:+ alternative WithQuery:+ child ann : Annotation + child name : {NameComponent}+ child colAliases : {Maybe [NameComponent]}+ child ex : QueryExpr + visit 0:+ local tpee : {Either [TypeError] [(Text,TypeExtra)]}+ local tpe : {Either [TypeError] TypeExtra}+ local annotatedTree : _+ local originalTree : _+-}+data WithQuery = WithQuery (Annotation) (NameComponent) ((Maybe [NameComponent])) (QueryExpr)+ deriving ( Data,Eq,Show,Typeable)+-- cata+_sem_WithQuery :: WithQuery ->+ T_WithQuery+_sem_WithQuery (WithQuery _ann _name _colAliases _ex) =+ (_sem_WithQuery_WithQuery (_sem_Annotation _ann) _name _colAliases (_sem_QueryExpr _ex))+-- semantic domain+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)])+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 56, column 9)+ _lhsOname =+ ({-# LINE 56 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ ncStrT name_+ {-# LINE 29789 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 57, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 58, column 9)+ _lhsOcolAliases =+ ({-# LINE 58 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ colAliases_+ {-# LINE 29801 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 62, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 64, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 66, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 95, column 15)+ _exOouterDownEnv =+ ({-# LINE 95 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ Nothing+ {-# LINE 29825 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 101, column 9)+ _annOtpe =+ ({-# LINE 101 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ Left []+ {-# LINE 29831 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 102, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag"(line 846, column 27)+ _exOassignmentCastContext =+ ({-# LINE 846 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/ScalarExprs.ag" #-}+ False+ {-# LINE 29843 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _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" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 29861 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 29867 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 29873 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _annOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 29879 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 29885 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _exOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 29891 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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)))+-- WithQueryList -----------------------------------------------+{-+ visit 0:+ inherited attributes:+ cat : Catalog+ catExtIncomp : Either [TypeError] Catalog+ flags : TypeCheckFlags+ imCast : Maybe TypeExtra+ synthesized attributes:+ annotatedTree : WithQueryList + catExtComp : Either [TypeError] Catalog+ originalTree : WithQueryList + alternatives:+ alternative Cons:+ child hd : WithQuery + child tl : WithQueryList + visit 0:+ local annotatedTree : _+ local originalTree : _+ alternative Nil:+ visit 0:+ local annotatedTree : _+ local originalTree : _+-}+type WithQueryList = [WithQuery]+-- cata+_sem_WithQueryList :: WithQueryList ->+ T_WithQueryList+_sem_WithQueryList list =+ (Prelude.foldr _sem_WithQueryList_Cons _sem_WithQueryList_Nil (Prelude.map _sem_WithQuery list))+-- semantic domain+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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 34, column 9)+ _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" #-}+ )+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 47, column 9)+ _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" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIannotatedTree _tlIannotatedTree+ {-# LINE 30004 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ (:) _hdIoriginalTree _tlIoriginalTree+ {-# LINE 30010 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 30016 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOoriginalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _originalTree+ {-# LINE 30022 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (up)+ _lhsOcatExtComp =+ ({-# LINE 29 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _tlIcatExtComp+ {-# LINE 30028 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOcatExtIncomp =+ ({-# LINE 24 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _lhsIcatExtIncomp+ {-# LINE 30034 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 30040 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _hdOimCast =+ ({-# LINE 129 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIimCast+ {-# LINE 30046 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOcat =+ ({-# LINE 116 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIcat+ {-# LINE 30052 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _tlOflags =+ ({-# LINE 117 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _lhsIflags+ {-# LINE 30058 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- copy rule (down)+ _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+ -- "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag"(line 52, column 9)+ _lhsOcatExtComp =+ ({-# LINE 52 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/QueryExprs/QueryExprs.ag" #-}+ _lhsIcatExtIncomp+ {-# LINE 30084 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _annotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 30090 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _originalTree =+ ({-# LINE 119 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ []+ {-# LINE 30096 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _lhsOannotatedTree =+ ({-# LINE 118 "hssqlppp/src/Database/HsSqlPpp/Internals/TypeChecking/TypeChecking.ag" #-}+ _annotatedTree+ {-# LINE 30102 "hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.hs" #-}+ )+ -- self rule+ _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)))
src/Database/HsSqlPpp/Internals/Catalog/CatalogInternal.lhs view
@@ -152,6 +152,7 @@ paths are implemented. > getCatName2 :: [NameComponent] -> (CatName,CatName)+> -- todo: don't use error here > getCatName2 [] = error "empty name component in catalog code" > getCatName2 [a] = ("public",ncStrT a) > getCatName2 [a,b] = (ncStrT a, ncStrT b)
src/Database/HsSqlPpp/Internals/ParseInternal.lhs view
@@ -642,11 +642,11 @@ > tname <- name > choice [ > CreateTableAs p tname rep <$> (keyword "as" *> pQueryExpr)-> > ,do > (atts,cons) <- readAttsAndCons > pdata <- readPartition-> return $ CreateTable p tname atts cons pdata rep+> ts <- option [] tableOptions+> return $ CreateTable p tname atts cons pdata rep ts > ] > where > --parse the unordered list of attribute defs or constraints, for@@ -667,8 +667,8 @@ > <$> pos > <*> nameComponent > <*> typeName-> <*> tryOptionMaybe (keyword "default" *> expr) > <*> many rowConstraint+> <*> option [] tableOptions > where > rowConstraint = do > p <- pos@@ -677,6 +677,7 @@ > RowUniqueConstraint p cn <$ keyword "unique" > ,RowPrimaryKeyConstraint p cn <$ keyword "primary" <* keyword "key" > ,RowCheckConstraint p cn <$> (keyword "check" *> parens expr)+> ,DefaultConstraint p cn <$> (keyword "default" *> expr) > ,NullConstraint p cn <$ keyword "null" > ,NotNullConstraint p cn <$ (keyword "not" <* keyword "null") > ,IdentityConstraint p cn <$> (keyword "identity" *>@@ -690,6 +691,20 @@ > ] > +> tableOptions :: SParser [TableOption]+> tableOptions =+> keywords ["with","options"]+> *> parens (many1 tableOption)+> where+> tableOption = do+> onm <- many1 idString+> choice [symbol "=" *> choice+> [TableOptionStringVal onm <$> stringN+> ,TableOptionNameVal onm <$> many1 name+> ,TableOptionNumberVal onm <$> numString]+> ,pure $ TableOptionKeywords onm+> ]+ > tablePartition :: SParser TablePartitionDef > tablePartition = do > p <- pos@@ -980,13 +995,13 @@ > alterSchema :: SParser Statement > alterSchema = AlterSchema > <$> pos <* keyword "schema"-> <*> nameComponent+> <*> name > <*> operation > where > operation = choice [try changeOwner, renameSchema] > renameSchema = AlterSchemaName > <$> (pos <* keyword "rename" <* keyword "to")-> <*> nameComponent+> <*> name > changeOwner = AlterSchemaOwner > <$> (pos <* keyword "owner" <* keyword "to") > <*> name@@ -1009,7 +1024,7 @@ > createSchema :: SParser Statement > createSchema = CreateSchema > <$> pos <* keyword "schema"-> <*> nameComponent+> <*> name > <*> tryOptionMaybe (keyword "authorization" *> name) > dropSomething :: SParser Statement@@ -2479,6 +2494,10 @@ > where > lcase = map toLower +> keywords :: [Text] -> SParser ()+> keywords [] = pure ()+> keywords (x:xs) = keyword x *> keywords xs+ > > idString :: SParser String > idString = mytoken (\tok -> case tok of@@ -2547,6 +2566,7 @@ > extrStr :: ScalarExpr -> String > extrStr (StringLit _ s) = s+> -- todo: use fail or something? > extrStr x = > error $ "internal error: extrStr not supported for this type " ++ show x
src/Database/HsSqlPpp/Internals/PrettyInternal.lhs view
@@ -16,6 +16,7 @@ > ) > where >+> import Prelude hiding ((<>)) > import Text.PrettyPrint > import Data.Maybe >@@ -149,7 +150,7 @@ > > -- ddl >-> statement flg se ca (CreateTable ann tbl atts cns partition rep) =+> statement flg se ca (CreateTable ann tbl atts cns partition rep opts) = > annot ca ann <+> > text ("create " ++ (case rep of > Replace -> "or replace "@@ -160,6 +161,7 @@ > $+$ case (diSyntaxFlavour $ ppDialect flg) of > SqlServer -> empty > _ -> (tablePartition partition)+> $+$ tableOpts flg opts > <> statementEnd se > > statement flg se ca (AlterTable ann tnm op) =@@ -312,7 +314,7 @@ > text "create database" <+> name nm <> statementEnd se > statement _flg se ca (CreateSchema ann nm musr) =-> annot ca ann <+> text "create schema" <+> nmc nm +> annot ca ann <+> text "create schema" <+> name nm > <+> case musr of > Nothing -> empty > Just u -> text "authorization" <+> name u@@ -327,11 +329,11 @@ > statement _flg se ca (AlterSchema ann snm op) = > annot ca ann <+>-> text "alter schema" <+> nmc snm+> text "alter schema" <+> name snm > <+> alterOperation op <> statementEnd se > where > alterOperation (AlterSchemaName _ nsnm) = -> text "rename to" <+> nmc nsnm+> text "rename to" <+> name nsnm > alterOperation (AlterSchemaOwner _ nunm) = > text "owner to" <+> name nunm @@ -497,6 +499,7 @@ > annot ca ann <+> > text "perform" <+> scalExpr flg f <> statementEnd se > statement _ _ _ (Perform _ x) =+> -- todo: don't use error > error $ "internal error: statement not supported for " ++ show x > > statement _flg se ca (CopyFrom ann tb cols src opts) =@@ -723,6 +726,7 @@ > parens (queryExpr flg True True Nothing sub) > tref flg (FunTref _ f@(App {})) = scalExpr flg f > tref _flg (FunTref _ x) =+> -- todo: don't use error > error $ "internal error: node not supported in function tref: " > ++ show x > tref flg (TableRefParens _ t) = parens (tref flg t)@@ -870,11 +874,13 @@ > -- _ -> "unknown type " ++ (show x) > attrDef :: PrettyFlags -> AttributeDef -> Doc-> attrDef flg (AttributeDef _ n t def cons) =+> attrDef flg (AttributeDef _ n t cons opts) = > nmc n <+> typeName t-> <+> maybePrint (\e -> text "default" <+> scalExpr flg e) def > <+> hsep (map cCons cons)+> <+> tableOpts flg opts > where+> cCons (DefaultConstraint _ cn e) =+> mname cn <+> text "default" <+> scalExpr flg e > cCons (NullConstraint _ cn) = > mname cn <+> text "null" > cCons (NotNullConstraint _ cn) =@@ -890,8 +896,20 @@ > <+> maybePrint (parens . nmc) att > <+> text "on delete" <+> cascade ondel > <+> text "on update" <+> cascade onupd-> cCons (IdentityConstraint _ cn si) = +> cCons (IdentityConstraint _ cn si) = > mname cn <+> text "identity" <> text (maybe "" show si)++> tableOpts :: PrettyFlags -> [TableOption] -> Doc+> tableOpts _ [] = empty+> tableOpts flg as = text "with" <+> text "options"+> <+> parens (nest 4 $ sep $ map to as)+> where+> to (TableOptionKeywords ks) = hsep (map text ks)+> to (TableOptionStringVal nm v) = tov nm [scalExpr flg (StringLit emptyAnnotation v)]+> to (TableOptionNameVal nm v) = tov nm $ map name v+> to (TableOptionNumberVal nm v) = tov nm [text v]+> tov nm x = hsep (map text nm ++ [text "="] ++ x)+ > -- plpgsql > > nestedStatements :: PrettyFlags -> (Annotation -> String) -> [Statement] -> Doc@@ -954,7 +972,9 @@ > scalExpr _ (AntiScalarExpr s) = text $ "$(" ++ s ++ ")" > scalExpr _ (Star _) = text "*" > scalExpr _ (QStar _ i) = nmc i <> text ".*"-> scalExpr _ (Identifier _ (AntiName _)) = error "Antiname component"+> scalExpr _ (Identifier _ (AntiName _)) =+> -- todo: don't use error+> error "Antiname component" > scalExpr _flg (Identifier _a (Name _ is)) = > hcat (punctuate (text ".") (map nmc is))
src/Database/HsSqlPpp/Syntax.lhs view
@@ -6,7 +6,7 @@ > the seemingly pointless type synonyms below, they are an > artefact of using UUAGC. You can see labels for the fields by > looking at the ag source here:-> <https://github.com/JakeWheat/hssqlppp/blob/master/src/Database/HsSqlPpp/Internals/AstInternal.ag>+> <https://raw.githubusercontent.com/JakeWheat/hssqlppp/master/hssqlppp/src/Database/HsSqlPpp/Internals/AstInternal.ag> > -} > > module Database.HsSqlPpp.Syntax@@ -52,6 +52,7 @@ > ,SetClause(..) > -- ** ddl components > ,AttributeDef(..)+> ,TableOption(..) > ,RowConstraint(..) > ,Constraint(..) > ,TablePartitionDef(..)
tests/Database/HsSqlPpp/Tests/Parsing/CreateTable.lhs view
@@ -1,34 +1,37 @@ > {-# LANGUAGE OverloadedStrings #-}-> module Database.HsSqlPpp.Tests.Parsing.CreateTable (createTable) where+> module Database.HsSqlPpp.Tests.Parsing.CreateTable (createTableTests) where > > import Database.HsSqlPpp.Syntax > import Database.HsSqlPpp.Tests.Parsing.Utils > import Database.HsSqlPpp.Tests.TestTypes -> createTable:: Item-> createTable =+> createTableTests :: Item+> createTableTests = > Group "create table" [ > Group "simple tables" [ > s "create table test (\n\ > \ fielda text,\n\ > \ fieldb int\n\ > \);"-> [CreateTable ea-> (name "test")-> [att "fielda" "text"-> ,att "fieldb" "int"-> ]-> []-> Nothing-> NoReplace]+> [(createTable "test")+> [att "fielda" "text"+> ,att "fieldb" "int"]+> ] > ,s "create table tbl (\n\ > \ fld boolean default false);"-> [CreateTable ea (name "tbl")+> [createTable "tbl" > [AttributeDef ea (Nmc "fld") (st "boolean")-> (Just lFalse) []][] Nothing NoReplace]+> [DefaultConstraint ea "" lFalse] []]] >+> ,s "create table tbl (\n\+> \ fld boolean not null default false);"+> [createTable "tbl"+> [AttributeDef ea (Nmc "fld") (st "boolean")+> [NotNullConstraint ea "",+> DefaultConstraint ea "" lFalse] []]]+> > ,s "create table tbl as select 1;" > [CreateTableAs ea (name "tbl") NoReplace > (makeSelect@@ -36,24 +39,23 @@ > > ,s "create table tbl (\n\ > \ fld int not null identity(1,1));"-> [CreateTable ea (name "tbl")+> [createTable "tbl" > [AttributeDef ea (Nmc "fld") (st "int")-> Nothing [NotNullConstraint ea "", IdentityConstraint ea "" (Just(1,1))]][] Nothing-> NoReplace]->+> [NotNullConstraint ea "",+> IdentityConstraint ea "" (Just(1,1))] []]] > ,s "create table tbl (\n\ > \ fld int not null identity(-1,-1));"-> [CreateTable ea (name "tbl")+> [createTable "tbl" > [AttributeDef ea (Nmc "fld") (st "int")-> Nothing [NotNullConstraint ea "", IdentityConstraint ea "" (Just(-1,-1))]][] Nothing-> NoReplace]+> [NotNullConstraint ea "",+> IdentityConstraint ea "" (Just(-1,-1))] []]] > > ,s "create table tbl (\n\ > \ fld int not null identity);"-> [CreateTable ea (name "tbl")+> [createTable "tbl" > [AttributeDef ea (Nmc "fld") (st "int")-> Nothing [NotNullConstraint ea "", IdentityConstraint ea "" Nothing]][] Nothing-> NoReplace]+> [NotNullConstraint ea "",+> IdentityConstraint ea "" Nothing] []]] > > ,s "alter table a rename to b;" > [AlterTable ea (name "a") $ RenameTable ea (name "b")]@@ -96,15 +98,13 @@ > s "create table t1 (\n\ > \ a text null\n\ > \);"-> [CreateTable ea (name "t1") [AttributeDef ea (Nmc "a") (st "text")-> Nothing [NullConstraint ea ""]]-> [] Nothing NoReplace]+> [createTable "t1" [AttributeDef ea (Nmc "a") (st "text")+> [NullConstraint ea ""] []]] > ,s "create table t1 (\n\ > \ a text not null\n\ > \);"-> [CreateTable ea (name "t1") [AttributeDef ea (Nmc "a") (st "text")-> Nothing [NotNullConstraint ea ""]]-> [] Nothing NoReplace]+> [createTable "t1" [AttributeDef ea (Nmc "a") (st "text")+> [NotNullConstraint ea ""] []]] > ] > > ,Group "unique" [@@ -113,9 +113,10 @@ > \ y int,\n\ > \ unique (x,y)\n\ > \);"-> [CreateTable ea (name "t1") [att "x" "int"-> ,att "y" "int"]-> [UniqueConstraint ea "" [Nmc "x",Nmc "y"]] Nothing NoReplace]+> [createTable "t1" [att "x" "int"+> ,att "y" "int"]+> `setTableCons`+> [UniqueConstraint ea "" [Nmc "x",Nmc "y"]]] test arbitrary ordering @@ -124,9 +125,10 @@ > \ unique (x),\n\ > \ y int\n\ > \);"-> [CreateTable ea (name "t1") [att "x" "int"-> ,att "y" "int"]-> [UniqueConstraint ea "" [Nmc "x"]] Nothing NoReplace]+> [createTable "t1" [att "x" "int"+> ,att "y" "int"]+> `setTableCons`+> [UniqueConstraint ea "" [Nmc "x"]]] test partitioning parser@@ -139,10 +141,10 @@ > \ (\n\ > \ every 5 months\n\ > \);"-> [CreateTable ea (name "t1") [att "x" "int"-> ,att "ts" "datetime"]-> []-> (Just (TablePartitionDef ea (Nmc "ts") 5 Month)) NoReplace]+> [createTable "t1" [att "x" "int"+> ,att "ts" "datetime"]+> `setTablePartition`+> (Just (TablePartitionDef ea (Nmc "ts") 5 Month))] unique row@@ -150,154 +152,154 @@ > ,s "create table t1 (\n\ > \ x int unique\n\ > \);"-> [CreateTable ea (name "t1")-> [AttributeDef ea (Nmc "x") (st "int") Nothing-> [RowUniqueConstraint ea ""]][] Nothing NoReplace]+> [createTable "t1"+> [AttributeDef ea (Nmc "x") (st "int")+> [RowUniqueConstraint ea ""] []]] > > ,s "create table t1 (\n\ > \ x int unique not null\n\ > \);"-> [CreateTable ea (name "t1") [AttributeDef ea (Nmc "x") (st "int") Nothing-> [RowUniqueConstraint ea ""-> ,NotNullConstraint ea ""]][] Nothing NoReplace]+> [createTable "t1" [AttributeDef ea (Nmc "x") (st "int")+> [RowUniqueConstraint ea ""+> ,NotNullConstraint ea ""] []]] quick sanity check > ,s "create table t1 (\n\ > \ x int not null unique\n\ > \);"-> [CreateTable ea (name "t1") [AttributeDef ea (Nmc "x") (st "int") Nothing-> [NotNullConstraint ea ""-> ,RowUniqueConstraint ea ""]][] Nothing NoReplace]+> [createTable "t1" [AttributeDef ea (Nmc "x") (st "int")+> [NotNullConstraint ea ""+> ,RowUniqueConstraint ea ""] []]] > ] > > ,Group "primary key" [ > s "create table t1 (\n\ > \ x int primary key\n\ > \);"-> [CreateTable ea (name "t1") [AttributeDef ea (Nmc "x") (st "int") Nothing-> [RowPrimaryKeyConstraint ea ""]][] Nothing NoReplace]+> [createTable "t1" [AttributeDef ea (Nmc "x") (st "int")+> [RowPrimaryKeyConstraint ea ""] []]] > > ,s "create table t1 (\n\ > \ x int,\n\ > \ y int,\n\ > \ primary key (x,y)\n\ > \);"-> [CreateTable ea (name "t1") [att "x" "int"+> [createTable "t1" [att "x" "int" > ,att "y" "int"]-> [PrimaryKeyConstraint ea "" [Nmc "x", Nmc "y"]] Nothing NoReplace]+> `setTableCons`+> [PrimaryKeyConstraint ea "" [Nmc "x", Nmc "y"]]] > ] > > ,Group "check" [ > s "create table t (\n\ > \f text check (f in('a', 'b'))\n\ > \);"-> [CreateTable ea (name "t")-> [AttributeDef ea (Nmc "f") (st "text") Nothing+> [createTable "t"+> [AttributeDef ea (Nmc "f") (st "text") > [RowCheckConstraint ea "" (InPredicate ea-> (ei "f") True-> (InList ea [stringQ "a", stringQ "b"]))]] [] Nothing NoReplace]+> (ei "f") True+> (InList ea [stringQ "a", stringQ "b"]))] []]] > > ,s "create table t1 (\n\ > \ x int,\n\ > \ y int,\n\ > \ check (x>y)\n\ > \);"-> [CreateTable ea (name "t1") [att "x" "int"-> ,att "y" "int"]-> [CheckConstraint ea "" (binop ">" (ei "x") (ei "y"))] Nothing NoReplace]+> [createTable "t1" [att "x" "int"+> ,att "y" "int"]+> `setTableCons`+> [CheckConstraint ea "" (binop ">" (ei "x") (ei "y"))]] > ] > > ,Group "misc" [ > s "create table t (\n\ > \f text not null unique check (f in('a', 'b'))\n\ > \);"-> [CreateTable ea (name "t")-> [AttributeDef ea (Nmc "f") (st "text") Nothing+> [createTable "t"+> [AttributeDef ea (Nmc "f") (st "text") > [NotNullConstraint ea "" > ,RowUniqueConstraint ea "" > ,RowCheckConstraint ea "" (InPredicate ea > (ei "f") True > (InList ea [stringQ "a"-> ,stringQ "b"]))]] [] Nothing NoReplace]+> ,stringQ "b"]))] []]] > ] > ,Group "references" [ > s "create table t1 (\n\ > \ x int references t2\n\ > \);"-> [CreateTable ea (name "t1") [AttributeDef ea (Nmc "x") (st "int") Nothing+> [createTable "t1" [AttributeDef ea (Nmc "x") (st "int") > [RowReferenceConstraint ea "" (name "t2") Nothing-> Restrict Restrict]][] Nothing NoReplace]+> Restrict Restrict] []]] > > ,s "create table t1 (\n\ > \ x int references t2(y)\n\ > \);"-> [CreateTable ea (name "t1") [AttributeDef ea (Nmc "x") (st "int") Nothing+> [createTable "t1" [AttributeDef ea (Nmc "x") (st "int") > [RowReferenceConstraint ea "" (name "t2") (Just $ Nmc "y")-> Restrict Restrict]][] Nothing NoReplace]+> Restrict Restrict] []]] > ,s "create table t1 (\n\ > \ x int,\n\ > \ y int,\n\ > \ foreign key (x,y) references t2\n\ > \);"-> [CreateTable ea (name "t1") [att "x" "int"-> ,att "y" "int"]+> [createTable "t1" [att "x" "int"+> ,att "y" "int"]+> `setTableCons` > [ReferenceConstraint ea "" [Nmc "x", Nmc "y"] (name "t2") []-> Restrict Restrict] Nothing NoReplace]+> Restrict Restrict]] > > ,s "create table t1 (\n\ > \ x int,\n\ > \ y int,\n\ > \ foreign key (x,y) references t2(z,w)\n\ > \);"-> [CreateTable ea (name "t1") [att "x" "int"+> [createTable "t1" [att "x" "int" > ,att "y" "int"]+> `setTableCons` > [ReferenceConstraint ea "" [Nmc "x", Nmc "y"] (name "t2") [Nmc "z", Nmc "w"]-> Restrict Restrict] Nothing NoReplace]+> Restrict Restrict]] > > ,s "create table t1 (\n\ > \ x int references t2 on delete cascade\n\ > \);"-> [CreateTable ea (name "t1") [AttributeDef ea (Nmc "x") (st "int") Nothing+> [createTable "t1" [AttributeDef ea (Nmc "x") (st "int") > [RowReferenceConstraint ea "" (name "t2") Nothing-> Cascade Restrict]][] Nothing NoReplace]+> Cascade Restrict] []]] > > ,s "create table t1 (\n\ > \ x int references t2 on update cascade\n\ > \);"-> [CreateTable ea (name "t1") [AttributeDef ea (Nmc "x") (st "int") Nothing+> [createTable "t1" [AttributeDef ea (Nmc "x") (st "int") > [RowReferenceConstraint ea "" (name "t2") Nothing-> Restrict Cascade]][] Nothing NoReplace]+> Restrict Cascade] []]] > > ,s "create table t1 (\n\ > \ x int references t2 on delete cascade on update cascade\n\ > \);"-> [CreateTable ea (name "t1") [AttributeDef ea (Nmc "x") (st "int") Nothing-> [RowReferenceConstraint ea "" (name "t2") Nothing-> Cascade Cascade]][] Nothing NoReplace]+> [createTable "t1" [AttributeDef ea (Nmc "x") (st "int")+> [RowReferenceConstraint ea "" (name "t2") Nothing+> Cascade Cascade] []]] > > ,s "create table t1 (\n\ > \ x int,\n\ > \ y int,\n\ > \ foreign key (x,y) references t2 on update cascade on delete cascade\n\ > \);"-> [CreateTable ea (name "t1") [att "x" "int"-> ,att "y" "int"]+> [createTable "t1" [att "x" "int"+> ,att "y" "int"]+> `setTableCons` > [ReferenceConstraint ea "" [Nmc "x", Nmc "y"] (name "t2") []-> Cascade Cascade] Nothing NoReplace]+> Cascade Cascade]] > ,s "create or replace table test (\n\ > \ fielda text,\n\ > \ fieldb int\n\ > \);"-> [CreateTable ea-> (name "test")-> [att "fielda" "text"-> ,att "fieldb" "int"-> ]-> []-> Nothing-> Replace]+> [createTable "test" [att "fielda" "text"+> ,att "fieldb" "int"]+> `setTableReplace` Replace] > > ,s "create or replace table tbl as select 1;" > [CreateTableAs ea (name "tbl") Replace@@ -309,12 +311,53 @@ > \ y int,\n\ > \ foreign key (x,y) references t2(z,w)\n\ > \);"-> [CreateTable ea (name "t1") [att "x" "int"+> [createTable "t1" [att "x" "int" > ,att "y" "int"]+> `setTableCons` > [ReferenceConstraint ea "" [Nmc "x", Nmc "y"] (name "t2") [Nmc "z", Nmc "w"]-> Restrict Restrict] Nothing Replace]+> Restrict Restrict]+> `setTableReplace` Replace] > ] > ]++> ,Group "options"+> [s "create table t (\n\+> \ a int with options(test)\n\+> \);"+> [createTable "t" [att "a" "int"+> `setAttOpts` [TableOptionKeywords ["test"]]]]+> ,s "create table t (\n\+> \ a int with options(test two)\n\+> \);"+> [createTable "t" [att "a" "int"+> `setAttOpts` [TableOptionKeywords ["test", "two"]]]]+> ,s "create table t (\n\+> \ a int\n\+> \) with options(test two);"+> [createTable "t" [att "a" "int"]+> `setTableOpts` [TableOptionKeywords ["test", "two"]]]+> ,s "create table t (\n\+> \ a int\n\+> \) with options(yes='no');"+> [createTable "t" [att "a" "int"]+> `setTableOpts` [TableOptionStringVal ["yes"] "no"]]+> ,s "create table t (\n\+> \ a int\n\+> \) with options(yes=a.b);"+> [createTable "t" [att "a" "int"]+> `setTableOpts` [TableOptionNameVal ["yes"] [Name ea [Nmc "a", Nmc "b"]]]]+> ,s "create table t (\n\+> \ a int\n\+> \) with options(yes=5.5);"+> [createTable "t" [att "a" "int"]+> `setTableOpts` [TableOptionNumberVal ["yes"] "5.5"]]+> {-,s "create table t (\n\+> \ a int\n\+> \) with options(yes=5M);" -- TODO+> [createTable "t" [att "a" "int"]+> `setTableOpts` [TableOptionNumberVal ["yes"] "5.5"]]-}+> ]+ > ] > where
tests/Database/HsSqlPpp/Tests/Parsing/ParserTests.lhs view
@@ -64,7 +64,7 @@ > ,tableRefs > ,joins > ,dml-> ,Group "ddl" [createTable+> ,Group "ddl" [createTableTests > ,miscDdl > ,functionsDdl] > ,schemas
tests/Database/HsSqlPpp/Tests/Parsing/Schemas.lhs view
@@ -14,11 +14,11 @@ > Group "ddl - schemas" [ > s "create schema test;" > [CreateSchema ea-> (Nmc "test")+> (name "test") > Nothing] > ,s "create schema test authorization owner;" > [CreateSchema ea-> (Nmc "test")+> (name "test") > (Just $ name "owner") > ] > ,Group "drop schema" [ @@ -32,9 +32,9 @@ > ,Group "alter schema" [ > s "alter schema test rename to test2;"-> [AlterSchema ea (Nmc "test") $ AlterSchemaName ea (Nmc "test2")]+> [AlterSchema ea (name "test") $ AlterSchemaName ea (name "test2")] > ,s "alter schema test owner to new_owner;"-> [AlterSchema ea (Nmc "test") $ AlterSchemaOwner ea (name "new_owner")]+> [AlterSchema ea (name "test") $ AlterSchemaOwner ea (name "new_owner")] > ] > ] > ,Group "ddl - schema-explicit tables" [@@ -49,7 +49,7 @@ > ] > [] > Nothing-> NoReplace]+> NoReplace []] > ,s "alter table s.a rename to b;" > [AlterTable ea (nameWithSchema "s" "a") $ RenameTable ea (name "b")] > ,s "drop table s.t;"
tests/Database/HsSqlPpp/Tests/Parsing/SqlServer.lhs view
@@ -80,7 +80,7 @@ > \ [fieldname] [typename])" > $ [CreateTable ea (Name ea [QNmc "schema",QNmc "table_name"]) > [AttributeDef ea (QNmc "fieldname")-> (SimpleTypeName ea (Name ea [QNmc "typename"])) Nothing []] [] Nothing NoReplace]+> (SimpleTypeName ea (Name ea [QNmc "typename"])) [] []] [] Nothing NoReplace []] > ,s "select a from t -- no semi colon\n\ > \select b from t"
tests/Database/HsSqlPpp/Tests/Parsing/Utils.lhs view
@@ -33,7 +33,7 @@ > > > att :: Text -> Text -> AttributeDef-> att n t = AttributeDef ea (Nmc $ T.unpack n) (SimpleTypeName ea $ name t) Nothing []+> att n t = AttributeDef ea (Nmc $ T.unpack n) (SimpleTypeName ea $ name t) [] [] > ea :: Annotation > ea = emptyAnnotation@@ -135,3 +135,29 @@ > tfp :: TableRef -> TableRef > tfp = TableRefParens ea++new create table stuff++> createTable :: Text -> [AttributeDef] -> Statement+> createTable nm atts = CreateTable ea (name nm) atts [] Nothing NoReplace []++> setTableCons :: Statement -> [Constraint] -> Statement+> setTableCons (CreateTable a nm atts _ p r os) cs = CreateTable a nm atts cs p r os+> setTableCons x _ = error $ "setTableCons called on wrong ctor " ++ show x++> setTablePartition :: Statement -> Maybe TablePartitionDef -> Statement+> setTablePartition (CreateTable a nm atts cs _ r os) p = CreateTable a nm atts cs p r os+> setTablePartition x _ = error $ "setTablePartition called on wrong ctor " ++ show x++> setTableReplace :: Statement -> Replace -> Statement+> setTableReplace (CreateTable a nm atts cs p _ os) r = CreateTable a nm atts cs p r os+> setTableReplace x _ = error $ "setTableReplace called on wrong ctor " ++ show x++> setAttOpts :: AttributeDef -> [TableOption] -> AttributeDef+> setAttOpts (AttributeDef a nm ty cs _) opts = AttributeDef a nm ty cs opts++> setTableOpts :: Statement -> [TableOption] -> Statement+> setTableOpts (CreateTable a nm atts cs p r _) opts = CreateTable a nm atts cs p r opts+> setTableOpts x _ = error $ "settableopts called on wrong ctor " ++ show x++ > setAttributeOpts :: Statement ->